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:

  • ‘incompressiblefluid’ for incompressibility constraint

  • ‘idealgasopensystem’ for Ideal Gas-Open System constraint

  • ‘idealgasclosedsystem’ for Ideal Gas-Closed System constraint

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:

  • ‘constant’ for constant diffusivity model

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:

  • ‘constant’ for constant specific heat model

  • ‘nasa7-poly’ for NASA7 Polynomials model

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:

  • ‘constant’ for constant viscosity model

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:

  • ‘constant’ for constant specific heat model

  • ‘mixture’ required when fluid is a mixture of species

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:

  • ‘constant’ for constant thermal conductivity model

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:

  • ‘constant’ for constant specific heat model

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:

  • inputs – the order in the inputs file

  • volume – the volume of each IC region

  • priority – the priority value provided by the user in the inputs

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:

  • hcp – hex-centered packing

  • random – random packing

  • pseudo_random

  • oneper – one particle per cell

  • eightper – eight particles per cell

  • n-cube – n^3 particles per cell where n is an integer

(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:

  • ‘constant’ – specified constant

  • ‘uniform’ – uniform distribution

  • ‘normal’ – normal distribution

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:

  • ‘constant’ – specified constant

  • ‘uniform’ – uniform distribution

  • ‘normal’ – normal distribution

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:

  • ‘pi’ for pressure inflow BC type

  • ‘po’ for pressure outflow BC type

  • ‘mi’ for mass inflow BC type

  • ‘nsw’ for no-slip wall BC type

  • ‘eb’ for inhomogeneous Dirichlet BCs of temperature or fluid velocity (mass inflow) on the contained EBs

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:

  • ‘mean_velocity’

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.