Namespaces | |
module | mod_linearized_enthalpy_functions |
Temperature-Enthalpy functions for the Linearized Enthalpy method. | |
module | mod_material_properties_boundary_conditions |
Boundary conditions related routines for materials. | |
module | fields_material_properties |
Local properties of material defined on cells or faces. | |
module | mod_temperature_enthalpy_functions |
Temperature-Enthalpy functions for the Apparent Heat Capacity method. | |
module | variables_material_properties |
Declaration of local properties of the materials involved in the simulation (density, conductivity, viscosity, etc.) | |
Classes | |
type | type_material_reference_properties::material_reference_properties |
Definition of the reference properties of a material. More... | |
Enumerations | |
enum | { type_material_reference_properties::rheology_fluid , type_material_reference_properties::rheology_solid , type_material_reference_properties::rheology_porous_medium } |
Enumaration associated to the rheology of a material. More... | |
enum | { type_material_reference_properties::eos_constant , type_material_reference_properties::eos_perfect_gas , type_material_reference_properties::eos_peng_robinson , type_material_reference_properties::eos_linear_acoustic , type_material_reference_properties::eos_linear_temperature , type_material_reference_properties::eos_linear_concentration , type_material_reference_properties::eos_linear_temperature_concentration } |
Enumaration associated to the equation of stage. More... | |
Functions | |
subroutine, public | mod_compute_material_properties::compute_material_properties () |
Compute local material properties. | |
subroutine | mod_compute_material_properties::compute_property_sutherland_law (temperature, material_law, local_field) |
Compute a material property \( X \) according to a sutherland law of the temperature : More... | |
subroutine | mod_compute_material_properties::compute_property_polynomial_temperature_law (temperature, material_law, local_field) |
Compute a material property \( X \) according to a polynomial law of the temperature : More... | |
subroutine | mod_compute_material_properties::compute_property_neural_network (pressure, temperature, material_law, reference_pressure, local_field) |
Compute a material property \( X \) according to a neural_network function of the pressure and the temperature : More... | |
subroutine | mod_predict_material_properties::predict_material_properties () |
Compute time extrapolation of material properties. | |
Compute local properties of materials (density, viscosity, etc.) from geometry, equation of state and reference properties of materials.
┌───────────────┐ │ Temperature │ │ Concentration │ │ etc. │ └───────────────┘ ↓ ┌───────────────┐ ┏━━━━━━━━━━━━━┓ ┌──────────────┐ │ Reference │ ┃ Equation of ┃ │ Geometry │ │ properties of │ ───────>┃ state ┃ <─────── │ (e.g. volume │ │ materials │ ┃ (EoS) ┃ │ faction) │ └───────────────┘ ┗━━━━━━━━━━━━━┛ └──────────────┘ ↓ ┌───────────────┐ │ Local │ │ properties of │ │ materials │ └───────────────┘
Non-exhaustive list of reference properties:
When multiple materials are involved in the simulation, the properties ( \( \rho, \mu, C_{p}, \lambda, etc.) \) are locally computed from the volume fraction of materials \( f_i \) (possibly smoothed) according to the following formula:
\[ \phi = \sum_{i=1}^{n} \phi_{i} f_{i} \]
where \( \phi_{i} \) denotes any property of material \( i \) such as density or conductivity.
Depending on the modeling, density may vary linearly with temperature and species concentration \( C_i \):
\[ \rho = \rho_0(1 - \beta_T(T - T_0) + \sum_{i=1}^{m} \beta_{C_i} (C_i - C_{i_0})) \]
When driving pressure is considered (defined as \( \nabla p^* = \nabla p - \rho_0 \bf{g} \)), previous equation reads:
\[ \rho = \rho_0(- \beta_T(T - T_0) + \sum_{i=1}^{m} \beta_{C_i} (C_i - C_{i_0})) \]
anonymous enum |
anonymous enum |
subroutine mod_compute_material_properties::compute_property_neural_network | ( | double precision, dimension(:,:,:), intent(in), allocatable | pressure, |
double precision, dimension(:,:,:), intent(in), allocatable | temperature, | ||
type(t_material_law), intent(in) | material_law, | ||
double precision, intent(in) | reference_pressure, | ||
double precision, dimension(:,:,:), intent(inout), allocatable | local_field | ||
) |
\[ X^{*,n+1}(p^*,T^*) =\alpha(w^n \cdot X^{*,n} + b^n) \]
with \( \alpha \) the activation function (could be sigmoid or tanh), \( X^*, p^*,T^* \) respectively the dimensional computed field, pressure and temperature, \( w^n, X^{*,n}, b^n \) the weights, dimensionless field and bias at neural network layer \( n \).
subroutine mod_compute_material_properties::compute_property_polynomial_temperature_law | ( | double precision, dimension(:,:,:), intent(in), allocatable | temperature, |
type(t_material_law), intent(in) | material_law, | ||
double precision, dimension(:,:,:), intent(inout), allocatable | local_field | ||
) |
\[ X(T) =\sum_{i=0}^{p-1} a_i T^i \]
with \( p \) the degree of the polynom and \( T \) the temperature field.
subroutine mod_compute_material_properties::compute_property_sutherland_law | ( | double precision, dimension(:,:,:), intent(in), allocatable | temperature, |
type(t_material_law), intent(in) | material_law, | ||
double precision, dimension(:,:,:), intent(inout), allocatable | local_field | ||
) |
\[ X(T) = X^* \Big( \frac{T}{T^*} \Big)^{3/2} \frac{T^* + S}{T + S} \]
with \( X^* \), \( T^* \), \( S \), the coefficients of the law material_lawcoef = [ \( X^* \), \( T^* \), \( S \)]