Description
Base class for materials about thermal problems, for FEA problems involving temperature, heat flow, etc.
It contains properties and constitutive laws for thermal problems PDEs of the type Z * dT/dt + div(q_flux) = q_source Children classes must implement the interface q_flux = f(grad_T,T), to [Z] = f(grad_T,T) and to the tangent modulus [C] in the linearization of q_flux. The q_source is assumed provided by optional ChLoaderHeatVolumetricSource, and same for boundary conditions.
#include <ChMaterial3DThermal.h>


Public Member Functions | |
| virtual void | ComputeHeatFlux (ChVector3d &q_flux, const ChVector3d grad_T, const double T, ChFieldData *data_per_point, ChElementData *data_per_element)=0 |
| Compute heat flux vector q_flux from a temperature gradient grad_T q_flux = f(grad_T) This MUST be implemented by children classes. More... | |
| virtual void | ComputeTangentModulus (ChMatrix33d &tangent_matrix, const ChVector3d grad_T, const double T, ChFieldData *data_per_point, ChElementData *data_per_element)=0 |
| Computes the tangent modulus [C] in the linearization of q_flux = f(grad_T) about temperature: δq_flux = [C] δgrad_T This MUST be implemented by children classes. More... | |
| virtual void | ComputeDtMultiplier (double &Dt_multiplier, const double T, ChFieldData *data_per_point, ChElementData *data_per_element)=0 |
| Computes the Z multiplier in Z*dT/dt + div(q_flux) = q_source: This MUST be implemented by children classes. More... | |
Public Member Functions inherited from chrono::fea::ChMaterialPoisson | |
| ChMatrixDynamic & | ConstitutiveMatrix () |
| The constitutive matrix [C] to compute the bilinear form in the weak formulation. More... | |
| virtual double | Get_DtMultiplier () |
| Get the rho multiplier for the 'rho dP/dt term', if any (default, none) | |
Public Member Functions inherited from chrono::fea::ChMaterial3DDensity | |
| ChMaterial3DDensity (double density=1000) | |
| virtual void | SetDensity (double density) |
| Set the density of the material, in kg/m^2. | |
| virtual double | GetDensity () const |
| Get the density of the material, in kg/m^2. | |
Public Member Functions inherited from chrono::fea::ChMaterial | |
| virtual std::unique_ptr< ChFieldData > | CreateMaterialPointData () const |
| Implement this if the material needs custom data per material point, returning a std::make_unique<ChFieldDataCustom>() where ChFieldDataCustom is your custom class with aditional states/properties per-point. | |
Additional Inherited Members | |
Protected Attributes inherited from chrono::fea::ChMaterialPoisson | |
| ChMatrixDynamic | constitutiveMatrix |
Protected Attributes inherited from chrono::fea::ChMaterial3DDensity | |
| double | m_density |
Member Function Documentation
◆ ComputeDtMultiplier()
|
pure virtual |
Computes the Z multiplier in Z*dT/dt + div(q_flux) = q_source: This MUST be implemented by children classes.
- Parameters
-
Dt_multiplier the Z term in Z*dT/dt + div(q_flux) = q_source T current temperature (not used here) data_per_point pointer to auxiliary data (ex states), if any, per quadrature point data_per_element pointer to auxiliary data (ex states), if any, per element
Implemented in chrono::fea::ChMaterial3DThermalNonlinear, and chrono::fea::ChMaterial3DThermalLinear.
◆ ComputeHeatFlux()
|
pure virtual |
Compute heat flux vector q_flux from a temperature gradient grad_T q_flux = f(grad_T) This MUST be implemented by children classes.
- Parameters
-
q_flux output heat flux grad_T current temperature gradient T current temperature data_per_point pointer to auxiliary data (ex states), if any, per quadrature point data_per_element pointer to auxiliary data (ex states), if any, per element
Implemented in chrono::fea::ChMaterial3DThermalNonlinear, and chrono::fea::ChMaterial3DThermalLinear.
◆ ComputeTangentModulus()
|
pure virtual |
Computes the tangent modulus [C] in the linearization of q_flux = f(grad_T) about temperature: δq_flux = [C] δgrad_T This MUST be implemented by children classes.
It is also diffusivity matrix in a diffusion PDE.
- Parameters
-
tangent_matrix output [C] tangent as δq_flux = [C] δgrad_T grad_T current temperature gradient T current temperature data_per_point pointer to auxiliary data (ex states), if any, per quadrature point data_per_element pointer to auxiliary data (ex states), if any, per element
Implemented in chrono::fea::ChMaterial3DThermalNonlinear, and chrono::fea::ChMaterial3DThermalLinear.
The documentation for this class was generated from the following file:
- /builds/uwsbel/chrono/src/chrono/fea/ChMaterial3DThermal.h
Public Member Functions inherited from