b2api
B2000++ API Reference Manual, VERSION 4.6
 
Loading...
Searching...
No Matches
b2000::HeatMaterial3D Class Referenceabstract

#include "b2heat_material.H"

Inheritance diagram for b2000::HeatMaterial3D:
Collaboration diagram for b2000::HeatMaterial3D:

Public Member Functions

virtual void get_conduction_and_capacity_heat (Model *model, const Element *element, const double coordinates[3], const b2linalg::Vector< double, b2linalg::Vdense_constref > nodes_interpolation, const double element_coordinate[3], const int layer_id, const double covariant_base[3][3], const double temperature, const double temperature_dot, const double grad_temperature[3], const double time, const double linear, double heat_conduction[3], double d_heat_conduction_d_temperature[3], double d_heat_conduction_d_grad_temperature[6], double &heat_capacity, double &d_heat_capacity_d_temperature, double &d_heat_capacity_d_temperature_dot, GradientContainer *gradient_container, SolverHints *solver_hints)=0
 
virtual void get_radiation_and_convection_heat (Model *model, const Element *element, const double coordinates[3], const b2linalg::Vector< double, b2linalg::Vdense_constref > nodes_interpolation, const double element_coordinate[], const double temperature, const double time, const bool linear, double &heat, double &d_heat_d_temperature, GradientContainer *gradient_container, SolverHints *solver_hints)=0
 
- Public Member Functions inherited from b2000::HeatMaterial
virtual int number_of_layer () const
 
virtual void laminate (const b2linalg::Vector< double, b2linalg::Vdense_constref > nodes_interpolation, double &laminate_begin, double &laminate_end)
 
virtual void layer (const b2linalg::Vector< double, b2linalg::Vdense_constref > nodes_interpolation, const int layer_id, double &layer_begin, double &layer_end)
 
virtual LinearType linear (const int layer_id=-1) const =0
 
virtual bool isotropic (const int layer_id=-1) const =0
 
- Public Member Functions inherited from b2000::ElementProperty
const std::string & get_object_name () const override
 
- Public Member Functions inherited from b2000::Object
virtual ~Object ()
 

Additional Inherited Members

- Static Public Attributes inherited from b2000::Object
static ObjectType type
 

Detailed Description

The base class for a 3D heat material.

Member Function Documentation

◆ get_conduction_and_capacity_heat()

virtual void b2000::HeatMaterial3D::get_conduction_and_capacity_heat ( Model model,
const Element element,
const double  coordinates[3],
const b2linalg::Vector< double, b2linalg::Vdense_constref >  nodes_interpolation,
const double  element_coordinate[3],
const int  layer_id,
const double  covariant_base[3][3],
const double  temperature,
const double  temperature_dot,
const double  grad_temperature[3],
const double  time,
const double  linear,
double  heat_conduction[3],
double  d_heat_conduction_d_temperature[3],
double  d_heat_conduction_d_grad_temperature[6],
double &  heat_capacity,
double &  d_heat_capacity_d_temperature,
double &  d_heat_capacity_d_temperature_dot,
GradientContainer gradient_container,
SolverHints solver_hints 
)
pure virtual

Return the heat conduction and capacity of the material at a specific location in an element.

Parameters
elementthe element at with the heat are calculated.
coordinatesthe position of the material point.
nodes_interpolationthe nodes interpolation at the location in the element. This can be used by the material to interpolate some fields defined by value at nodes.
element_coordinatethe element natural coordinate
layer_idthe layer id or 0 if the material as only one layer. Must be in the interval [0, nb_layer -1].
covariant_basethe covariant natural base at the location. This can be used to compute a material referential.
temperaturethe temperature (or 0 for a linear analysis).
temperature_dotthe time derivative of the temperature (or 0 for a static analysis).
grad_temperaturethe gradient of the temperature field in the global base. grad_temperature[i] = d t / d xi
timethe current time (or 0 for a static analysis).
lineara flag that must be set to true if the returned heat must be computed linearly.
heat_conductionthe heat flux due to the conduction in the tree direction x0, x1, x2 of the global referential.
d_heat_conduction_d_temperaturethe derivative of the heat conduction flux 'heat_conduction' relatively to the temperature 'temperature'.
d_heat_conduction_d_grad_temperaturethe derivative of the heat conduction flux 'heat_conduction' relatively to the temperature gradient 'grad_temperature'. The 3x3 symmetric matrix is stored in lower packed format in a array of size 6.

d_heat_conduction_d_grad_temperature[0] = d h0 / d gt0 d_heat_conduction_d_grad_temperature[1] = d h1 / d gt0 d_heat_conduction_d_grad_temperature[2] = d h2 / d gt0 d_heat_conduction_d_grad_temperature[3] = d h1 / d gt1 d_heat_conduction_d_grad_temperature[4] = d h2 / d gt1 d_heat_conduction_d_grad_temperature[5] = d h2 / d gt2

Parameters
heat_capacitythe heat flux due to the capacity
d_heat_capacity_d_temperaturethe derivative of the heat capacity flux 'heat_capacity' relatively to the the temperature 'temperature'.
d_heat_capacity_d_temperature_dotthe derivative of the heat capacity flux 'heat_capacity' relatively to the time derivative of the temperature 'temperature_dot'.
gradient_containerthe pointer to the gradient container or 0 if the gradient must by not computed.
solver_hintsthe pointer to an SolverHints object or 0. Allows to give hints to the iterative solver if to diverge and when to converge.

◆ get_radiation_and_convection_heat()

virtual void b2000::HeatMaterial3D::get_radiation_and_convection_heat ( Model model,
const Element element,
const double  coordinates[3],
const b2linalg::Vector< double, b2linalg::Vdense_constref >  nodes_interpolation,
const double  element_coordinate[],
const double  temperature,
const double  time,
const bool  linear,
double &  heat,
double &  d_heat_d_temperature,
GradientContainer gradient_container,
SolverHints solver_hints 
)
pure virtual

Return the heat radiation and convection of the material at a specific location in an element.

Parameters
elementthe element at with the heat are calculated.
coordinatesthe position of the material point.
nodes_interpolationthe nodes interpolation at the location in the element. This can be used by the material to interpolate some fields defined by value at nodes.
element_coordinatethe element natural coordinate
temperaturethe temperature.
timethe current time or 0 for a static analysis.
lineara flag that must be set to true if the returned heat must be computed linearly.
heatthe heat flux due to the radiation and convection.
d_heat_d_temperaturethe derivative of the heat flux 'heat' relatively to the temperature 'temperature'.
gradient_containerthe pointer to the gradient container or 0 if the gradient must by not computed.
solver_hintsthe pointer to an SolverHints object or 0. Allows to give hints to the iterative solver if to diverge and when to converge.

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