![]() |
v0.13.2 |
Go to the source code of this file.
Classes | |
struct | ElementsAndOps< DIM > |
struct | ElementsAndOps< 2 > |
struct | ElementsAndOps< 3 > |
struct | ThermoElasticProblem |
Macros | |
#define | EXECUTABLE_DIMENSION 3 |
Typedefs | |
using | EntData = EntitiesFieldData::EntData |
using | DomainEle = ElementsAndOps< SPACE_DIM >::DomainEle |
using | DomainEleOp = DomainEle::UserDataOperator |
using | BoundaryEle = ElementsAndOps< SPACE_DIM >::BoundaryEle |
using | BoundaryEleOp = BoundaryEle::UserDataOperator |
using | PostProcEle = PostProcBrokenMeshInMoab< DomainEle > |
using | AssemblyDomainEleOp = FormsIntegrators< DomainEleOp >::Assembly< PETSC >::OpBase |
using | OpKCauchy = FormsIntegrators< DomainEleOp >::Assembly< PETSC >::BiLinearForm< GAUSS >::OpGradSymTensorGrad< 1, SPACE_DIM, SPACE_DIM, 0 > |
[Linear elastic problem] More... | |
using | OpInternalForceCauchy = FormsIntegrators< DomainEleOp >::Assembly< PETSC >::LinearForm< GAUSS >::OpGradTimesSymTensor< 1, SPACE_DIM, SPACE_DIM > |
using | OpHdivHdiv = FormsIntegrators< DomainEleOp >::Assembly< PETSC >::BiLinearForm< GAUSS >::OpMass< 3, SPACE_DIM > |
[Linear elastic problem] More... | |
using | OpHdivT = FormsIntegrators< DomainEleOp >::Assembly< PETSC >::BiLinearForm< GAUSS >::OpMixDivTimesScalar< SPACE_DIM > |
Integrate Lhs div of base of flux time base of temperature (FLUX x T) and transpose of it, i.e. (T x FLAX) More... | |
using | OpCapacity = FormsIntegrators< DomainEleOp >::Assembly< PETSC >::BiLinearForm< GAUSS >::OpMass< 1, 1 > |
Integrate Lhs base of temperature times (heat capacity) times base of temperature (T x T) More... | |
using | OpHdivFlux = FormsIntegrators< DomainEleOp >::Assembly< PETSC >::LinearForm< GAUSS >::OpBaseTimesVector< 3, SPACE_DIM, 1 > |
Integrating Rhs flux base (1/k) flux (FLUX) More... | |
using | OpHDivTemp = FormsIntegrators< DomainEleOp >::Assembly< PETSC >::LinearForm< GAUSS >::OpMixDivTimesU< 3, 1, 2 > |
Integrate Rhs div flux base times temperature (T) More... | |
using | OpBaseDotT = FormsIntegrators< DomainEleOp >::Assembly< PETSC >::LinearForm< GAUSS >::OpBaseTimesScalar< 1 > |
Integrate Rhs base of temperature time heat capacity times heat rate (T) More... | |
using | OpBaseDivFlux = OpBaseDotT |
Integrate Rhs base of temperature times divergence of flux (T) More... | |
using | DomainNaturalBC = NaturalBC< DomainEleOp >::Assembly< PETSC >::LinearForm< GAUSS > |
[Thermal problem] More... | |
using | OpBodyForce = DomainNaturalBC::OpFlux< NaturalMeshsetType< BLOCKSET >, 1, SPACE_DIM > |
using | OpHeatSource = DomainNaturalBC::OpFlux< NaturalMeshsetType< BLOCKSET >, 1, 1 > |
using | BoundaryNaturalBC = NaturalBC< BoundaryEleOp >::Assembly< PETSC >::LinearForm< GAUSS > |
[Body and heat source] More... | |
using | OpForce = BoundaryNaturalBC::OpFlux< NaturalForceMeshsets, 1, SPACE_DIM > |
using | OpTemperatureBC = BoundaryNaturalBC::OpFlux< NaturalTemperatureMeshsets, 3, SPACE_DIM > |
using | OpEssentialFluxRhs = EssentialBC< BoundaryEleOp >::Assembly< PETSC >::LinearForm< GAUSS >::OpEssentialRhs< HeatFluxCubitBcData, 3, SPACE_DIM > |
[Natural boundary conditions] More... | |
using | OpEssentialFluxLhs = EssentialBC< BoundaryEleOp >::Assembly< PETSC >::BiLinearForm< GAUSS >::OpEssentialLhs< HeatFluxCubitBcData, 3, SPACE_DIM > |
Functions | |
int | main (int argc, char *argv[]) |
Variables | |
constexpr int | SPACE_DIM |
double | young_modulus = 1 |
[Essential boundary conditions (Least square approach)] More... | |
double | poisson_ratio = 0.25 |
double | coeff_expansion = 1 |
double | ref_temp = 0.0 |
double | heat_conductivity |
double | heat_capacity = 1 |
int | order = 2 |
static char | help [] = "...\n\n" |
#define EXECUTABLE_DIMENSION 3 |
Definition at line 10 of file thermo_elastic.cpp.
using AssemblyDomainEleOp = FormsIntegrators<DomainEleOp>::Assembly<PETSC>::OpBase |
Definition at line 39 of file thermo_elastic.cpp.
Definition at line 35 of file thermo_elastic.cpp.
Definition at line 36 of file thermo_elastic.cpp.
using BoundaryNaturalBC = NaturalBC<BoundaryEleOp>::Assembly<PETSC>::LinearForm<GAUSS> |
[Body and heat source]
[Natural boundary conditions]
Definition at line 115 of file thermo_elastic.cpp.
using DomainEle = ElementsAndOps<SPACE_DIM>::DomainEle |
Definition at line 33 of file thermo_elastic.cpp.
Definition at line 34 of file thermo_elastic.cpp.
using DomainNaturalBC = NaturalBC<DomainEleOp>::Assembly<PETSC>::LinearForm<GAUSS> |
using EntData = EntitiesFieldData::EntData |
Definition at line 32 of file thermo_elastic.cpp.
using OpBaseDivFlux = OpBaseDotT |
Integrate Rhs base of temperature times divergence of flux (T)
Definition at line 101 of file thermo_elastic.cpp.
using OpBaseDotT = FormsIntegrators<DomainEleOp>::Assembly<PETSC>::LinearForm< GAUSS>::OpBaseTimesScalar<1> |
Integrate Rhs base of temperature time heat capacity times heat rate (T)
Definition at line 94 of file thermo_elastic.cpp.
using OpBodyForce = DomainNaturalBC::OpFlux<NaturalMeshsetType<BLOCKSET>, 1, SPACE_DIM> |
Definition at line 108 of file thermo_elastic.cpp.
using OpCapacity = FormsIntegrators<DomainEleOp>::Assembly<PETSC>::BiLinearForm< GAUSS>::OpMass<1, 1> |
Integrate Lhs base of temperature times (heat capacity) times base of temperature (T x T)
Definition at line 73 of file thermo_elastic.cpp.
using OpEssentialFluxLhs = EssentialBC<BoundaryEleOp>::Assembly<PETSC>::BiLinearForm< GAUSS>::OpEssentialLhs<HeatFluxCubitBcData, 3, SPACE_DIM> |
Definition at line 126 of file thermo_elastic.cpp.
using OpEssentialFluxRhs = EssentialBC<BoundaryEleOp>::Assembly<PETSC>::LinearForm< GAUSS>::OpEssentialRhs<HeatFluxCubitBcData, 3, SPACE_DIM> |
[Natural boundary conditions]
[Essential boundary conditions (Least square approach)]
Definition at line 123 of file thermo_elastic.cpp.
using OpForce = BoundaryNaturalBC::OpFlux<NaturalForceMeshsets, 1, SPACE_DIM> |
Definition at line 117 of file thermo_elastic.cpp.
using OpHdivFlux = FormsIntegrators<DomainEleOp>::Assembly<PETSC>::LinearForm< GAUSS>::OpBaseTimesVector<3, SPACE_DIM, 1> |
Integrating Rhs flux base (1/k) flux (FLUX)
Definition at line 79 of file thermo_elastic.cpp.
using OpHdivHdiv = FormsIntegrators<DomainEleOp>::Assembly<PETSC>::BiLinearForm< GAUSS>::OpMass<3, SPACE_DIM> |
[Linear elastic problem]
[Thermal problem]
Integrate Lhs base of flux (1/k) base of flux (FLUX x FLUX)
Definition at line 57 of file thermo_elastic.cpp.
using OpHdivT = FormsIntegrators<DomainEleOp>::Assembly<PETSC>::BiLinearForm< GAUSS>::OpMixDivTimesScalar<SPACE_DIM> |
Integrate Lhs div of base of flux time base of temperature (FLUX x T) and transpose of it, i.e. (T x FLAX)
Definition at line 65 of file thermo_elastic.cpp.
using OpHDivTemp = FormsIntegrators<DomainEleOp>::Assembly<PETSC>::LinearForm< GAUSS>::OpMixDivTimesU<3, 1, 2> |
Integrate Rhs div flux base times temperature (T)
Definition at line 86 of file thermo_elastic.cpp.
using OpHeatSource = DomainNaturalBC::OpFlux<NaturalMeshsetType<BLOCKSET>, 1, 1> |
Definition at line 110 of file thermo_elastic.cpp.
using OpInternalForceCauchy = FormsIntegrators<DomainEleOp>::Assembly<PETSC>::LinearForm< GAUSS>::OpGradTimesSymTensor<1, SPACE_DIM, SPACE_DIM> |
Definition at line 46 of file thermo_elastic.cpp.
using OpKCauchy = FormsIntegrators<DomainEleOp>::Assembly<PETSC>::BiLinearForm< GAUSS>::OpGradSymTensorGrad<1, SPACE_DIM, SPACE_DIM, 0> |
[Linear elastic problem]
Definition at line 43 of file thermo_elastic.cpp.
Definition at line 118 of file thermo_elastic.cpp.
using PostProcEle = PostProcBrokenMeshInMoab<DomainEle> |
Definition at line 37 of file thermo_elastic.cpp.
int main | ( | int | argc, |
char * | argv[] | ||
) |
[Register MoFEM discrete manager in PETSc]
[Register MoFEM discrete manager in PETSc
[Create MoAB]
< mesh database
< mesh database interface
[Create MoAB]
[Create MoFEM]
< finite element database
< finite element database interface
[Create MoFEM]
[Load mesh]
[Load mesh]
Definition at line 648 of file thermo_elastic.cpp.
double coeff_expansion = 1 |
Definition at line 133 of file thermo_elastic.cpp.
double heat_capacity = 1 |
Definition at line 139 of file thermo_elastic.cpp.
double heat_conductivity |
|
static |
Definition at line 646 of file thermo_elastic.cpp.
int order = 2 |
Definition at line 142 of file thermo_elastic.cpp.
double poisson_ratio = 0.25 |
Definition at line 132 of file thermo_elastic.cpp.
double ref_temp = 0.0 |
Definition at line 134 of file thermo_elastic.cpp.
|
constexpr |
double young_modulus = 1 |
[Essential boundary conditions (Least square approach)]
Definition at line 131 of file thermo_elastic.cpp.