Species solver¶
The following inputs are defined using the prefix species:
Description |
Type |
Default |
|
|---|---|---|---|
solve |
Specified name(s) of the species or None to disable the species solver. The name assigned to the species solver is used to specify species inputs. |
Strings |
None |
Diffusivity¶
The following inputs are defined using the prefix species.diffusivity:
Description |
Type |
Default |
|
|---|---|---|---|
model |
Fluid species diffusivity model. Options:
|
String |
None |
constant |
Constant species diffusivity - required for
|
Real |
0 |
Molecular weight¶
The following inputs are defined for each species using the prefix species.[species_name]:
Description |
Type |
Default |
|
|---|---|---|---|
molecular_weight |
Molecular weight of species. Required for mixture molecular weight model and when including chemical reactions. |
Real |
0 |
Specific heat¶
The following inputs are defined using the prefix species.specific_heat:
Description |
Type |
Default |
|
|---|---|---|---|
model |
Species specific heat model. This setting only applies if either
Options (case-insensitive):
|
String |
|
ignore_discontinuities |
MFIX-Exa checks that NASA-7 polynomials are continuous at the specified
transition temperature(s)( |
Int |
0 |
The following inputs are defined for each species using the prefix species.[species_name].specific_heat:
Description |
Type |
Default |
|
|---|---|---|---|
constant |
Constant species specific heat. Required for all fluid (solids)
species if the fluid (solids) |
Real |
0 |
NASA7.a[i] |
Species specific heat polynomial coefficients. Required for all fluid
(solids) species if
|
Reals |
None |
NASA7.Tsplit |
Defines the transition temperature between NASA-7 polynomials. If there are In the standard case of two temperature ranges, a transition
temperature of 1000K is assumed if |
Reals |
1000 |
The following inputs are defined for each species using the prefix species.[species_name]:
Description |
Type |
Default |
|
|---|---|---|---|
enthalpy_of_formation |
Enthalpy of formation of species. Only used when the species
specific heat model is |
Real |
0 |
Viscosity¶
The following input is defined using the prefix species.viscosity.molecular (all species use the same model):
Description |
Type |
Default |
|
|---|---|---|---|
model |
Molecular viscosity model of species. This setting only applies when
Options: See viscosity model descriptions in fluid section. |
String |
constant |
The following inputs are defined for each species using the prefix species.[species_name].viscosity.molecular:
Description |
Type |
Default |
|
|---|---|---|---|
constant |
Constant species fluid viscosity. A value is required for |
Real |
None |
Sutherland.T_ref |
Sutherland model reference temperature for species. A value is required for |
Real |
None |
Sutherland.mu_ref |
Sutherland model reference viscosity at T_ref for species. A value is required for |
Real |
None |
Sutherland.S |
Sutherland model temperature for species. A value is required for |
Real |
None |
Reid.A Reid.B Reid.C Reid.D |
Reid model constants for species. Values are required for |
Real |
None |
Radiation¶
The following inputs are defined using the prefix species.radiation.
Description |
Type |
Default |
|
|---|---|---|---|
scattering_coeff |
Real |
None |
|
absorption.model |
Specify which radiation absorption coefficient model to use
for fluid species. This setting only applies when
Options:
|
String |
None |
The following inputs are defined using the prefix species.[species_name].radiation.absorption.
Description |
Type |
Default |
|
|---|---|---|---|
form |
Specifies the polynomial form used to represent the absorption coefficient as a function of temperature. Options:
|
Int |
0 |
T_range |
Valid temperature range for the polynomial. If no temperature is provided, then the polynomial is assumed valid for all temperatures. Piecewise polynomials are defined by specify multiple ranges. For example, two piecewise polynomials can be specified by providing three temperatures: low, mid and high. |
Reals |
None |
polynomial_coeffs |
Polynomial coefficient. Polynomials can be up to 5-th order, and a set of polynomial coefficients must be defined for each temperature range. |
Reals |
None |
Example: Define absorption coefficients for individual species using polynomial forms.
CO2 uses a single polynomial over the entire temperature range.
H2O uses piecewise polynomials, each constant within its temperature interval.
Once species absorption models are defined, the fluid absorption model is set to mixture to combine species contributions.:
species.solve = O2 H2O CO2 NA1 NA2 species.radiation.absorption.model = gray-poly species.CO2.radiation.absorption.T_range = 300. 2400. species.CO2.radiation.absorption.polynomial_coeffs = 32.2454, 4.057e-3, -3.89e-6 species.H2O.radiation.absorption.T_range = 300. 600. 1800. species.H2O.radiation.absorption.polynomial_coeffs = 1. species.H2O.radiation.absorption.polynomial_coeffs = 0.1 species.H2O.radiation.absorption.polynomial_coeffs = 0.01 species.H2O.radiation.absorption.polynomial_coeffs = 0. fluid.species = CO2 H2O O2 fluid0.radiation.absorption.model = mixture
Density¶
The following inputs are defined for each species using the prefix species.[species_name]:
Description |
Type |
Default |
|
|---|---|---|---|
density |
Constant species density (only used for solid phase species). Needed for all solid species if
solids density is set to |
Real |
Example inputs¶
Fluid species as passive scalars¶
In the following example, two species are defined and assigned to the fluid. We are required
to define the species diffusivity and initial and boundary conditions. The
IncompressibleFluid constraint is used, and the fluid density and species mass fractions
are defined in the initial and boundary conditions.
The fluid energy equation is not solved, and because we are not updating fluid density, the
local species concentrations do not affect the fluid.
mfix.constraint = IncompressibleFluid
mfix.advect_density = 0
mfix.advect_enthalpy = 0
mfix.solve_species = 1
# Species model settings
# -----------------------------------------------------------------------
species.solve = N2 O2
species.diffusivity.model = constant
species.diffusivity.constant = 1.9e-5
# Fluid model settings
# -----------------------------------------------------------------------
fluid.solve = fluid
fluid.viscosity.molecular.model = constant
fluid.viscosity.molecular.constant = 2.0e-5
fluid.species = N2 O2
# Initial Conditions
# -----------------------------------------------------------------------
ic.regions = full-domain
ic.full-domain.fluid.volfrac = 1.0
ic.full-domain.fluid.density = 1.0
ic.full-domain.fluid.velocity = 0.0 0.0 0.0
ic.full-domain.fluid.species.N2 = 0.77
ic.full-domain.fluid.species.O2 = 0.23
# Boundary Conditions
# -----------------------------------------------------------------------
bc.regions = inlet outlet
bc.inlet = mi
bc.inlet.fluid.density = 1.0
bc.inlet.fluid.velocity = 1.0e-8 0.0 0.0
bc.inlet.fluid.species.N2 = 0.77
bc.inlet.fluid.species.O2 = 0.23
bc.outlet = po
bc.outlet.fluid.pressure = 0.
Fluid as mixture¶
In this example, the fluid is treated as a mixture of two species and the
IdealGasOpenSystem constraint is used. Because we are solving the
energy equation, the fluid thermal conductivity is provided and the
specific heats for both species are needed. The species specific heat
model is set to NASA7-poly; therefore 12 coefficients (6 low-temperature range
coefficients and 6 high-temperature range coefficients) are defined for each species.
Additionally, species molecular weights are provided to compute the mixture
molecular weights needed to evaluate the ideal-gas equation of state.
Fluid temperature is specified by the initial and boundary conditions, and unlike the previous example, density is no longer provided. Instead, the ideal gas equation of state is used to compute density from temperature, fluid composition, and the thermodynamic pressure. The thermodynamic pressure is taken as the outflow boundary condition pressure which is set here to 1 atmosphere.
NASA7-poly specific heat model. This is not a complete input file.¶mfix.constraint = IdealGasOpenSystem
mfix.advect_density = 1
mfix.solve_species = 1
mfix.advect_enthalpy = 1
# Species model settings
# -----------------------------------------------------------------------
species.solve = N2 O2
species.diffusivity.model = constant
species.diffusivity.constant = 1.9e-5
species.specific_heat.model = NASA7-poly
# Oxygen
species.O2.molecular_weight = 31.99880e-3
species.O2.specific_heat.NASA7.a0 = 3.78245636E+00 3.66096065E+00
species.O2.specific_heat.NASA7.a1 = -2.99673416E-03 6.56365811E-04
species.O2.specific_heat.NASA7.a2 = 9.84730201E-06 -1.41149627E-07
species.O2.specific_heat.NASA7.a3 = -9.68129509E-09 2.05797935E-11
species.O2.specific_heat.NASA7.a4 = 3.24372837E-12 -1.29913436E-15
species.O2.specific_heat.NASA7.a5 = -1.06394356E+03 -1.21597718E+03
# Nitrogen
species.N2.molecular_weight = 28.01340e-3
species.N2.specific_heat.NASA7.a0 = 3.53100528E+00 2.95257637E+00
species.N2.specific_heat.NASA7.a1 = -1.23660988E-04 1.39690040E-03
species.N2.specific_heat.NASA7.a2 = -5.02999433E-07 -4.92631603E-07
species.N2.specific_heat.NASA7.a3 = 2.43530612E-09 7.86010195E-11
species.N2.specific_heat.NASA7.a4 = -1.40881235E-12 -4.60755204E-15
species.N2.specific_heat.NASA7.a5 = -1.04697628E+03 -9.23948688E+02
# Fluid model settings
# -----------------------------------------------------------------------
fluid.solve = fluid
fluid.viscosity.molecular.model = constant
fluid.viscosity.molecular.constant = 2.0e-5
fluid.thermal_conductivity.model = constant
fluid.thermal_conductivity.constant = 0.026
fluid.specific_heat = mixture
fluid.species = N2 O2
# Initial Conditions
# -----------------------------------------------------------------------
ic.regions = full-domain
ic.full-domain.fluid.volfrac = 1.0
ic.full-domain.fluid.velocity = 0.0 0.0 0.0
ic.full-domain.fluid.species.N2 = 0.77
ic.full-domain.fluid.species.O2 = 0.23
ic.full-domain.fluid.temperature = 300.0
# Boundary Conditions
# -----------------------------------------------------------------------
bc.regions = inlet outlet
bc.inlet = mi
bc.inlet.fluid.inflow_type = velocity
bc.inlet.fluid.velocity = 1.0e-8
bc.inlet.fluid.species.N2 = 0.77
bc.inlet.fluid.species.O2 = 0.23
bc.inlet.fluid.temperature = 300.0
bc.outlet = po
bc.outlet.fluid.pressure = 101325.