#include "tutorials/adv-2/src/ThermoElasticOps.hpp"
|
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]
|
|
Definition at line 23 of file ThermoElasticOps.hpp.
◆ OpStressThermal() [1/2]
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.
Definition at line 117 of file ThermoElasticOps.hpp.
126
127 std::fill(&doEntities[MBEDGE], &doEntities[MBMAXTYPE], false);
128}
DomainEle::UserDataOperator DomainEleOp
Finire element operator type.
constexpr auto field_name
boost::shared_ptr< VectorDouble > coeffExpansionPtr
boost::shared_ptr< MatrixDouble > strainPtr
boost::shared_ptr< MatrixDouble > stressPtr
boost::shared_ptr< VectorDouble > tempPtr
boost::shared_ptr< MatrixDouble > mDPtr
◆ OpStressThermal() [2/2]
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 ) |
◆ doWork()
MoFEMErrorCode ThermoElasticOps::OpStressThermal::doWork |
( |
int | side, |
|
|
EntityType | type, |
|
|
EntData & | data ) |
[Calculate stress]
- Examples
- ThermoElasticOps.hpp.
Definition at line 142 of file ThermoElasticOps.hpp.
143 {
145 const auto nb_gauss_pts = getGaussPts().size2();
147
148 auto t_D = getFTensor4DdgFromMat<SPACE_DIM, SPACE_DIM, 0>(*
mDPtr);
149 auto t_strain = getFTensor2SymmetricFromMat<SPACE_DIM>(*
strainPtr);
150 auto t_stress = getFTensor2SymmetricFromMat<SPACE_DIM>(*
stressPtr);
151 auto t_temp = getFTensor0FromVec(*
tempPtr);
152
157
159 t_coeff_exp(
i,
j) = 0;
161 t_coeff_exp(d, d) = (*coeffExpansionPtr)[
d];
162 }
163
164 for (size_t gg = 0; gg != nb_gauss_pts; ++gg) {
167 (t_strain(
k,
l) - t_coeff_exp(
k,
l) * (t_temp - (*refTempPtr)));
168 ++t_strain;
169 ++t_stress;
170 ++t_temp;
171 }
173}
#define MoFEMFunctionBegin
First executable line of each MoFEM function, used for error handling. Final line of MoFEM functions ...
#define MoFEMFunctionReturn(a)
Last executable line of each PETSc function used for error handling. Replaces return()
FTensor::Index< 'i', SPACE_DIM > i
FTensor::Index< 'l', 3 > l
FTensor::Index< 'j', 3 > j
FTensor::Index< 'k', 3 > k
◆ 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: