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 ieos
 
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
 
double psginf
 
double gammasg
 
double pther
 
double pthera
 
double pthermax
 

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

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 usphyv (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 usphyv.
cv0

reference isochoric specific heat (J/kg/K)

Useful for the compressible module

gammasg

stiffened gas (ieos=2) polytropic coefficient (dimensionless)

icp

property index of the isobaric specific heat

  • 0: uniform isobaric specific heat (no property field defined)
icv

property index of the isochoric specific heat

  • 0: uniform isochoric specific heat (no property field defined)
ieos

indicator of equation of state

useful only for the compressible module. Ideal gas with a constant adiabatic coefficient (ieos=1), stiffened gas (ieos=2) and mix of ideal gas (ieos=3) are available, but the user can complete the file cs_cf_thermo.h, which is not a user source, to add new equations of state.

irovar

variable density field $ \rho $:

  • 0: false
  • 1: true
ivivar

variable viscosity field $ \rho $:

  • 0: false
  • 1: true
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

filling xyzp0 indicator

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

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.

psginf

stiffened gas (ieos=2) limit pressure (zero in perfect gas)

pther

uniform thermodynamic pressure for the low-Mach algorithm

Thermodynamic pressure for the current time step.

pthera

thermodynamic pressure for the previous time step

pthermax

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

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 usphyv or uselph. 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 listing and the post-processing outputs with the compressible module, the calculation is made directly on the total pressure.

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

reference molecular dynamic viscosity

Negative value: not initialized.

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

xmasmr

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

Always useful.

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: