v0.14.0 |
#include <MoFEM.hpp>
#include <ThermalConvection.hpp>
#include <ThermalRadiation.hpp>
#include <ThermoElasticOps.hpp>
Go to the source code of this file.
Classes | |
struct | ThermoElasticProblem |
struct | ThermoElasticProblem::BlockedParameters |
Macros | |
#define | EXECUTABLE_DIMENSION 3 |
Typedefs | |
using | EntData = EntitiesFieldData::EntData |
using | DomainEle = PipelineManager::ElementsAndOpsByDim< SPACE_DIM >::DomainEle |
using | DomainEleOp = DomainEle::UserDataOperator |
using | BoundaryEle = PipelineManager::ElementsAndOpsByDim< 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, SPACE_DIM > |
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 | DomainNaturalBCRhs = NaturalBC< DomainEleOp >::Assembly< PETSC >::LinearForm< GAUSS > |
[Thermal problem] More... | |
using | OpBodyForce = DomainNaturalBCRhs::OpFlux< NaturalMeshsetType< BLOCKSET >, 1, SPACE_DIM > |
using | OpHeatSource = DomainNaturalBCRhs::OpFlux< NaturalMeshsetType< BLOCKSET >, 1, 1 > |
using | DomainNaturalBCLhs = NaturalBC< DomainEleOp >::Assembly< PETSC >::BiLinearForm< GAUSS > |
using | BoundaryNaturalBC = NaturalBC< BoundaryEleOp >::Assembly< PETSC >::LinearForm< GAUSS > |
[Body and heat source] More... | |
using | OpForce = BoundaryNaturalBC::OpFlux< NaturalForceMeshsets, 1, 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 > |
using | OpSetTemperatureRhs = DomainNaturalBCRhs::OpFlux< SetTargetTemperature, 1, 1 > |
using | OpSetTemperatureLhs = DomainNaturalBCLhs::OpFlux< SetTargetTemperature, 1, 1 > |
Functions | |
int | main (int argc, char *argv[]) |
Variables | |
constexpr int | SPACE_DIM |
double | default_young_modulus = 1 |
[Essential boundary conditions (Least square approach)] More... | |
double | default_poisson_ratio = 0.25 |
double | ref_temp = 0.0 |
double | init_temp = 0.0 |
PetscBool | is_plane_strain = PETSC_FALSE |
double | default_coeff_expansion = 1 |
double | default_heat_conductivity |
double | default_heat_capacity = 1 |
int | order_temp = 2 |
int | order_flux = 3 |
int | order_disp = 3 |
int | atom_test = 0 |
int | save_every = 1 |
auto | save_range |
static char | help [] = "...\n\n" |
[Solve] More... | |
#define EXECUTABLE_DIMENSION 3 |
Definition at line 10 of file thermo_elastic.cpp.
using AssemblyDomainEleOp = FormsIntegrators<DomainEleOp>::Assembly<PETSC>::OpBase |
Definition at line 31 of file thermo_elastic.cpp.
Definition at line 26 of file thermo_elastic.cpp.
Definition at line 27 of file thermo_elastic.cpp.
using BoundaryNaturalBC = NaturalBC<BoundaryEleOp>::Assembly<PETSC>::LinearForm<GAUSS> |
[Body and heat source]
[Natural boundary conditions]
Definition at line 109 of file thermo_elastic.cpp.
Definition at line 23 of file thermo_elastic.cpp.
Definition at line 24 of file thermo_elastic.cpp.
using DomainNaturalBCLhs = NaturalBC<DomainEleOp>::Assembly<PETSC>::BiLinearForm<GAUSS> |
Definition at line 104 of file thermo_elastic.cpp.
using DomainNaturalBCRhs = NaturalBC<DomainEleOp>::Assembly<PETSC>::LinearForm<GAUSS> |
using EntData = EntitiesFieldData::EntData |
Definition at line 22 of file thermo_elastic.cpp.
using OpBaseDivFlux = OpBaseDotT |
Integrate Rhs base of temperature times divergence of flux (T)
Definition at line 92 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 86 of file thermo_elastic.cpp.
using OpBodyForce = DomainNaturalBCRhs::OpFlux<NaturalMeshsetType<BLOCKSET>, 1, SPACE_DIM> |
Definition at line 100 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 65 of file thermo_elastic.cpp.
using OpEssentialFluxLhs = EssentialBC<BoundaryEleOp>::Assembly<PETSC>::BiLinearForm< GAUSS>::OpEssentialLhs<HeatFluxCubitBcData, 3, SPACE_DIM> |
Definition at line 120 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 117 of file thermo_elastic.cpp.
using OpForce = BoundaryNaturalBC::OpFlux<NaturalForceMeshsets, 1, SPACE_DIM> |
Definition at line 110 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 71 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 49 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 57 of file thermo_elastic.cpp.
using OpHDivTemp = FormsIntegrators<DomainEleOp>::Assembly<PETSC>::LinearForm< GAUSS>::OpMixDivTimesU<3, 1, SPACE_DIM> |
Integrate Rhs div flux base times temperature (T)
Definition at line 78 of file thermo_elastic.cpp.
using OpHeatSource = DomainNaturalBCRhs::OpFlux<NaturalMeshsetType<BLOCKSET>, 1, 1> |
Definition at line 102 of file thermo_elastic.cpp.
using OpInternalForceCauchy = FormsIntegrators<DomainEleOp>::Assembly<PETSC>::LinearForm< GAUSS>::OpGradTimesSymTensor<1, SPACE_DIM, SPACE_DIM> |
Definition at line 40 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 36 of file thermo_elastic.cpp.
using OpSetTemperatureLhs = DomainNaturalBCLhs::OpFlux<SetTargetTemperature, 1, 1> |
Definition at line 151 of file thermo_elastic.cpp.
using OpSetTemperatureRhs = DomainNaturalBCRhs::OpFlux<SetTargetTemperature, 1, 1> |
Definition at line 149 of file thermo_elastic.cpp.
using PostProcEle = PostProcBrokenMeshInMoab<DomainEle> |
Definition at line 28 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 1478 of file thermo_elastic.cpp.
int atom_test = 0 |
Definition at line 141 of file thermo_elastic.cpp.
double default_coeff_expansion = 1 |
Definition at line 130 of file thermo_elastic.cpp.
double default_heat_capacity = 1 |
Definition at line 134 of file thermo_elastic.cpp.
double default_heat_conductivity |
double default_poisson_ratio = 0.25 |
Definition at line 124 of file thermo_elastic.cpp.
double default_young_modulus = 1 |
[Essential boundary conditions (Least square approach)]
Definition at line 123 of file thermo_elastic.cpp.
|
static |
double init_temp = 0.0 |
Definition at line 126 of file thermo_elastic.cpp.
PetscBool is_plane_strain = PETSC_FALSE |
Definition at line 128 of file thermo_elastic.cpp.
int order_disp = 3 |
Definition at line 139 of file thermo_elastic.cpp.
int order_flux = 3 |
Definition at line 138 of file thermo_elastic.cpp.
int order_temp = 2 |
Definition at line 137 of file thermo_elastic.cpp.
double ref_temp = 0.0 |
Definition at line 125 of file thermo_elastic.cpp.
int save_every = 1 |
Definition at line 143 of file thermo_elastic.cpp.
auto save_range |
Definition at line 153 of file thermo_elastic.cpp.
|
constexpr |
Definition at line 19 of file thermo_elastic.cpp.