Fluid model

The following inputs are defined using the fluid prefix.

Description

Type

Default

solve

Specify the name of the fluid or set to None to disable the fluid solver. The name assigned to the fluid solver is used to specify fluid initial and boundary conditions.

String

None

viscosity

Specify which viscosity model to use for the fluid. Available options include:

  • constant for constant viscosity model

A viscosity model is required if the fluid solver is enabled.

String

None

viscosity.constant

Constant fluid viscosity. A value is required for constant viscosity model.

Real

0

species

Specify the species that constitute the fluid.

All listed species must be properly defined. See the species definition documentation for additional details.

String

None

molecular_weight

Constant fluid molecular weight.

A molecular weight should only be defined when using one of the ideal gas constraints and the species equations are not solved.

Real

0

specific_heat

Specify which specific heat model to use for the fluid. Available options include:

  • constant - the fluid has a constant specific heat

  • NASA7-poly the fluid specific heat is defined by a low-temperature (T < 1000K) polynomial and a high-temprature (T > 1000K) polynomial.

    NASA7 polynomial format:

    \(c_p(T) = \sum_{i=0}^5 a_iT^i\)

  • mixture - a mixture specific heat is computed from species specific heats and local species mass fractions.

    \(c_{p,\mathrm{mixture}} = \sum_n X_n c_{p,n}\)

A specific heat model is required if advecting enthalpy. Furthermore, the model must be mixture if species equations are solved.

String

None

specific_heat.constant

Constant fluid specific heat A value is required for constant specific heat model.

Real

0

specific_heat.NASA7.a[i]

Specific heat polynomial coefficients. Polynomial coefficients are required if the fluid specific heat model is NASA7-poly.

Each polynomial is defined by six coefficients (a0, …, a5), and two values are required for each coefficient. The first value is the low temperature polynomial coefficient (T < 1000K) and the second is the coefficient for the high temperature polynomial (T > 1000K). A total of twelve coefficients are required.

Real

thermal_conductivity

Specify which thermal conductivity model to use for fluid. Available options include:

  • constant - the fluid has a constant thermal conductivity model

A thermal conductivity model is required if advecting enthalpy.

String

None

thermal_conductivity.constant

Constant fluid thermal conductivity. A value is required for constant thermal conductivity model.

Real

0

thermodynamic_pressure

Thermodynamic pressure. A value is required when using the IdealGasClosedSystem constraint. If using the IdealGasOpenSystem constraint, then the value must match all specified outflow pressures.

Real

0

reference_temperature

Reference temperature used to compute specific enthalpy

Real

Example inputs

Incompressible fluid

The following setup shows how to define the most basic fluid model where the only required physical property is fluid viscosity. We are using the IncompressibleFluid constraint; therefore, the constant fluid density is defined by the initial and boundary conditions. The fluid energy and species equations are not solved.

Listing 5 Snippet of inputs defining a simple incompressible fluid. This is not a complete input file.
mfix.constraint_type = IncompressibleFluid

mfix.advect_density  = 0
mfix.advect_enthalpy = 0
mfix.solve_species   = 0

# Fluid model settings
# -----------------------------------------------------------------------
fluid.solve = fluid0

fluid.viscosity          = constant
fluid.viscosity.constant = 1.8e-5


# Initial Conditions
# -----------------------------------------------------------------------
ic.regions = full-domain

ic.full-domain.fluid0.volfrac   =  1.0
ic.full-domain.fluid0.density   =  1.0

ic.full-domain.fluid0.velocity  =  0.0  0.0  0.0

# Boundary Conditions
# -----------------------------------------------------------------------
bc.regions = inlet  outlet

bc.inlet = mi
bc.inlet.fluid0.volfrac  =  1.0
bc.inlet.fluid0.density  =  1.0

bc.inlet.fluid0.velocity =  1.0e-8  0.0  0.0

bc.outlet = po
bc.outlet.fluid0.pressure =  0.

Simple ideal gas

In the following example, we use the IdealGasOpenSystem so that the fluid density is calculated from the ideal gas equation of state. In addition to viscosity, we must also provide the fluid molecular weight. The fluid energy and species equations are not solved, but the constant fluid temperature is required in the initial and boundary conditions to fully specify the equation of state. Lastly, the outflow boundary pressure is taken as the thermodynamic pressure when evaluating the equation of state.

Listing 6 Snippet of inputs defining a simple ideal gas. This is not a complete input file.
mfix.constraint_type = IdealGasOpenSystem

mfix.advect_density  = 1
mfix.advect_enthalpy = 0
mfix.solve_species   = 0


# Fluid model settings
# -----------------------------------------------------------------------
fluid.solve = fluid0

fluid.viscosity          = constant
fluid.viscosity.constant = 1.8e-5

fluid.molecular_weight = 29.0e-3


# Initial Conditions
# -----------------------------------------------------------------------
ic.regions = full-domain

ic.full-domain.fluid0.volfrac   =  1.0

ic.full-domain.fluid0.velocity  =  0.0  0.0  0.0

ic.full-domain.fluid0.temperature = 300.0


# Boundary Conditions
# -----------------------------------------------------------------------
bc.regions = inlet  outlet

bc.inlet = mi
bc.inlet.fluid0.volfrac  =  1.0

bc.inlet.fluid0.velocity =  1.0e-8  0.0  0.0

bc.inlet.fluid0.temperature = 300.0

bc.outlet = po
bc.outlet.fluid0.pressure =  101325.

Ideal gas with energy

In the last example, we use the IdealGasOpenSystem, however unlike the previous demonstration, the energy equation is solved. Therefore, we must define the fluid viscosity, molecular weight, thermal conductivity, and specific heat. Again, the fluid temperature is required in the initial and boundary conditions, and the outflow boundary pressure is taken as the thermodynamic pressure for the system.

Listing 7 Snippet of inputs defining an idea gas with energy. This is not a complete input file.
mfix.constraint_type = IdealGasOpenSystem

mfix.advect_density  = 1
mfix.advect_enthalpy = 1
mfix.solve_species   = 0

# Fluid model settings
# -----------------------------------------------------------------------
fluid.solve = fluid0

fluid.viscosity          = constant
fluid.viscosity.constant = 2.0e-5

fluid.thermal_conductivity = constant
fluid.thermal_conductivity.constant = 0.026

fluid.molecular_weight = 28.96518e-3

fluid.specific_heat = NASA7-poly

fluid.specific_heat.NASA7.a0 =  5.95960930E+00   3.08792717E+00
fluid.specific_heat.NASA7.a1 =  3.56839620E+00   1.24597184E-03
fluid.specific_heat.NASA7.a2 = -6.78729429E-04  -4.23718945E-07
fluid.specific_heat.NASA7.a3 =  1.55371476E-06   6.74774789E-11
fluid.specific_heat.NASA7.a4 = -3.29937060E-12  -3.97076972E-15
fluid.specific_heat.NASA7.a5 = -4.66395387E-13  -9.95262755E+02


# Initial Conditions
# -----------------------------------------------------------------------
ic.regions = full-domain

ic.full-domain.fluid0.volfrac   =  1.0

ic.full-domain.fluid0.velocity  =  0.0  0.0  0.0

ic.full-domain.fluid0.temperature = 300.0

# Boundary Conditions
# -----------------------------------------------------------------------
bc.regions = inlet  outlet

bc.inlet = mi
bc.inlet.fluid0.volfrac  =  1.0

bc.inlet.fluid0.velocity =  1.0e-8  0.0  0.0

bc.inlet.fluid0.temperature = 300.0

bc.outlet = po
bc.outlet.fluid0.pressure =  101325.

The following inputs are defined using the fluid prefix and control the convergence criteria of the damped Newton solver used to compute temperature from enthalpy and specific heat.

Description

Type

Default

newton_solver.absolute_tol

Define absolute tolerance for the Newton solver

Real

1.e-8

newton_solver.relative_tol

Define relative tolerance for the Newton solver

Real

1.e-8

newton_solver.max_iterations

Define max number of iterations for the Newton solver

int

500