v0.15.0
Loading...
Searching...
No Matches
Public Member Functions | Private Attributes | List of all members
ThermoElasticOps::OpStressThermal Struct Reference

#include "users_modules/multifield-thermoplasticity-private/tutorials/adv-2/src/ThermoElasticOps.hpp"

Inheritance diagram for ThermoElasticOps::OpStressThermal:
[legend]
Collaboration diagram for ThermoElasticOps::OpStressThermal:
[legend]

Public Member Functions

DEPRECATED OpStressThermal (const std::string field_name, boost::shared_ptr< MatrixDouble > strain_ptr, boost::shared_ptr< VectorDouble > temp_ptr, boost::shared_ptr< MatrixDouble > m_D_ptr, boost::shared_ptr< VectorDouble > coeff_expansion_ptr, boost::shared_ptr< MatrixDouble > stress_ptr)
 
 OpStressThermal (boost::shared_ptr< MatrixDouble > strain_ptr, boost::shared_ptr< VectorDouble > temp_ptr, boost::shared_ptr< MatrixDouble > m_D_ptr, boost::shared_ptr< VectorDouble > coeff_expansion_ptr, boost::shared_ptr< double > ref_temp_ptr, boost::shared_ptr< MatrixDouble > stress_ptr)
 
MoFEMErrorCode doWork (int side, EntityType type, EntData &data)
 [Calculate stress]
 
DEPRECATED OpStressThermal (const std::string field_name, boost::shared_ptr< MatrixDouble > strain_ptr, boost::shared_ptr< VectorDouble > temp_ptr, boost::shared_ptr< MatrixDouble > m_D_ptr, boost::shared_ptr< VectorDouble > coeff_expansion_ptr, boost::shared_ptr< MatrixDouble > stress_ptr)
 
 OpStressThermal (boost::shared_ptr< MatrixDouble > strain_ptr, boost::shared_ptr< VectorDouble > temp_ptr, boost::shared_ptr< MatrixDouble > m_D_ptr, boost::shared_ptr< VectorDouble > coeff_expansion_ptr, boost::shared_ptr< double > ref_temp_ptr, boost::shared_ptr< MatrixDouble > stress_ptr)
 
MoFEMErrorCode doWork (int side, EntityType type, EntData &data)
 

Private Attributes

boost::shared_ptr< MatrixDouble > strainPtr
 
boost::shared_ptr< VectorDouble > tempPtr
 
boost::shared_ptr< MatrixDouble > mDPtr
 
boost::shared_ptr< VectorDouble > coeffExpansionPtr
 
boost::shared_ptr< doublerefTempPtr
 
boost::shared_ptr< MatrixDouble > stressPtr
 

Detailed Description

Definition at line 23 of file ThermoElasticOps.hpp.

Constructor & Destructor Documentation

◆ OpStressThermal() [1/4]

ThermoElasticOps::OpStressThermal::OpStressThermal ( const std::string  field_name,
boost::shared_ptr< MatrixDouble >  strain_ptr,
boost::shared_ptr< VectorDouble >  temp_ptr,
boost::shared_ptr< MatrixDouble >  m_D_ptr,
boost::shared_ptr< VectorDouble >  coeff_expansion_ptr,
boost::shared_ptr< MatrixDouble >  stress_ptr 
)
Deprecated:
do not use this constructor
Examples
ThermoElasticOps.hpp, and mofem/tutorials/adv-2/src/ThermoElasticOps.hpp.

Definition at line 117 of file ThermoElasticOps.hpp.

