My Project
programmer's documentation
Data Fields
cs_fluid_properties_t Struct Reference

Fluid properties descriptor. More...

#include <cs_physical_constants.h>

Collaboration diagram for cs_fluid_properties_t:
Collaboration graph

Data Fields

int ixyzp0
 
int icp
 
int icv
 
int irovar
 
int ivivar
 
int ivsuth
 
double ro0
 
double viscl0
 
double p0
 
double pred0
 
double xyzp0 [3]
 
double t0
 
double cp0
 
double cv0
 
double xmasmr
 
int ipthrm
 
double pther
 
double pthera
 
double pthermax
 
double sleak
 
double kleak
 
double roref
 

Detailed Description

Fluid properties descriptor.

Members of these fluid properties are publicly accessible, to allow for concise syntax, as they are expected to be used in many places.

Field Documentation

◆ cp0

cp0

reference specific heat

Useful if there is 1 <= n <= nscaus so that cs_glob_thermal_model->iscalt = n and cs_glob_thermal_model->itherm = 1 (there is a scalar "temperature"), unless the user specifies the specific heat in the user subroutine cs_user_physical_properties (icp > 0) with the compressible module or coal combustion, cp0 is also needed even when there is no user scalar.

Note
None of the scalars from the specific physics is a temperature.
When using the Graphical Interface, cp0 is also used to calculate the diffusivity of the thermal scalars, based on their conductivity; it is therefore needed, unless the diffusivity is also specified in cs_user_physical_properties.

◆ cv0

cv0

reference isochoric specific heat (J/kg/K)

Useful for the compressible module

◆ icp

icp

indicates if the isobaric specific heat $C_p$ is variable

  • -1: uniform, no property field is declared
  • 0: variable, $C_p$ is declared as a property field
    When gas or coal combustion is activated, icp is automatically set to 0 (constant $C_p$). With the electric module, it is automatically set to 1. The user is not allowed to modify these default choices.
    When icp = 1 is specified, the code automatically modifies this value to make icp designate the effective index-number of the property "specific heat". For each cell iel, the value of $C_p$ is then specified by the user in the appropriate subroutine (cs_user_physical_properties for the standard physics).
    Useful if there is 1 $\leqslant$N $\leqslant$nscal so that iscsth(n)=1 (there is a scalar temperature) or with the compressible module for non perfect gases.

◆ icv

icv

property index of the isochoric specific heat

  • -1: uniform isochoric specific heat (no property field defined)

◆ ipthrm

ipthrm

uniform variable thermodynamic pressure:

  • 0: false (ie not variable)
  • 1: true

◆ irovar

irovar

variable density field $ \rho $:

◆ ivivar

ivivar

variable viscosity field $ \mu $:

◆ ivsuth

ivsuth

Sutherland law for laminar viscosity and thermal conductivity Only useful in gas mix (igmix) specific physics

  • 1: Sutherland law
  • 0: low temperature law (linear except for helium)

◆ ixyzp0

ixyzp0

filling xyzp0 indicator

◆ kleak

kleak

Leak head loss (2.9 by default, from Idelcick)

◆ p0

p0

reference pressure for the total pressure

Except with the compressible module, the total pressure $P$ is evaluated from the reduced pressure $P^*$ so that $P$ is equal to p0 at the reference position $\vect{x}_0$ (given by xyzp0). With the compressible module, the total pressure is solved directly. Always useful.

◆ pred0

pred0

reference value for the reduced pressure $P^*$ (see ro0)

It is especially used to initialise the reduced pressure and as a reference value for the outlet boundary conditions. For an optimised precision in the resolution of $P^*$, it is wiser to keep pred0 to 0. With the compressible module, the "pressure" variable appearing in the equations directly represents the total pressure. It is therefore initialized to p0 and not pred0 (see ro0). Always useful, except with the compressible module.

◆ pther

pther

Thermodynamic pressure for the current time step.

◆ pthera

pthera

thermodynamic pressure for the previous time step

◆ pthermax

pthermax

thermodynamic maximum pressure for user clipping, used to model a venting effect

◆ ro0

ro0

reference density

Negative value: not initialized. Its value is not used in gas or coal combustion modelling (it will be calculated following the perfect gas law, with $P_0$ and $T_0$). With the compressible module, it is also not used by the code, but it may be (and often is) referenced by the user in user subroutines; it is therefore better to specify its value.

Always useful otherwise, even if a law defining the density is given by the user subroutines cs_user_physical_properties. Indeed, except with the compressible module, CS does not use the total pressure $P$ when solving the Navier-Stokes equation, but a reduced pressure $ P^*=P-\rho_0\vect{g}.(\vect{x}-\vect{x}_0)+ P^*_0-P_0 $, where $\vect{x_0}$ is a reference point (see xyzp0) and $ P^*_0 $ and $ P_0 $ are reference values (see pred0 and p0). Hence, the term $-\grad{P}+\rho\vect{g}$ in the equation is treated as $-\grad{P^*}+(\rho-\rho_0)\vect{g}$. The closer ro0 is to the value of $ \rho$, the more $P^*$ will tend to represent only the dynamic part of the pressure and the faster and more precise its solution will be. Whatever the value of ro0, both $ P$ and $P^*$ appear in the log and the post-processing outputs with the compressible module, the calculation is made directly on the total pressure.

◆ roref

roref

Initial reference density

◆ sleak

sleak

Leak surface

◆ t0

t0

reference temperature

Useful for the specific physics gas or coal combustion (initialization of the density), for the electricity modules to initialize the domain temperature and for the compressible module (initializations). It must be given in Kelvin.

◆ viscl0

viscl0

reference molecular dynamic viscosity

Negative value: not initialized.

Always useful, it is the used value unless the user specifies the viscosity in the subroutine cs_user_physical_properties.

◆ xmasmr

xmasmr

molar mass of the perfect gas in $ kg/mol $ (if ieos=1)

Always useful.

◆ xyzp0

xyzp0[3]

coordinates of the reference point $\vect{x}_0$ for the total pressure

  • When there are no Dirichlet conditions for the pressure (closed domain), xyzp0 does not need to be specified (unless the total pressure has a clear physical meaning in the configuration treated).
  • When Dirichlet conditions on the pressure are specified but only through stantard outlet conditions (as it is in most configurations), xyzp0 does not need to be specified by the user, since it will be set to the coordinates of the reference outlet face (i.e. the code will automatically select a reference outlet boundary face and set xyzp0 so that $P$ equals p0 at this face). Nonetheless, if xyzp0 is specified by the user, the calculation will remain correct.
  • When direct Dirichlet conditions are specified by the user (specific value set on specific boundary faces), it is better to specify the corresponding reference point (i.e. specify where the total pressure is p0). This way, the boundary conditions for the reduced pressure will be close to pred0, ensuring an optimal precision in the resolution. If xyzp0 is not specified, the reduced pressure will be shifted, but the calculations will remain correct.
  • With the compressible module, the "pressure" variable appearing in the equations directly represents the total pressure. xyzp0 is therefore not used.

Always useful, except with the compressible module.


The documentation for this struct was generated from the following files: