diff --git a/docs/source/InputsProblemDefinition.rst b/docs/source/InputsProblemDefinition.rst index 3f29f797f4cda6d2dab8da8d17d74745a8b51eb9..d3304926ae69d598a44b1921ff8602bb038a8a3e 100644 --- a/docs/source/InputsProblemDefinition.rst +++ b/docs/source/InputsProblemDefinition.rst @@ -48,7 +48,7 @@ The following inputs must be preceded by "mfix." +----------------------+-------------------------------------------------------------------------+----------+-----------+ | po_no_par_out | Let particles exit (default) or bounce-back at pressure outflows | Int | 0 | +----------------------+-------------------------------------------------------------------------+----------+-----------+ -| gravity | Gravity vector (e.g., mfix.gravity = -9.81 0.0 0.0) [requried] | Reals | None | +| gravity | Gravity vector (e.g., mfix.gravity = -9.81 0.0 0.0) [required] | Reals | None | +----------------------+-------------------------------------------------------------------------+----------+-----------+ @@ -85,20 +85,246 @@ To specify multiple mass inflows (e.g., define a jet and uniform background flow xlo.zhi = 0.75 -The following inputs must be preceded by "fluid." +## Fluid model settings ## + +Enabling the fluid solver and specifying fluid model options. +----------------------+-------------------------------------------------------------------------+----------+-----------+ | | Description | Type | Default | +======================+=========================================================================+==========+===========+ -| solve | Flag to enable (1) or disable (0) the fluid solver [required] | Int | None | +| fluid.solve | Specified name of the fluid or None to disable the fluid solver. The | String | None | +| | name assigned to the fluid solver is used to specify fluid inputs. | | | ++----------------------+-------------------------------------------------------------------------+----------+-----------+ + + +The following inputs must be preceded by the given to the fluid solver e.g., "fluid." +----------------------+-------------------------------------------------------------------------+----------+-----------+ -| density_model | Specify which density model to use for fluid [requried] | String | None | +| | Description | Type | Default | ++======================+=========================================================================+==========+===========+ +| density | Specify which density model to use for fluid [required] | String | None | | | "constant" -- constant density | | | +----------------------+-------------------------------------------------------------------------+----------+-----------+ -| constant_density | Value of constant fluid density [required if density_model= "constant" | Real | None | +| density.constant | Value of constant fluid density [required if density_model= "constant" | Real | None | +----------------------+-------------------------------------------------------------------------+----------+-----------+ -| viscosity_model | Specify which viscosity model to use for fluid [requried] | String | None | +| viscosity | Specify which viscosity model to use for fluid [required] | String | None | | | "constant" -- constant viscosity | | | +----------------------+-------------------------------------------------------------------------+----------+-----------+ -| constant_viscosity | Value of constant fluid viscosity [required if viscosity_model="constant"| Real | None | +| viscosity.constant | Value of constant fluid viscosity [required if viscosity_model="constant"| Real | None | +----------------------+-------------------------------------------------------------------------+----------+-----------+ + +Below is an example for specifying fluid solver model options. + +.. code-block:: none + + fluid.solve = myfluid + + myfluid.density = constant + myfluid.density.constant = 1.0 + + myfluid.viscosity = constant + myfluid.viscosity.constant = 1.8e-5 + + + +## 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. | String | None | +| | The user defined names are used to specify DEM model inputs. | | | ++-------------------------+-------------------------------------------------------------------------+----------+-----------+ +| dem.friction_coeff.pp | Friction coefficient :: particle to particle collisions [required] | Real | None | ++-------------------------+-------------------------------------------------------------------------+----------+-----------+ +| dem.friction_coeff.pw | Friction coefficient :: particle to wall collisions [required] | Real | None | ++-------------------------+-------------------------------------------------------------------------+----------+-----------+ +| dem.spring_const.pp | Normal spring constant :: particle to particle collisions [required] | Real | None | ++-------------------------+-------------------------------------------------------------------------+----------+-----------+ +| dem.spring_const.pw | Normal spring constant :: particle to wall collisions [required] | Real | None | ++-------------------------+-------------------------------------------------------------------------+----------+-----------+ +| dem.spring_tang_fac.pp | Tangential-to-normal spring constant factor :: particle to particle | Real | None | +| | collisions [required] | | | ++-------------------------+-------------------------------------------------------------------------+----------+-----------+ +| dem.spring_tang_fac.pw | Tangential-to-normal spring constant factor :: particle to wall | Real | None | +| | collisions [required] | | | ++-------------------------+-------------------------------------------------------------------------+----------+-----------+ +| dem.damping_tang_fac.pp | Factor relating the tangential damping coefficient to the normal | Real | None | +| | damping coefficient :: particle to particle collisions [required] | | | ++-------------------------+-------------------------------------------------------------------------+----------+-----------+ +| dem.damping_tang_fac.pw | Factor relating the tangential damping coefficient to the normal | Real | None | +| | damping coefficient :: particle to wall collisions [required] | | | ++-------------------------+-------------------------------------------------------------------------+----------+-----------+ + +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 | Real | None | +| | the order is not important and could be defined as [solid1].[solid0] | | | ++-------------------------+-------------------------------------------------------------------------+----------+-----------+ +| [solid0].wall | Specifies the restitution coefficient between solid0 and the wall. | Real | None | +| | Order is not important and this could be defined as wall.[solid0] | | | ++-------------------------+-------------------------------------------------------------------------+----------+-----------+ + +Below is an example for specifying the inputs for two DEM solids. + +.. code-block:: none + + 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 | None | ++---------------------+-----------------------------------------------------------------------+-------------+-----------+ +| regions.[region].hi | High corner of physical region (physical not index space) | Reals | None | ++---------------------+-----------------------------------------------------------------------+-------------+-----------+ + +Below is an example for specifying two regions. + +.. code-block:: none + + 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 build 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., `myfuild`). ++---------------------+-----------------------------------------------------------------------+-------------+-----------+ +| | Description | Type | Default | ++=====================+=======================================================================+=============+===========+ +| ic.regions | Regions used to define initial conditions. | String | None | ++---------------------+-----------------------------------------------------------------------+-------------+-----------+ + +For a fluid phase, the following inputs can be defined. ++---------------------+-----------------------------------------------------------------------+-------------+-----------+ +| | Description | Type | Default | ++=====================+=======================================================================+=============+===========+ +| volfrac | Volume fraction [required] | Real | None | ++---------------------+-----------------------------------------------------------------------+-------------+-----------+ +| pressure | Fluid pressure | Real | None | ++---------------------+-----------------------------------------------------------------------+-------------+-----------+ +| temperature | Fluid temperature | Real | None | ++---------------------+-----------------------------------------------------------------------+-------------+-----------+ +| velocity | Velocity components | Reals | None | ++---------------------+-----------------------------------------------------------------------+-------------+-----------+ + + +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 | List of solids | Strings | None | ++---------------------+-----------------------------------------------------------------------+-------------+-----------+ +| ic.[region].packing | Specifies how auto-generated particles are placed in the IC region: | String | None | +| | * hcp - Hex-centered packing | | | +| | * random | | | +| | * pseudo_random | | | +| | * oneper -- one particle per cell | | | +| | * eightper -- eight particles per cell | | | ++---------------------+-----------------------------------------------------------------------+-------------+-----------+ + +For each solid, the following inputs may be defined. ++---------------------+-----------------------------------------------------------------------+-------------+-----------+ +| | Description | Type | Default | ++=====================+=======================================================================+=============+===========+ +| volfrac | Volume fraction | Real | None | ++---------------------+-----------------------------------------------------------------------+-------------+-----------+ +| temperature | Fluid temperature | Real | None | ++---------------------+-----------------------------------------------------------------------+-------------+-----------+ +| velocity | Velocity components | Reals | None | ++---------------------+-----------------------------------------------------------------------+-------------+-----------+ +| diameter | Method to specify particle diameter in the IC region. This is | String | None | +| | only used for auto-generated particles. | | | +| | * constant -- specified constant | | | +| | * uniform -- uniform distribution | | | +| | * normal -- normal distribution | | | ++---------------------+-----------------------------------------------------------------------+-------------+-----------+ +| diameter.constant | Value of specified constant particle density | Real | None | ++---------------------+-----------------------------------------------------------------------+-------------+-----------+ +| diameter.mean | Distribution mean | Real | None | ++---------------------+-----------------------------------------------------------------------+-------------+-----------+ +| diameter.std | Distribution standard deviation | Real | None | ++---------------------+-----------------------------------------------------------------------+-------------+-----------+ +| diameter.min | Minimum diameter to clip distribution | Real | None | ++---------------------+-----------------------------------------------------------------------+-------------+-----------+ +| diameter.max | Maximum diameter to clip distribution | Real | None | ++---------------------+-----------------------------------------------------------------------+-------------+-----------+ +| density | Method to specify particle density in the IC region. This is | String | None | +| | only used for auto-generated particles. | | | +| | * constant -- specified constant | | | +| | * uniform -- uniform distribution | | | +| | * normal -- normal distribution | | | ++---------------------+-----------------------------------------------------------------------+-------------+-----------+ +| density.constant | Value of specified constant particle density | Real | None | ++---------------------+-----------------------------------------------------------------------+-------------+-----------+ +| density.mean | Distribution mean | Real | None | ++---------------------+-----------------------------------------------------------------------+-------------+-----------+ +| density.std | Distribution standard deviation | Real | None | ++---------------------+-----------------------------------------------------------------------+-------------+-----------+ +| density.min | Minimum density to clip distribution | Real | None | ++---------------------+-----------------------------------------------------------------------+-------------+-----------+ +| density.max | Maximum density to clip distribution | Real | None | ++---------------------+-----------------------------------------------------------------------+-------------+-----------+ + + +Below is an example for specifying an initial condition for a fluid (fluid) and one DEM solid (solid0). + +.. code-block:: none + + ic.regions = bed + + ic.bed.fluid.volfrac = 0.725 + + ic.bed.fluid.velocity = 0.015 0.00 0.00 + + ic.bed.solids = solid0 + ic.bed.packing = pseudo_random + + ic.bed.solid0.volfrac = 0.275 + + ic.bed.solid0.velocity = 0.00 0.00 0.00 + + ic.bed.solid0.diameter = constant + ic.bed.solid0.diameter.constant = 100.0e-6 + + ic.bed.solid0.density = constant + ic.bed.solid0.density.constant = 1000.0