Problem Definition
In this section it is described how the input file can be configured in order to specify the settings of the problem at hand. The input file must be passed as first argument to the MFIX-Exa executable.
System of Units
MFIX-Exa adopts the International System of Units (SI). Simulations have to be set up accordingly. In the following table we provide a list of some of the physical quantities we can specify in the input file and their correspondent units.
Physical quantity |
MFIX-Exa SI unit |
---|---|
amount of substance |
mole [\(mol\)] |
length |
meter [\(m\)] |
mass |
kilogram [\(kg\)] |
time |
second [\(s\)] |
force |
Newton [\(N\)] |
temperature |
Kelvin [\(K\)] |
pressure |
Pascal [\(Pa\)] |
energy |
Joule [\(J\)] |
power |
Watt [\(W\)] |
density |
[\(kg \cdot m^{-3}\)] |
velocity |
[\(m \cdot s^{-1}\)] |
dynamic viscosity |
[\(Pa \cdot s\)] |
diffusivity |
[\(m^2 \cdot s^{-1}\)] |
specific heat capacity |
[\(J \cdot kg^{-1} \cdot K^{-1}\)] |
thermal conductivity |
[\(W \cdot m^{-1} \cdot K^{-1}\)] |
spring coefficient |
[\(N \cdot m^{-1}\)] |
molecular weight |
[\(kg \cdot mol^{-1}\)] |
heat of formation |
[\(J \cdot kg^{-1}\)] |
chemical reaction rate |
[\(mol \cdot m^{-3} \cdot s^{-1}\)] |
Mesh settings
There are some settings we can specify for the mesh and the automatic mesh refinement algorithm. These settings must be preceded by “amr.” in the input file.
Description |
Type |
Default |
|
---|---|---|---|
n_cell |
Number of cells at level 0 in each coordinate direction |
Ints |
0 0 0 |
max_level |
Maximum level of refinement allowed (0 when single-level) |
Int |
0 |
Geometry settings
The following inputs must be preceded by “geometry.”
Description |
Type |
Default |
|
---|---|---|---|
coord_sys |
0 for Cartesian |
Int |
0 |
is_periodic |
1 for true, 0 for false (one value for each coordinate direction) |
Ints |
0 0 0 |
prob_lo |
Low corner of physical domain (physical not index space) |
Reals |
0 0 0 |
prob_hi |
High corner of physical domain (physical not index space) |
Reals |
0 0 0 |
MFIX-Exa settings
The following inputs must be preceded by “mfix.”
Description |
Type |
Default |
|
---|---|---|---|
geometry |
Which type of amrex EB geometry are we using? |
String |
|
geometry_filename |
The CSG file that defines the EB geometry |
String |
|
levelset__refinement |
Refinement factor of levelset resolution relative to level 0 resolution |
Int |
1 |
gravity |
Gravity vector (e.g., mfix.gravity = -9.81 0.0 0.0) [required] |
Reals |
0 0 0 |
advect_density |
Switch for turning ON (1) or OFF (0) fluid density evolution |
Int |
0 |
advect_enthalpy |
Switch for turning ON (1) or OFF (0) fluid temperature evolution |
Int |
0 |
solve_species |
Switch for turning ON (1) or OFF (0) fluid species mass fraction evolution |
Int |
0 |
constraint_type |
Select which constraint to apply to the problem. Available options include:
|
String |
IncompressibleFluid |
Species model settings
Enabling the species mass fraction solver and specifying species model options.
Description |
Type |
Default |
|
---|---|---|---|
species.solve |
Specified name of the species or None to disable the species solver. The name assigned to the species solver is used to specify species inputs. |
String |
None |
The following inputs must be preceded by the “species.” prefix
Description |
Type |
Default |
|
---|---|---|---|
[specie0].molecular_weight |
Value of species molecular weight. [required if fluid.molecular_weight=’mixture’]. |
Real |
0 |
diffusivity |
Specify which diffusivity model to use for species [required]. Available options include:
|
String |
None |
diffusivity.constant |
Value of constant species diffusivity. [required if diffusivity_model=’constant’]. |
Real |
0 |
specific_heat |
Specify which specific heat model to use for species [required if fluid.molecular_weight=’mixture’]. Available options include:
|
String |
None |
[specie0].specific_heat.constant |
Value of constant species diffusivity. [required if diffusivity model=’constant’]. |
Real |
0 |
[specie0].specific_heat.NASA7.a[i] |
Value of i-th coefficient, with i=0,..,6 for NASA7 polynomial coefficient [required if specific heat model=’NASA7-Poly’]. |
Real |
0 |
[specie0].enthalpy_of_formation |
Value of constant enthalpy of formation. [required if specific heat model=’constant’]. |
Real |
0 |
Below is an example for specifying species solver model options.
species.solve = O2 CO CO2 Fe2O3 FeO
species.diffusivity = constant
species.diffusivity.constant = 1.9e-5
species.specific_heat = 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
# Carbon monoxide
species.CO.molecular_weight = 28.01040e-3
species.CO.specific_heat.NASA7.a0 = 3.57953350E+00 3.04848590E+00
species.CO.specific_heat.NASA7.a1 = -6.10353690E-04 1.35172810E-03
species.CO.specific_heat.NASA7.a2 = 1.01681430E-06 -4.85794050E-07
species.CO.specific_heat.NASA7.a3 = 9.07005860E-10 7.88536440E-11
species.CO.specific_heat.NASA7.a4 = -9.04424490E-13 -4.69807460E-15
species.CO.specific_heat.NASA7.a5 = -1.43440860E+04 -1.42661170E+04
# Carbon dioxide
species.CO2.molecular_weight = 44.00980e-3
species.CO2.specific_heat.NASA7.a0 = 2.35681300E+00 4.63651110E+00
species.CO2.specific_heat.NASA7.a1 = 8.98412990E-03 2.74145690E-03
species.CO2.specific_heat.NASA7.a2 = -7.12206320E-06 -9.95897590E-07
species.CO2.specific_heat.NASA7.a3 = 2.45730080E-09 1.60386660E-10
species.CO2.specific_heat.NASA7.a4 = -1.42885480E-13 -9.16198570E-15
species.CO2.specific_heat.NASA7.a5 = -4.83719710E+04 -4.90249040E+04
# Hematite
species.Fe2O3.molecular_weight = 159.68820e-3
species.Fe2O3.specific_heat.NASA7.a0 = 1.52218166E-01 2.09445369E+01
species.Fe2O3.specific_heat.NASA7.a1 = 6.70757040E-02 0.00000000E+00
species.Fe2O3.specific_heat.NASA7.a2 = -1.12860954E-04 0.00000000E+00
species.Fe2O3.specific_heat.NASA7.a3 = 9.93356662E-08 0.00000000E+00
species.Fe2O3.specific_heat.NASA7.a4 = -3.27580975E-11 0.00000000E+00
species.Fe2O3.specific_heat.NASA7.a5 = -1.01344092E+05 -1.07936580E+05
# Wustite
species.FeO.molecular_weight = 71.84440e-3
species.FeO.specific_heat.NASA7.a0 = 3.68765953E+00 1.81588527E+00
species.FeO.specific_heat.NASA7.a1 = 1.09133433E-02 1.70742829E-02
species.FeO.specific_heat.NASA7.a2 = -1.61179493E-05 -2.39919190E-05
species.FeO.specific_heat.NASA7.a3 = 1.06449256E-08 1.53690046E-08
species.FeO.specific_heat.NASA7.a4 = -2.39514915E-12 -3.53442390E-12
species.FeO.specific_heat.NASA7.a5 = -3.34867527E+04 -3.30239565E+04
Fluid model settings
Enabling the fluid solver and specifying fluid model options. The following inputs must be preceded by the given to the fluid solver e.g., “fluid.”
Description |
Type |
Default |
|
---|---|---|---|
solve |
Specify the names of the fluids or None to disable the fluid solver. The name assigned to the fluid solver is used to specify fluids inputs. |
String |
None |
molecular_weight |
Value of constant fluid molecular weight |
Real |
0 |
viscosity |
Specify which viscosity model to use for fluid [required]. Available options include:
|
String |
None |
viscosity.constant |
Value of constant fluid viscosity [required if viscosity_model=’constant’]. |
Real |
0 |
specific_heat |
Specify which specific heat model to use for fluid [required if advect_enthalpy]. Available options include:
|
String |
None |
specific_heat.constant |
Value of constant fluid specific heat [required if specific_heat_model=’constant’]. |
Real |
0 |
thermal_conductivity |
Specify which thermal conductivity model to use for fluid [required if advect_enthalpy=1]. available options include:
|
String |
None |
thermal_conductivity.constant |
Value of constant fluid thermal conductivity [required if thermal_conductivity_model=’constant’]. |
Real |
0 |
thermodynamic_pressure |
Value of the thermodynamic pressure [required if the constraint type is IdealGasClosedSystem] |
Real |
0 |
reference_temperature |
Value of the reference temperature used for specific enthalpy |
Real Real |
0 0 |
species |
Specify which species can constitute the fluid phase [defined species must be a subset of the species.solve arguments] |
String |
None |
newton_solver.absolute_tol |
Define absolute tolerance for Damped-Newton solver |
Real |
1.e-8 |
newton_solver.relative_tol |
Define relative tolerance for Damped-Newton solver |
Real |
1.e-8 |
newton_solver.max_iterations |
Define max number of iterations for Damped-Newton solver |
int |
500 |
Below is an example for specifying fluid solver model options.
fluid.solve = my_fluid
fluid.viscosity = constant
fluid.viscosity.constant = 1.8e-5
fluid.reference_temperature = 298.15
fluid.thermal_conductivity = constant
fluid.thermal_conductivity.constant = 0.024
fluid.specific_heat = mixture
fluid.species = O2 CO CO2
Solids model settings
Enabling the SOLIDS solver and specifying options common to both DEM and PIC models. The following inputs must be preceded by the “solids.” root
Description |
Type |
Default |
|
---|---|---|---|
types |
Specified name(s) of the SOLIDS types or None to disable the SOLIDS solver. The user defined names are used to specify DEM and/or PIC model inputs. |
String |
None |
molecular_weight |
Value of constant solid molecular weight |
Real |
0 |
specific_heat |
Specify which specific heat model to use for solid. Available options include:
|
String |
None |
specific_heat.constant |
Value of species molecular weight. [required if fluid.specific_heat = ‘constant’]. |
Real |
0 |
reference_temperature |
Value of the reference temperature used for specific enthalpy |
Real |
0 |
species |
Specify which species can constitute the fluid phase [defined species must be a subset of the species.solve arguments]. |
String |
None |
newton_solver.absolute_tol |
Define absolute tolerance for Damped-Newton solver |
Real |
1.e-6 |
newton_solver.relative_tol |
Define relative tolerance for Damped-Newton solver |
Real |
1.e-6 |
newton_solver.max_iterations |
Define max number of iterations for Damped-Newton solver |
int |
100 |
Below is an example for specifying the solids solver model options.
solids.types = my_solid0 my_solid1
solids.reference_temperature = 298.15
solids.specific_heat = mixture
solids.species = Fe2O3 FeO
Chemical Reactions model settings
Enabling the Chemical Reactions solver and specifying model options.
Description |
Type |
Default |
|
---|---|---|---|
chemistry.solve |
Specified name(s) of the chemical reactions types or None to disable the reactions solver. |
String |
None |
The following inputs must be preceded by the “chemistry.” prefix
Description |
Type |
Default |
|
---|---|---|---|
[reaction0].reaction |
Chemical formula for the given reaction. The string given as input must not contain white spaces and the reaction direction has to be specified as ‘–>’ or ‘<–’. Chemical species phases must be defined as ‘(g)’ for the fluid phase or ‘(s)’ for the solid phase. |
String |
None |
chemistry.solve = my_reaction0 my_reaction1
my_reaction0.reaction = Fe2O3(s)+CO(g)-->2.FeO(s)+CO2(g)
my_reaction1.reaction = FeO(s)+0.25O2(g)-->0.5Fe2O3(s)
DEM model settings
Enabling the DEM solver and specifying model options.
Description |
Type |
Default |
|
---|---|---|---|
dem.solve |
Specified name(s) of the DEM types or None to disable the DEM solver. The user defined names are used to specify DEM model inputs. |
String |
None |
dem.friction_coeff.pp |
Friction coefficient :: particle to particle collisions [required] |
Real |
0 |
dem.friction_coeff.pw |
Friction coefficient :: particle to wall collisions [required] |
Real |
0 |
dem.spring_const.pp |
Normal spring constant :: particle to particle collisions [required] |
Real |
0 |
dem.spring_const.pw |
Normal spring constant :: particle to wall collisions [required] |
Real |
0 |
dem.spring_tang_fac.pp |
Tangential-to-normal spring constant factor :: particle to particle collisions [required] |
Real |
0 |
dem.spring_tang_fac.pw |
Tangential-to-normal spring constant factor :: particle to wall collisions [required] |
Real |
0 |
dem.damping_tang_fac.pp |
Factor relating the tangential damping coefficient to the normal damping coefficient :: particle to particle collisions [required] |
Real |
0 |
dem.damping_tang_fac.pw |
Factor relating the tangential damping coefficient to the normal damping coefficient :: particle to wall collisions [required] |
Real |
0 |
The following inputs use the DEM type names specified using the dem.solve input to define restitution coefficients and are proceeded with dem.restitution_coeff. These must be defined for all solid-solid and solid-wall combinations.
Description |
Type |
Default |
|
---|---|---|---|
[solid0].[solid1] |
Specifies the restitution coefficient between solid0 and solid1. Here the order is not important and could be defined as [solid1].[solid0] |
Real |
0 |
[solid0].wall |
Specifies the restitution coefficient between solid0 and the wall. Order is not important and this could be defined as wall.[solid0] |
Real |
0 |
Below is an example for specifying the inputs for two DEM solids.
dem.solve = sand char
dem.friction_coeff.pp = 0.25
dem.friction_coeff.pw = 0.15
dem.spring_const.pp = 100.0
dem.spring_const.pw = 100.0
dem.spring_tang_fac.pp = 0.2857
dem.spring_tang_fac.pw = 0.2857
dem.damping_tang_fac.pp = 0.5
dem.damping_tang_fac.pw = 0.5
dem.restitution_coeff.sand.sand = 0.85
dem.restitution_coeff.sand.char = 0.88
dem.restitution_coeff.char.char = 0.90
dem.restitution_coeff.sand.wall = 0.85
dem.restitution_coeff.char.wall = 0.89
Region definitions
Regions are used to define sections of the domain. They may be either boxes, planes or points. They are used in building initial condition regions.
Description |
Type |
Default |
|
---|---|---|---|
mfix.regions |
Names given to regions. |
String |
None |
regions.[region].lo |
Low corner of physical region (physical, not index space) |
Reals |
0 0 0 |
regions.[region].hi |
High corner of physical region (physical, not index space) |
Reals |
0 0 0 |
Below is an example for specifying two regions.
mfix.regions = full-domain riser
regions.full-domain.lo = 0.0000 0.0000 0.0000
regions.full-domain.hi = 3.7584 0.2784 0.2784
regions.riser.lo = 0.0000 0.0000 0.0000
regions.riser.hi = 0.1000 0.2784 0.2784
Initial Conditions
Initial conditions are built from defined regions. The input names are built using the prefix ic., the name of the region to apply the IC, and the name of the phase (e.g., myfluid). The following inputs must be preceded by the root ic..
Description |
Type |
Default |
|
---|---|---|---|
regions |
Regions used to define initial conditions. |
String |
None |
allow_regions_overlap |
Flag for allowing the user to decide whether particles will be generated/initialized more than once on the areas where the IC regions have an intersection |
Bool |
1 (yes) |
ranking_type |
IC regions are sorted during initialization. This input lets the user decide the ranking criterion, which can be one of the following:
|
String |
Inputs |
For a fluid phase, the following inputs can be defined.
Description |
Type |
Default |
|
---|---|---|---|
volfrac |
Volume fraction [required] |
Real |
0 |
density |
Fluid density |
Real |
0 |
temperature |
Fluid temperature |
Real |
0 |
velocity |
Velocity components |
Reals |
0 0 0 |
species.[species0] |
Species ‘species0’ mass fraction |
Reals |
0 0 0 |
The name of the DEM phases to be defined in the IC region and the packing must be defined.
Description |
Type |
Default |
|
---|---|---|---|
ic.[region].solids |
Solids type in this IC region (only one type per region allowed) |
String |
None |
ic.[region].priority |
Priority value for IC regions ranking as described above |
Int |
Max |
ic.[region].packing |
Specifies how auto-generated particles are placed in the IC region:
(NOTE: oneper is equivalent to 1-cube and eightper to 2-cube) |
String |
None |
For each solid, the following inputs may be defined.
Description |
Type |
Default |
|
---|---|---|---|
volfrac |
Volume fraction |
Real |
0 |
temperature |
Fluid temperature |
Real |
0 |
species.[species0] |
Species ‘species0’ mass fraction |
Real |
0 |
velocity |
Velocity components |
Reals |
0 0 0 |
diameter |
Method to specify particle diameter in the IC region. This is only used for auto-generated particles. Available options include:
|
String |
None |
diameter.constant |
Value of specified constant particle density |
Real |
0 |
diameter.mean |
Distribution mean |
Real |
0 |
diameter.std |
Distribution standard deviation |
Real |
0 |
diameter.min |
Minimum diameter to clip distribution |
Real |
0 |
diameter.max |
Maximum diameter to clip distribution |
Real |
0 |
density |
Method to specify particle density in the IC region. This is only used for auto-generated particles. Available options include:
|
String |
None |
density.constant |
Value of specified constant particle density |
Real |
0 |
density.mean |
Distribution mean |
Real |
0 |
density.std |
Distribution standard deviation |
Real |
0 |
density.min |
Minimum density to clip distribution |
Real |
0 |
density.max |
Maximum density to clip distribution |
Real |
0 |
Below is an example for specifying an initial condition for a fluid (fluid) and one DEM solid (solid0).
ic.regions = bed0 bed1
ic.bed0.my_fluid.volfrac = 0.725
ic.bed0.my_fluid.density = 1.0
ic.bed0.my_fluid.velocity = 0.015 0.00 0.00
ic.bed0.my_fluid.temperature = 383.0
ic.bed0.my_fluid.species.CO = 0.3
ic.bed0.my_fluid.species.CO2 = 0.2
ic.bed0.my_fluid.species.O2 = 0.5
ic.bed0.solids = my_solid0
ic.bed0.packing = pseudo_random
ic.bed0.my_solid0.volfrac = 0.275
ic.bed0.my_solid0.temperature = 400.0
ic.bed0.my_solid0.species.Fe2O3 = 0.4
ic.bed0.my_solid0.species.FeO = 0.6
ic.bed0.my_solid0.velocity = 0.00 0.00 0.00
ic.bed0.my_solid0.diameter = constant
ic.bed0.my_solid0.diameter.constant = 100.0e-6
ic.bed0.my_solid0.density = constant
ic.bed0.my_solid0.density.constant = 1000.0
ic.bed1.my_fluid.volfrac = 0.925
ic.bed1.my_fluid.density = 1.0
ic.bed1.my_fluid.velocity = 0.015 0.00 0.00
ic.bed1.my_fluid.temperature = 383.0
ic.bed1.my_fluid.species.CO = 0.5
ic.bed1.my_fluid.species.CO2 = 0.5
ic.bed1.my_fluid.species.O2 = 0.0
ic.bed1.solids = my_solid1
ic.bed1.packing = pseudo_random
ic.bed1.my_solid1.volfrac = 0.075
ic.bed1.my_solid1.temperature = 450.0
ic.bed1.my_solid1.species.Fe2O3 = 0.0
ic.bed1.my_solid1.species.FeO = 1.0
ic.bed1.my_solid1.velocity = 0.10 0.00 0.00
ic.bed1.my_solid1.diameter = constant
ic.bed1.my_solid1.diameter.constant = 110.0e-6
ic.bed1.my_solid1.density = constant
ic.bed1.my_solid1.density.constant = 900.0
Boundary Conditions
Boundary conditions are built from defined regions. The input names are built using the prefix bc., the name of the region to apply the BC, and the name of the phase (e.g., myfluid).
Description |
Type |
Default |
|
---|---|---|---|
bc.regions |
Regions used to define boundary conditions. |
String |
None |
The type of the boundary conditions in the BC region must be defined.
Description |
Type |
Default |
|
---|---|---|---|
bc.[region] |
Used to define boundary condition type. Available options include:
|
String |
None |
bc.po_no_par_out |
Let particles exit (default) or bounce-back at pressure outflows |
Int |
0 |
For a fluid phase, the following inputs can be defined.
Description |
Type |
Default |
|
---|---|---|---|
volfrac |
Volume fraction [required if bc_region_type=’mi’] |
Real |
0 |
density |
Fluid density [required if bc_region_type=’mi’ or ‘pi’] |
Real |
0 |
pressure |
Fluid pressure [required if bc_region_type=’po’ or ‘pi’] |
Real |
0 |
temperature |
Fluid temperature [required if bc_region_type=’mi’ or ‘pi’] |
Real |
0 |
velocity |
Velocity components [required if bc_region_type=’mi’] |
Reals |
0 0 0 |
delp_dir |
Direction for specified pressure drop. Note that this direction should also be periodic. |
Int |
0 |
delp |
Pressure drop (Pa) |
Real |
0 |
species.[species0] |
Species ‘species0’ mass fraction [required if solve_species=1 and bc_region_type=’mi’ or ‘pi’]. |
Real |
0 |
Below is an example for specifying boundary conditions for a fluid myfluid.
bc.regions = inflow outflow
bc.inflow = mi
bc.inflow.my_fluid.volfrac = 1.0
bc.inflow.my_fluid.density = 1.0
bc.inflow.my_fluid.velocity = 0.015 0.0 0.0
bc.inflow.my_fluid.temperature = 300
bc.inflow.my_fluid.species.O2 = 0.0
bc.inflow.my_fluid.species.CO = 0.5
bc.inflow.my_fluid.species.CO2 = 0.5
bc.outflow = po
bc.outflow.myfluid.pressure = 0.0
# In case of Ideal Gas EOS with Open System constraint
# the thermodynamic pressure at outflow is required
bc.outflow.thermodynamic_pressure = 356318.21
Transient Boundary Conditions
Velocity, temperature, and pressure boundary conditions may also be specified as a function of time simply by adding a new column. The time value is entered in the new first column. We can make the mi boundary condition above time-dependent by replacing:
bc.inflow.my_fluid.velocity = 0.0 0.0 0.0 0.0
bc.inflow.my_fluid.velocity = 3.0 0.015 0.0 0.0
bc.inflow.my_fluid.temperature = 0.0 300
bc.inflow.my_fluid.temperature = 2.99 300
bc.inflow.my_fluid.temperature = 3.0 500
bc.inflow.my_fluid.temperature = 4.0 500
bc.inflow.my_fluid.temperature = 4.01 300
In the above example, the inflow velocity is accelerated from zero to its final value over a period of three seconds. Linear interpolation is used in between discrete time values and held constant at the last time value. The temperature sees an abrupt spike from 300 up to 500 at t = 3s and then back down again after 4s. Note that the timestep is not adjusted to sync with transient BCs.
Boundary Conditions on Embedded Boundaries
In MFIX-Exa it is possible to set boundary conditions on the embedded boundaries. For instance, it is possible to set inhomogeneous Dirichlet boundary conditions for the fluid temperature variable on the subpart of the embedded boundaries which is contained in the BC region (which in this case has to be tridimensional). We recall that, on the remaining part of the EBs, homogeneous Neumann boundary conditions are assumed by default.
In the following table there is a list of the possible entries for EB boundary conditions. Each entry must be preceded by bc.[region0].
Description |
Type |
Default |
|
---|---|---|---|
eb.temperature |
Inhomogeneous Dirichlet BC value for temperature on EBs contained in the (tridimensional) region [required if advect_enthalpy=1 and bc_region_type=’eb’]. |
Real |
0.0 |
Below is an example for specifying boundary conditions for a fluid myfluid.
bc.regions = hot-wall
bc.hot-walls = eb
bc.hot-walls.eb.temperature = 800
In addition to the temperature, it is possible to set an inflow condition for fluid on an embedeed boundary. We recall that, on the remaining part of the EBs, no slip velocity conditions are assumed by default.
In the following table there is a list of the possible entries for inflow EB boundary conditions. Each entry must be preceded by bc.[region0]. Like traditional mass inflows, the fluid temperature, pressure, and species composition must be provided when appropriate.
Description |
Type |
Default |
|
---|---|---|---|
fluid.velocity |
(Required if not volflow) Inflow fluid velocity on EB faces contained in the (tridimensional) region. Note that if only one value is specified, that is assumed to be the magnitude in the direction of the EB face’s normal. |
Reals |
0 0 0 |
fluid.volflow |
(Required if not velocity) Inflow BC for fluid volumetric flow rate in the (tridimensional) region. The flow is assumed to be normal to the EB surface in the region. |
Real |
0 |
fluid.volfrac |
(Required) Volume fraction. |
Real |
0 |
eb.normal |
(Optional) When specified, only cells with EB face normal that is parallel and opposite in direction to the specified values are imposed with the inflow velocity. |
Reals |
0 0 0 |
eb.normal_tol |
(Optional) Used in conjunction with eb.normal. It determines the tolerance (in degrees) for choosing cells with a specific normal. |
Real |
0 |
Below is an example for specifying a normal inflow velocity magnitude for a region eb-flow.
bc.regions = eb-flow
bc.eb-flow = eb
bc.eb-flow.my_fluid.volfrac = 1.0
bc.eb-flow.my_fluid.velocity = 0.1
Below is an example where only specific cells are imposed a velocity in the x-direction.
bc.regions = eb-flow
bc.eb-flow = eb
bc.eb-flow.eb.normal_tol = 3.0
bc.eb-flow.eb.normal = 0.9848 0.0000 0.1736 # 10 deg
bc.eb-flow.my_fluid.volfrac = 1.0
bc.eb-flow.my_fluid.velocity = 0.1 0.0 0.0
Constraints
Additional constraints may be imposed on problems which are under-determined by IBCs, typically occurring in periodic domains. Currently, only particle constraints are supported. The prefix particles. should be applied to all input keywords listed below.
Description |
Type |
Default |
|
---|---|---|---|
constraint |
Constraint type. Available options include:
|
String |
None |
For the mean_velocity constraint, the following inputs can be defined.
Description |
Type |
Default |
|
---|---|---|---|
mean_velocity_x |
mean particle velocity in dir=0 |
Real |
Undefined |
mean_velocity_y |
mean particle velocity in dir=1 |
Real |
Undefined |
mean_velocity_z |
mean particle velocity in dir=2 |
Real |
Undefined |
Below is an example for zero mean particle velocity in all three directions.
particles.constraint = "mean_velocity"
particles.constraint.mean_velocity_x = 0.
particles.constraint.mean_velocity_y = 0.
particles.constraint.mean_velocity_z = 0.