version 0.6.0
Compute properties of materials

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.
 

Detailed Description

Introduction

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:

1-fluid model

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})) \]

Enumeration Type Documentation

◆ anonymous enum

anonymous enum
Enumerator
rheology_fluid 

The material is a fluid.

rheology_solid 

The material is a solid.

rheology_porous_medium 

The material is a porous medium.

◆ anonymous enum

anonymous enum
Enumerator
eos_constant 

Thermodynamic variables are constant.

eos_perfect_gas 

Perfect gaz.

eos_peng_robinson 

Peng-Robinson.

eos_linear_acoustic 

Linear acoustic.

eos_linear_temperature 

Linear temperature (Boussinesq)

eos_linear_concentration 

Linear concentration (Boussinesq)

eos_linear_temperature_concentration 

Linear temperature concentration (Boussinesq)

Function Documentation

◆ compute_property_neural_network()

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 \).

◆ compute_property_polynomial_temperature_law()

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.

◆ compute_property_sutherland_law()

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 \)]