119 :
120 double defaultHeatConductivity;
121 double defaultHeatCapacity;
122 double defaultHeatConductivityScale;
123 double defaultHeatCapacityScale;
124 ScalerFunTwoArgs thermalConductivityScaling;
125 ScalerFunTwoArgs heatCapacityScaling;
126 struct BlockData {
127 double conductivity;
128 double capacity;
boost::function< double(const double, const double)> ScalerFunTwoArgs

◆ OpStressThermal() [2/4]

ThermoElasticOps::OpStressThermal::OpStressThermal ( boost::shared_ptr< MatrixDouble >  strain_ptr,
boost::shared_ptr< VectorDouble >  temp_ptr,
boost::shared_ptr< MatrixDouble >  m_D_ptr,
boost::shared_ptr< VectorDouble >  coeff_expansion_ptr,
boost::shared_ptr< double ref_temp_ptr,
boost::shared_ptr< MatrixDouble >  stress_ptr 
)

Definition at line 130 of file ThermoElasticOps.hpp.

137 {
139
#define MoFEMFunctionBegin
First executable line of each MoFEM function, used for error handling. Final line of MoFEM functions ...

◆ OpStressThermal() [3/4]

DEPRECATED ThermoElasticOps::OpStressThermal::OpStressThermal ( const std::string  field_name,
boost::shared_ptr< MatrixDouble >  strain_ptr,
boost::shared_ptr< VectorDouble >  temp_ptr,
boost::shared_ptr< MatrixDouble >  m_D_ptr,
boost::shared_ptr< VectorDouble >  coeff_expansion_ptr,
boost::shared_ptr< MatrixDouble >  stress_ptr 
)
Deprecated:
do not use this constructor

◆ OpStressThermal() [4/4]

ThermoElasticOps::OpStressThermal::OpStressThermal ( boost::shared_ptr< MatrixDouble >  strain_ptr,
boost::shared_ptr< VectorDouble >  temp_ptr,
boost::shared_ptr< MatrixDouble >  m_D_ptr,
boost::shared_ptr< VectorDouble >  coeff_expansion_ptr,
boost::shared_ptr< double ref_temp_ptr,
boost::shared_ptr< MatrixDouble >  stress_ptr 
)

Member Function Documentation

◆ doWork() [1/2]

MoFEMErrorCode ThermoElasticOps::OpStressThermal::doWork ( int  side,
EntityType  type,
EntData data 
)

[Calculate stress]

Examples
ThermoElasticOps.hpp, and mofem/tutorials/adv-2/src/ThermoElasticOps.hpp.

Definition at line 142 of file ThermoElasticOps.hpp.

144 {
145 SETERRQ(PETSC_COMM_SELF, MOFEM_DATA_INCONSISTENCY,
146 "Expected that block has at least two attributes");
147 }
148 auto get_block_ents = [&]() {
149 Range ents;
150 CHKERR
151 m_field.get_moab().get_entities_by_handle(m->meshset, ents, true);
152 return ents;
153 };
154
155 MOFEM_TAG_AND_LOG("WORLD", sev, "Mat Thermal Block")
156 << m->getName() << ": conductivity = " << block_data[0]
157 << " capacity = " << block_data[1];
158
159 blockData.push_back({block_data[0], block_data[1], get_block_ents()});
160 }
161 MOFEM_LOG_CHANNEL("WORLD");
163 }
164
165 boost::shared_ptr<double> conductivityPtr;
166 boost::shared_ptr<double> conductivityScalingPtr;
167 boost::shared_ptr<double> capacityPtr;
168 boost::shared_ptr<double> capacityScalingPtr;
169 };
170
171 pipeline.push_back(new OpMatThermalBlocks(
172 blockedParamsPtr->getHeatConductivityPtr(),
173 blockedParamsPtr->getHeatCapacityPtr(),
#define MOFEM_TAG_AND_LOG(channel, severity, tag)
Tag and log in channel.
@ MOFEM_DATA_INCONSISTENCY
Definition definitions.h:31
#define MoFEMFunctionReturn(a)
Last executable line of each PETSc function used for error handling. Replaces return()
#define CHKERR
Inline error check.
#define MOFEM_LOG_CHANNEL(channel)
Set and reset channel.
FTensor::Index< 'm', 3 > m

◆ doWork() [2/2]

MoFEMErrorCode ThermoElasticOps::OpStressThermal::doWork ( int  side,
EntityType  type,
EntData data 
)

Member Data Documentation

◆ coeffExpansionPtr

boost::shared_ptr< VectorDouble > ThermoElasticOps::OpStressThermal::coeffExpansionPtr
private

◆ mDPtr

boost::shared_ptr< MatrixDouble > ThermoElasticOps::OpStressThermal::mDPtr
private

◆ refTempPtr

boost::shared_ptr< double > ThermoElasticOps::OpStressThermal::refTempPtr
private

◆ strainPtr

boost::shared_ptr< MatrixDouble > ThermoElasticOps::OpStressThermal::strainPtr
private

◆ stressPtr

boost::shared_ptr< MatrixDouble > ThermoElasticOps::OpStressThermal::stressPtr
private

◆ tempPtr

boost::shared_ptr< VectorDouble > ThermoElasticOps::OpStressThermal::tempPtr
private

The documentation for this struct was generated from the following file: