From e36eeafa842d6d135db0b30f16fd989768c0bc30 Mon Sep 17 00:00:00 2001 From: Charles G Waldman Date: Thu, 22 Jan 2026 17:03:05 -0600 Subject: [PATCH 01/16] remove "box" default for geom_type --- docs/source_docs/user_guide/inputs/geometry.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/source_docs/user_guide/inputs/geometry.rst b/docs/source_docs/user_guide/inputs/geometry.rst index bc4f7cc..a692929 100644 --- a/docs/source_docs/user_guide/inputs/geometry.rst +++ b/docs/source_docs/user_guide/inputs/geometry.rst @@ -8,7 +8,7 @@ The following inputs are defined using the prefix ``mfix``: +------------------------+-------------------------------------------------------------------------------+----------+---------------------+ | | Description | Type | Default | +========================+===============================================================================+==========+=====================+ -| geometry | Simulation geometry type. | String | 'box' | +| geometry | Simulation geometry type. | String | | | | Options (case-insensitive): | | | | | | | | | | * ``box`` - predefined :ref:`box geometry` | | | -- GitLab From a5c630710c0d3496ff2d0c35025ab478cdc347d0 Mon Sep 17 00:00:00 2001 From: Charles G Waldman Date: Thu, 22 Jan 2026 17:03:15 -0600 Subject: [PATCH 02/16] levelset__refinement -> levelset_refinement --- docs/source_docs/user_guide/inputs/geometry.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/source_docs/user_guide/inputs/geometry.rst b/docs/source_docs/user_guide/inputs/geometry.rst index a692929..63582d8 100644 --- a/docs/source_docs/user_guide/inputs/geometry.rst +++ b/docs/source_docs/user_guide/inputs/geometry.rst @@ -19,7 +19,7 @@ The following inputs are defined using the prefix ``mfix``: | | * ``None`` - no embedded boundary -- all domain faces must be specified | | | | | | | | +------------------------+-------------------------------------------------------------------------------+----------+---------------------+ -| levelset__refinement | Refinement factor of levelset resolution relative to level 0 | Int | 1 | +| levelset_refinement | Refinement factor of levelset resolution relative to level 0 | Int | 1 | | | resolution | | | +------------------------+-------------------------------------------------------------------------------+----------+---------------------+ -- GitLab From 84e30104f232861dbd1f6598a1269f6f08b6cc50 Mon Sep 17 00:00:00 2001 From: Charles G Waldman Date: Thu, 22 Jan 2026 17:03:27 -0600 Subject: [PATCH 03/16] temperature -> Temperature --- docs/source_docs/user_guide/inputs/initial_conditions.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/source_docs/user_guide/inputs/initial_conditions.rst b/docs/source_docs/user_guide/inputs/initial_conditions.rst index 5c1397c..f118462 100644 --- a/docs/source_docs/user_guide/inputs/initial_conditions.rst +++ b/docs/source_docs/user_guide/inputs/initial_conditions.rst @@ -88,7 +88,7 @@ please refer to :ref:`ReferenceParticleDistributions Date: Thu, 22 Jan 2026 17:03:44 -0600 Subject: [PATCH 04/16] mfix -> mfix.tag --- docs/source_docs/user_guide/inputs/mesh_and_gridding.rst | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/docs/source_docs/user_guide/inputs/mesh_and_gridding.rst b/docs/source_docs/user_guide/inputs/mesh_and_gridding.rst index 5f30221..2539f54 100644 --- a/docs/source_docs/user_guide/inputs/mesh_and_gridding.rst +++ b/docs/source_docs/user_guide/inputs/mesh_and_gridding.rst @@ -110,7 +110,7 @@ Cells intersected by the embedded boundary are always tagged for refinement, reg | | the specified value. | | | | | | | | | | * To tag cells when density is **less than** the specified value, | | | -| | set ``mfix.rho.less_than = true``. | | | +| | set ``mfix.tag.rho.less_than = true``. | | | | | * Values may be specified per level. If fewer than ``amr.max_level`` | | | | | values are provided, the last value is used for all higher levels. | | | +----------------------+-----------------------------------------------------------------------+-------------+-----------+ @@ -121,7 +121,7 @@ Cells intersected by the embedded boundary are always tagged for refinement, reg | | two adjacent cells is greater than the specified value. | | | | | | | | | | * To tag cells when the difference is less than the specified value, | | | -| | set ``mfix.grad_rho.less_than = true``. | | | +| | set ``mfix.tag.grad_rho.less_than = true``. | | | | | * Values may be specified per level. If fewer than ``amr.max_level`` | | | | | values are provided, the last value is used for all higher levels. | | | +----------------------+-----------------------------------------------------------------------+-------------+-----------+ @@ -133,7 +133,7 @@ Cells intersected by the embedded boundary are always tagged for refinement, reg | | specified value. | | | | | | | | | | * To tag cells when the difference is less than the specified value, | | | -| | set ``mfix.grad_vel.less_than = true``. | | | +| | set ``mfix.tag.vel.less_than = true``. | | | | | * Values may be specified per level. If fewer than ``amr.max_level`` | | | | | values are provided, the last value is used for all higher levels. | | | | | | | | @@ -148,7 +148,7 @@ Cells intersected by the embedded boundary are always tagged for refinement, reg | | specified value. | | | | | | | | | | * To tag cells when the difference is less than the specified value, | | | -| | set ``mfix.grad_vel.less_than = true``. | | | +| | set ``mfix.tag.grad_vel.less_than = true``. | | | | | * Values may be specified per level. If fewer than ``amr.max_level`` | | | | | values are provided, the last value is used for all higher levels. | | | +----------------------+-----------------------------------------------------------------------+-------------+-----------+ -- GitLab From 9d8d8a8c08b9f3b3f27a384123fa1fcb8bf6b321 Mon Sep 17 00:00:00 2001 From: Charles G Waldman Date: Thu, 22 Jan 2026 17:04:03 -0600 Subject: [PATCH 05/16] reorder, add "refine_grid_layout" --- .../user_guide/inputs/mesh_and_gridding.rst | 18 ++++++++++++------ 1 file changed, 12 insertions(+), 6 deletions(-) diff --git a/docs/source_docs/user_guide/inputs/mesh_and_gridding.rst b/docs/source_docs/user_guide/inputs/mesh_and_gridding.rst index 2539f54..7cc5164 100644 --- a/docs/source_docs/user_guide/inputs/mesh_and_gridding.rst +++ b/docs/source_docs/user_guide/inputs/mesh_and_gridding.rst @@ -171,18 +171,24 @@ The following inputs are defined using the prefix ``amr``: +----------------------+-----------------------------------------------------------------------+-------------+-----------+ | | Description | Type | Default | +======================+=======================================================================+=============+===========+ -| max_grid_size_x | Maximum number of cells at level 0 in each grid in *X* | Int | 32 | +| blocking_factor_x | Each grid in *X* must be divisible by ``blocking_factor_x`` | Int | 8 | +----------------------+-----------------------------------------------------------------------+-------------+-----------+ -| max_grid_size_y | Maximum number of cells at level 0 in each grid in *Y* | Int | 32 | +| blocking_factor_y | Each grid in *Y* must be divisible by ``blocking_factor_y`` | Int | 8 | +----------------------+-----------------------------------------------------------------------+-------------+-----------+ -| max_grid_size_z | Maximum number of cells at level 0 in each grid in *Z* | Int | 32 | +| blocking_factor_z | Each grid in *Z* must be divisible by ``blocking_factor_z`` | Int | 8 | +----------------------+-----------------------------------------------------------------------+-------------+-----------+ -| blocking_factor_x | Each grid in *X* must be divisible by ``blocking_factor_x`` | Int | 8 | +| max_grid_size_x | Maximum number of cells at level 0 in each grid in *X* | Int | 32 | +----------------------+-----------------------------------------------------------------------+-------------+-----------+ -| blocking_factor_y | Each grid in *Y* must be divisible by ``blocking_factor_y`` | Int | 8 | +| max_grid_size_y | Maximum number of cells at level 0 in each grid in *Y* | Int | 32 | +----------------------+-----------------------------------------------------------------------+-------------+-----------+ -| blocking_factor_z | Each grid in *Z* must be divisible by ``blocking_factor_z`` | Int | 8 | +| max_grid_size_z | Maximum number of cells at level 0 in each grid in *Z* | Int | 32 | +----------------------+-----------------------------------------------------------------------+-------------+-----------+ +| refine_grid_layout | If true, AMReX will attempt to chop new grids into smaller chunks | Bool | true | +| | ensuring at least one grid per MPI process, provided this does not | | | +| | violate the blocking factor constraint. | | | ++----------------------+-----------------------------------------------------------------------+-------------+-----------+ + +Note, the default for ``max_grid_size`` is 64 for GPU runs. The domain is decomposed into *grids* by dividing the number of cells by the max grid size for each direction (e.g., ``n_cells[0]/max_grid_size_x``). The blocking factor ensures that -- GitLab From 3bd0ad9ce8ed7cc6bca7c1260b893c254b570dfa Mon Sep 17 00:00:00 2001 From: Charles G Waldman Date: Thu, 22 Jan 2026 17:04:47 -0600 Subject: [PATCH 06/16] fix gem_levelset_chk, adjust defaults -1 -> 0 --- .../inputs/output/checkpointing.rst | 52 +++++++++---------- 1 file changed, 26 insertions(+), 26 deletions(-) diff --git a/docs/source_docs/user_guide/inputs/output/checkpointing.rst b/docs/source_docs/user_guide/inputs/output/checkpointing.rst index 3eda37d..bb56591 100644 --- a/docs/source_docs/user_guide/inputs/output/checkpointing.rst +++ b/docs/source_docs/user_guide/inputs/output/checkpointing.rst @@ -5,29 +5,29 @@ Checkpointing The following inputs must be preceded by the prefix ``mfix`` and control checkpoint/restart: -+-------------------------+-----------------------------------------------------------------------+-------------+------------+ -| | Description | Type | Default | -+=========================+=======================================================================+=============+============+ -| restart | If present, then the name of file to restart from | String | None | -+-------------------------+-----------------------------------------------------------------------+-------------+------------+ -| check_int | Frequency of checkpoint output in number of timesteps; | Int | -1 | -| | if -1 then no checkpoints will be written | | | -+-------------------------+-----------------------------------------------------------------------+-------------+------------+ -| check_per_approx | Frequency of checkpoint output in simulation time; | Real | 0 | -| | if 0 then no checkpoints will be written | | | -+-------------------------+-----------------------------------------------------------------------+-------------+------------+ -| check_walltime_interval | Frequency of checkpoint output in runtime (HH:MM:SS) | String | None | -+-------------------------+-----------------------------------------------------------------------+-------------+------------+ -| check_file | Prefix to use for checkpoint output | String | chk | -+-------------------------+-----------------------------------------------------------------------+-------------+------------+ -| geom_chk_write | Write the EB geometry data into ``geom_chk_file`` and additionally, | Bool | false | -| | ``geom_levelset_chk_file`` if levelset refinement is enabled. | | | -| | refinement is enabled. | | | -+-------------------------+-----------------------------------------------------------------------+-------------+------------+ -| geom_chk_file | Name of the EB checkpoint file that is used to store or read | String | geom_chk | -| | the unrefined geometry. | | | -+-------------------------+-----------------------------------------------------------------------+-------------+------------+ -| geom_levelset_chk_file | Name of the EB checkpoint file that is used to store or read | String | geom\_ | -| | the refined geometry, i.e. when levelset refinement is enabled. | | levelset\_ | -| | | | chk | -+-------------------------+-----------------------------------------------------------------------+-------------+------------+ ++-------------------------+------------------------------------------------------------------------+-------------+------------------+ +| | Description | Type | Default | ++=========================+========================================================================+=============+==================+ +| restart | If present, the name of file to restart from. | String | None | ++-------------------------+------------------------------------------------------------------------+-------------+------------------+ +| check_file | Prefix to use for checkpoint output file name. | String | chk | ++-------------------------+------------------------------------------------------------------------+-------------+------------------+ +| check_int | Checkpoint output interval in number of timesteps (0 to disable). | Int | 0 | ++-------------------------+------------------------------------------------------------------------+-------------+------------------+ +| check_per_approx | Approximate checkpoint output interval in simulation time (0 to | Real | 0 | +| | disable). | | | ++-------------------------+------------------------------------------------------------------------+-------------+------------------+ +| check_walltime_interval | Checkpoint output interval in elapsed run time (HH:MM:SS). Only one | String | None | +| | of ``check_int``, ``check_per_approx``, or ``check_walltime_interval`` | | | +| | may be specified. | | | ++-------------------------+------------------------------------------------------------------------+-------------+------------------+ +| geom_chk_write | Write the EB geometry data into ``geom_chk_file`` and additionally, | Bool | false | +| | ``geom_levelset_chk_file`` if levelset refinement is enabled. | | | ++-------------------------+------------------------------------------------------------------------+-------------+------------------+ +| geom_chk_file | Name of the EB checkpoint file that is used to store or read | String | geom_chk | +| | the unrefined geometry. | | | ++-------------------------+------------------------------------------------------------------------+-------------+------------------+ +| geom_levelset_chk_file | Name of the EB checkpoint file that is used to store or read | String | geom_levelset_chk| +| | the refined geometry, i.e. when levelset refinement is enabled. | | | +| | | | | ++-------------------------+------------------------------------------------------------------------+-------------+------------------+ -- GitLab From fe2258a4cf5783eed878a70d8bed9fc4328fd882 Mon Sep 17 00:00:00 2001 From: Charles G Waldman Date: Thu, 22 Jan 2026 17:22:06 -0600 Subject: [PATCH 07/16] reorder monitor sections --- .../user_guide/inputs/output/monitors.rst | 51 +++++++++---------- 1 file changed, 24 insertions(+), 27 deletions(-) diff --git a/docs/source_docs/user_guide/inputs/output/monitors.rst b/docs/source_docs/user_guide/inputs/output/monitors.rst index 7854067..00b92c0 100644 --- a/docs/source_docs/user_guide/inputs/output/monitors.rst +++ b/docs/source_docs/user_guide/inputs/output/monitors.rst @@ -1,53 +1,45 @@ Monitors ======== -A monitor is a tool for capturing data from the solver about the model. +Monitors capture data from a running simulation into file for +plotting and analysis. + + +Monitor definition +------------------ Data (such as volume fraction, pressure, velocity, etc.) for a given monitor region is written to a CSV file while the solver is running. -To define monitors, the following inputs must be preceded by the prefix ``mfix``: +The following input is used to define monitors, preceded by the prefix ``mfix``: +-------------------------+------------------------------------------------------+-------------+-----------+ | | Description | Type | Default | +=========================+======================================================+=============+===========+ -| monitors | Names of the monitors to be computed | Strings | None | -+-------------------------+------------------------------------------------------+-------------+-----------+ -| monitors.[monitor_name] | Monitor type | String | None | +| monitors | Names of the monitors to be computed. | Strings | None | +-------------------------+------------------------------------------------------+-------------+-----------+ -.. code-block:: none - - mfix.monitors = my_monitor0 my_monitor1 - - mfix.monitors.my_monitor0 = Eulerian::VolumeIntegral::MassWeightedIntegral - mfix.monitors.my_monitor1 = Lagrangian::Average::VolumeWeightedAverage - - Region selection ---------------- -To define a monitor, there must be a region already defined in the regions -inputs. A Monitor region is a single point, plane, or volume. Multiple regions -cannot be combined for a monitor. The following inputs must be preceded by -the prefix ``mfix.monitors``: +To define a monitor, a region must already be defined in the regions +inputs ``mfix.regions``. A monitor region is a single point, plane, or volume. +Multiple regions cannot be combined for a monitor. The following input must be +preceded by the prefix ``mfix.monitors``: +-----------------------+-----------------------------------------------------------------------+-------------+-----------+ | | Description | Type | Default | +=======================+=======================================================================+=============+===========+ -| [monitor_name].region | Define the region in which the monitor will be computed | String | None | +| [monitor_name].region | Specify the region in which the monitor will be computed. | String | None | +-----------------------+-----------------------------------------------------------------------+-------------+-----------+ .. code-block:: none - # regionA and regionB to be defined in the "regions" inputs section + # regionA and regionB must be defined in the "regions" inputs section mfix.monitors.my_monitor0.region = regionA mfix.monitors.my_monitor1.region = regionB -Monitor output --------------- - -The monitor data will be output to a file with name given by the input +Monitor data will be output to a file with name given by the input ``plot_file``, and the extension ``.csv`` is automatically added. The monitor output file is in Comma Separated Value (CSV) format. The first line of the file provides header information. The following inputs must be preceded by @@ -56,12 +48,17 @@ the prefix ``mfix.monitors``: +-----------------------------------+----------------------------------------------------------+-------------+-----------+ | | Description | Type | Default | +===================================+==========================================================+=============+===========+ -| [monitor_name].plot_file | Name of the plot file for monitor output. | String | None | +| [monitor_name] | Monitor type. | String | None | ++-----------------------------------+----------------------------------------------------------+-------------+-----------+ +| [monitor_name].plot_file | Name of the file for monitor output. | String | None | +-----------------------------------+----------------------------------------------------------+-------------+-----------+ -| [monitor_name].plot_int | Frequency for saving monitored data to output file. | Int | -1 | +| [monitor_name].plot_int | Interval in time steps for saving monitor data (0 to | Int | 0 | +| | disable). | | | +| | | | | +-----------------------------------+----------------------------------------------------------+-------------+-----------+ -| [monitor_name].plot_per_approx | Define the approximated simulation time at which saving | Real | 0 | -| | monitored data | | | +| [monitor_name].plot_per_approx | Interval (approximate) in simulation time for saving | Real | 0 | +| | monitor data (0 to disable). Only one of ``plot_int` or | | | +| | ``plot_per_approx`` may be defined. | | | +-----------------------------------+----------------------------------------------------------+-------------+-----------+ | [monitor_name].output.openmode | Select open mode for the monitor output file. | String | app | | | | | | -- GitLab From 9f58cc3f2289ed5e162543917a84b5b8997096ae Mon Sep 17 00:00:00 2001 From: Charles G Waldman Date: Thu, 22 Jan 2026 17:22:23 -0600 Subject: [PATCH 08/16] string -> strings --- .../source_docs/user_guide/inputs/output/monitors.rst | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/docs/source_docs/user_guide/inputs/output/monitors.rst b/docs/source_docs/user_guide/inputs/output/monitors.rst index 00b92c0..acc65c0 100644 --- a/docs/source_docs/user_guide/inputs/output/monitors.rst +++ b/docs/source_docs/user_guide/inputs/output/monitors.rst @@ -99,23 +99,24 @@ following input preceded by the prefix ``mfix.monitors``: +-------------------------+--------------------------------------------------------------------+-------------+-----------+ | | Description | Type | Default | +=========================+====================================================================+=============+===========+ -| [monitor_name].variables| Define which variables are to be monitored by this monitor | String | None | +| [monitor_name].variables| Define which variables are to be monitored by this monitor | Strings | None | +-------------------------+--------------------------------------------------------------------+-------------+-----------+ .. code-block:: none - mfix.monitors.my_monitor0.variables = T_g vel_g p_g gp_y X_gk + mfix.monitors = my_monitor0 my_monitor1 + mfix.monitors.my_monitor0.variables = T_g vel_g p_g gp_y X_gk mfix.monitors.my_monitor1.variables = density drag_y T_s txfr_vel_x Eulerian monitors ----------------- -There are different types of monitors available. A monitor type applies an +Several different types of monitors are available. A monitor type applies an operator (for example a sum, an area integral or a volume integral) to the -variable. The dimensionality of the region determines which operators can be -applied. +variable. The dimensionality of the region determines which operators are +available. The table below summarizes the nomenclature used to describe the monitor -- GitLab From debd53c72087daea4aad0fd16fc69c308463e182 Mon Sep 17 00:00:00 2001 From: Charles G Waldman Date: Thu, 22 Jan 2026 17:22:47 -0600 Subject: [PATCH 09/16] alphabetize monitor vars --- .../user_guide/inputs/output/monitors.rst | 58 +++++++++---------- 1 file changed, 29 insertions(+), 29 deletions(-) diff --git a/docs/source_docs/user_guide/inputs/output/monitors.rst b/docs/source_docs/user_guide/inputs/output/monitors.rst index acc65c0..597bd8c 100644 --- a/docs/source_docs/user_guide/inputs/output/monitors.rst +++ b/docs/source_docs/user_guide/inputs/output/monitors.rst @@ -138,62 +138,62 @@ The following table lists all the fluid phase variables that can be monitored: +------------------------------+-----------------------------------------------------------------------------------------+ | | Description | +==============================+=========================================================================================+ -| ones | value of :math:`\phi_{ijk}` is set to 1 in each fluid cell | +| T_g | fluid temperature | +------------------------------+-----------------------------------------------------------------------------------------+ -| ep_g | fluid volume fraction | +| X_gk | fluid species mass fractions (monitor all the fluid species) | +------------------------------+-----------------------------------------------------------------------------------------+ -| p_g | fluid pressure | +| X_gk_[species_name] | fluid `species_name` mass fraction (only species `species_name` is monitored) | +------------------------------+-----------------------------------------------------------------------------------------+ -| ro_g | fluid density | +| chem_txfr_X_gk | rate of mass transferred to the fluid phase due to heterogeneous chemical reactions | +| | (monitor all fluid species) | +------------------------------+-----------------------------------------------------------------------------------------+ -| trac | tracer | +| chem_txfr_X_gk_[species_name]| fluid `species_name` rate of mass transferred due to heterogeneous chemical reactions | +| | (only species `species_name` is monitored) | +------------------------------+-----------------------------------------------------------------------------------------+ -| vel_g | fluid velocity (all three components) | +| chem_txfr_h | rate of enthalpy transferred to the fluid phase due to heterogeneous chemical reactions | +------------------------------+-----------------------------------------------------------------------------------------+ -| vel_g_[x/y/z] | x, y, or z component of the fluid velocity | +| chem_txfr_vel_[x|y|z] | x, y, or z component of the rate of velocity transferred due to heterogeneous reactions | +------------------------------+-----------------------------------------------------------------------------------------+ -| gp | fluid pressure gradient (all three components) | +| chem_txfr_velocity | rate of velocity transferred to the fluid phase due to heterogeneous chemical reactions | +| | (all three components) | +------------------------------+-----------------------------------------------------------------------------------------+ -| gp_[x/y/z] | x, y, or z component of the fluid pressure gradient | +| divtau | divergence of the viscous stress tensor (all three components) | +------------------------------+-----------------------------------------------------------------------------------------+ -| T_g | fluid temperature | +| divtau_[x|y|z] | x, y, or z component of the divergence of the viscous stress tensor | +------------------------------+-----------------------------------------------------------------------------------------+ -| h_g | fluid enthalpy | +| ep_g | fluid volume fraction | +------------------------------+-----------------------------------------------------------------------------------------+ -| X_gk | fluid species mass fractions (monitor all the fluid species) | +| gp | fluid pressure gradient (all three components) | +------------------------------+-----------------------------------------------------------------------------------------+ -| X_gk_[species_name] | fluid `species_name` mass fraction (only species `species_name` is monitored) | +| gp_[x|y|z] | x, y, or z component of the fluid pressure gradient | +------------------------------+-----------------------------------------------------------------------------------------+ -| vort | fluid vorticity (all three components) | +| h_g | fluid enthalpy | +------------------------------+-----------------------------------------------------------------------------------------+ -| vort[x/y/z] | x, y, or z component of the fluid vorticity | +| ones | value of :math:`\phi_{ijk}` is set to 1 in each fluid cell | +------------------------------+-----------------------------------------------------------------------------------------+ -| txfr_velocity | interphase velocity transferred to the fluid (all three components) | +| p_g | fluid pressure | +------------------------------+-----------------------------------------------------------------------------------------+ -| txfr_vel_[x/y/z] | x, y, or z component of the interphase velocity transferred to the fluid | +| ro_g | fluid density | +------------------------------+-----------------------------------------------------------------------------------------+ -| txfr_beta | drag coefficient | +| trac | tracer | +------------------------------+-----------------------------------------------------------------------------------------+ -| txfr_gammaTp | convection coefficient multiplied by the solids temperature | +| txfr_beta | drag coefficient | +------------------------------+-----------------------------------------------------------------------------------------+ | txfr_gamma | convection coefficient | +------------------------------+-----------------------------------------------------------------------------------------+ -| chem_txfr_X_gk | rate of mass transferred to the fluid phase due to heterogeneous chemical reactions | -| | (monitor all the fluid species) | +| txfr_gammaTp | convection coefficient multiplied by the solids temperature | +------------------------------+-----------------------------------------------------------------------------------------+ -| chem_txfr_X_gk_[species_name]| fluid `species_name` rate of mass transferred due to heterogeneous chemical reactions | -| | (only species `species_name` is monitored) | +| txfr_vel_[x|y|z] | x, y, or z component of the interphase velocity transferred to the fluid | +------------------------------+-----------------------------------------------------------------------------------------+ -| chem_txfr_velocity | rate of velocity transferred to the fluid phase due to heterogeneous chemical reactions | -| | (all three components) | +| txfr_velocity | interphase velocity transferred to the fluid (all three components) | +------------------------------+-----------------------------------------------------------------------------------------+ -| chem_txfr_vel_[x/y/z] | x, y, or z component of the rate of velocity transferred due to heterogeneous reactions | +| vel_g | fluid velocity (all three components) | +------------------------------+-----------------------------------------------------------------------------------------+ -| chem_txfr_h | rate of enthalpy transferred to the fluid phase due to heterogeneous chemical reactions | +| vel_g_[x|y|z] | x, y, or z component of the fluid velocity | +------------------------------+-----------------------------------------------------------------------------------------+ -| divtau | divergence of the viscous stress tensor (all three components) | +| vort | fluid vorticity (all three components) | +------------------------------+-----------------------------------------------------------------------------------------+ -| divtau_[x/y/z] | x, y, or z component of the divergence of the viscous stress tensor | +| vort[x|y|z] | x, y, or z component of the fluid vorticity | +------------------------------+-----------------------------------------------------------------------------------------+ -- GitLab From 40d108bce24d821b116766b51abadb541157d9ff Mon Sep 17 00:00:00 2001 From: Charles G Waldman Date: Thu, 22 Jan 2026 17:23:09 -0600 Subject: [PATCH 10/16] wording --- .../user_guide/inputs/output/monitors.rst | 72 +++++++++---------- 1 file changed, 34 insertions(+), 38 deletions(-) diff --git a/docs/source_docs/user_guide/inputs/output/monitors.rst b/docs/source_docs/user_guide/inputs/output/monitors.rst index 597bd8c..0b5e259 100644 --- a/docs/source_docs/user_guide/inputs/output/monitors.rst +++ b/docs/source_docs/user_guide/inputs/output/monitors.rst @@ -209,15 +209,14 @@ be monitored: | thermo_p_g | fluid thermodynamic pressure | +--------------------------+-----------------------------------------------------------------------------------------+ -For a uniform scalar field, the monitor data value is simply the value of the -variable at current time: +For a uniform scalar field, the monitor data value is the value of the variable at current time: -Value +Uniform value +-------------------------------------+ | Eulerian::UniformScalarField::Value | +-------------------------------------+ - Returns the value of the field quantity in the selected region. + Value of the uniform field quantity in the selected region. .. math:: \phi_{ijk} @@ -225,15 +224,14 @@ Value Point region ~~~~~~~~~~~~ -For a point region, the monitor data value is simply the value of the variable -at that point: +For a point region, the monitor data value is the value of the variable at that point: -Value +Point value +------------------------------+ | Eulerian::PointRegion::Value | +------------------------------+ - Returns the value of the field quantity in the selected region. + Value of the field quantity at the selected point. .. math:: \phi_{ijk} @@ -250,8 +248,7 @@ Sum | Eulerian::VolumeRegion::Sum | +-----------------------------+ - The sum is computed by summing all values of the field quantity in the - selected region. + Sum of all values of the field quantity in the selected region. .. math:: \sum_{ijk}\phi_{ijk} @@ -296,7 +293,7 @@ Standard deviation | Eulerian::VolumeRegion::StandardDeviation | +-------------------------------------------+ - The standard deviation of the field quantity in the selected region where + Standard deviation of the field quantity in the selected region where :math:`\phi_0` is the average of the variable in the selected region. .. math:: \sigma_{\phi} = \sqrt{\frac{ \sum_{ijk} (\phi_{ijk}-\phi_{0})^2 }{N}} @@ -315,62 +312,62 @@ Area Area of selected region is computed by summing the areas of the facets that define the surface. - .. math:: \int dA = \sum_{ijk} \lvert A_{ijk} \rvert + .. math:: \int dA = \sum_{ijk} A_{ijk} Area-weighted average +------------------------------------------------+ | Eulerian::SurfaceIntegral::AreaWeightedAverage | +------------------------------------------------+ - The area-weighted average is computed by dividing the summation of the + Area-weighted average is computed by dividing the summation of the product of the selected variable and facet area by the total area of the region. - .. math:: \frac{\int\phi dA}{A} = \frac{\sum_{ijk}{\phi_{ijk} \lvert A_{ijk} \rvert}}{\sum_{ijk}{\lvert A_{ijk} \rvert}} + .. math:: \frac{\int\phi dA}{A} = \frac{\sum_{ijk}{\phi_{ijk} A_{ijk}}}{\sum_{ijk}{A_{ijk}}} Flow rate +-------------------------------------+ | Eulerian::SurfaceIntegral::FlowRate | +-------------------------------------+ - The flow rate of a field variable through a surface is computed by summing + Flow rate of a field variable through a surface is computed by summing the product of the phase volume fraction, density, the selected field variable, phase velocity normal to the facet :math:`v_n`, and the facet area. - .. math:: \int\varepsilon\rho\phi{v_n}dA = \sum_{ijk}\varepsilon_{ijk}\rho_{ijk}\phi_{ijk} {v}_{n,ijk} \lvert A_{ijk} \rvert + .. math:: \int\varepsilon\rho\phi{v_n}dA = \sum_{ijk}\varepsilon_{ijk}\rho_{ijk}\phi_{ijk} {v}_{n,ijk} A_{ijk} Mass flow rate +-----------------------------------------+ | Eulerian::SurfaceIntegral::MassFlowRate | +-----------------------------------------+ - The mass flow rate through a surface is computed by summing the product of + Mass flow rate through a surface is computed by summing the product of the phase volume fraction, density, phase velocity normal to the facet :math:`v_n`, and the facet area. - .. math:: \int\varepsilon\rho{v_n} dA = \sum_{ijk}\varepsilon_{ijk}\rho_{ijk}{v}_{n,ijk} \lvert A_{ijk} \rvert + .. math:: \int\varepsilon\rho{v_n} dA = \sum_{ijk}\varepsilon_{ijk}\rho_{ijk}{v}_{n,ijk} A_{ijk} Mass-weighted average +------------------------------------------------+ | Eulerian::SurfaceIntegral::MassWeightedAverage | +------------------------------------------------+ - The mass flow rate through a surface is computed by summing the product of + Mass flow rate through a surface is computed by summing the product of the phase volume fraction, density, phase velocity normal to the facet, and the facet area. - .. math:: \frac{\int\varepsilon\rho\phi{v_n}dA}{\int\varepsilon\rho{v_n}dA} = \frac{\sum_{ijk}\varepsilon_{ijk}\rho_{ijk}\phi_{ijk} {v}_{n,ijk} \lvert A_{ijk} \rvert}{\sum_{ijk}\varepsilon_{ijk}\rho_{ijk} {v}_{n,ijk} \lvert A_{ijk} \rvert} + .. math:: \frac{\int\varepsilon\rho\phi{v_n}dA}{\int\varepsilon\rho{v_n}dA} = \frac{\sum_{ijk}\varepsilon_{ijk}\rho_{ijk}\phi_{ijk} {v}_{n,ijk} A_{ijk}}{\sum_{ijk}\varepsilon_{ijk}\rho_{ijk} {v}_{n,ijk} A_{ijk}} Volume flow rate +-------------------------------------------+ | Eulerian::SurfaceIntegral::VolumeFlowRate | +-------------------------------------------+ - The volume flow rate through a surface is computed by summing the product of + Volume flow rate through a surface is computed by summing the product of the phase volume fraction, phase velocity normal to the facet :math:`v_n`, and the facet area. - .. math:: \int\varepsilon{v_n}dA = \sum_{ijk}\varepsilon_{ijk}{v}_{n,ijk} \lvert A_{ijk} \rvert + .. math:: \int\varepsilon{v_n}dA = \sum_{ijk}\varepsilon_{ijk}{v}_{n,ijk} A_{ijk} Volume integrals @@ -383,64 +380,63 @@ Volume | Eulerian::VolumeIntegral::Volume | +----------------------------------+ - The volume is computed by summing all of the cell volumes in the selected + Volume is computed by summing all of the cell volumes in the selected region. - .. math:: \int dV = \sum_{ijk}{ \lvert V_{ijk}} \rvert + .. math:: \int dV = \sum_{ijk}{ V_{ijk}} Volume integral +------------------------------------------+ | Eulerian::VolumeIntegral::VolumeIntegral | +------------------------------------------+ - The volume integral is computed by summing the product of the selected field + Volume integral is computed by summing the product of the selected field variable and the cell volume. - .. math:: \int \phi dV = \sum_{ijk}{\phi_{ijk} \lvert V_{ijk}} \rvert + .. math:: \int \phi dV = \sum_{ijk}{\phi_{ijk} V_{ijk}} Volume-weighted average +-------------------------------------------------+ | Eulerian::VolumeIntegral::VolumeWeightedAverage | +-------------------------------------------------+ - The volume-weighted average is computed by dividing the summation of the + Volume-weighted average is computed by dividing the summation of the product of the selected field variable and cell volume by the sum of the cell volumes. - .. math:: \frac{\int\phi dV}{V} = \frac{\sum_{ijk}{\phi_{ijk} \lvert V_{ijk} \rvert}}{\sum_{ijk}{\lvert V_{ijk} \rvert}} + .. math:: \frac{\int\phi dV}{V} = \frac{\sum_{ijk}{\phi_{ijk} V_{ijk}}}{\sum_{ijk}{V_{ijk}}} Mass-weighted integral +------------------------------------------------+ | Eulerian::VolumeIntegral::MassWeightedIntegral | +------------------------------------------------+ - The mass-weighted integral is computed by summing the product of phase volume + Mass-weighted integral is computed by summing the product of phase volume fraction, density, selected field variable, and cell volume. - .. math:: \int \varepsilon\rho\phi dV = \sum_{ijk}\varepsilon_{ijk}\rho_{ijk}\phi_{ijk} \lvert V_{ijk}\rvert + .. math:: \int \varepsilon\rho\phi dV = \sum_{ijk}\varepsilon_{ijk}\rho_{ijk}\phi_{ijk} V_{ijk} -Mass-weighted Average +Mass-weighted average +-----------------------------------------------+ | Eulerian::VolumeIntegral::MassWeightedAverage | +-----------------------------------------------+ - The mass-weighted average is computed by dividing the sum of the product of + Mass-weighted average is computed by dividing the sum of the product of phase volume fraction, density, selected field variable, and cell volume by the summation of the product of the phase volume fraction, density, and cell volume. - .. math:: \frac{\int\phi\rho\varepsilon dV}{\int\rho\varepsilon dV} = \frac{\sum_{ijk}\varepsilon_{ijk}\rho_{ijk}\phi_{ijk} \lvert V_{ijk}\rvert}{\sum_{ijk}\varepsilon_{ijk}\rho_{ijk} \lvert V_{ijk}\rvert} + .. math:: \frac{\int\phi\rho\varepsilon dV}{\int\rho\varepsilon dV} = \frac{\sum_{ijk}\varepsilon_{ijk}\rho_{ijk}\phi_{ijk} V_{ijk}}{\sum_{ijk}\varepsilon_{ijk}\rho_{ijk} V_{ijk}} Lagrangian monitors ------------------- -There are different types of monitors available. A monitor type applies an -operator (for example a sum, an area integral or a volume integral) to the -variable. The dimensionality of the region determines which operators can be -applied. - +Several different types of monitors are available. A monitor type applies an +operator (for example, a sum, an area integral or a volume integral) to the +variable. The dimensionality of the region determines which operators are +available. The table below summarizes the nomenclature used to describe the monitor operators: -- GitLab From f49e8c47d37b530c0945d9891ddac5e23eaa4531 Mon Sep 17 00:00:00 2001 From: Charles G Waldman Date: Thu, 22 Jan 2026 17:23:14 -0600 Subject: [PATCH 11/16] alphabetize monitor vars --- .../user_guide/inputs/output/monitors.rst | 63 +++++++++---------- 1 file changed, 31 insertions(+), 32 deletions(-) diff --git a/docs/source_docs/user_guide/inputs/output/monitors.rst b/docs/source_docs/user_guide/inputs/output/monitors.rst index 0b5e259..c570ddf 100644 --- a/docs/source_docs/user_guide/inputs/output/monitors.rst +++ b/docs/source_docs/user_guide/inputs/output/monitors.rst @@ -458,70 +458,69 @@ The following table lists all the solids phase variables that can be monitored: +--------------------------+-----------------------------------------------------------------------------------------+ | | Description | +==========================+=========================================================================================+ -| ones | value of :math:`\phi_p` is set to 1 for each solid particle | -+--------------------------+-----------------------------------------------------------------------------------------+ -| k_energy | particles kinetic energy | +| cp_s | particle specific heat coefficient | +--------------------------+-----------------------------------------------------------------------------------------+ -| position | particles position (all the three components) | +| cpu | particle CPU | +--------------------------+-----------------------------------------------------------------------------------------+ -| pos_[x/y/z] | x, y, or z component of the particles position | +| density | particle density | +--------------------------+-----------------------------------------------------------------------------------------+ -| id | particles id | +| drag | particle drag (all three components) | +--------------------------+-----------------------------------------------------------------------------------------+ -| cpu | particles CPU | +| drag_[x|y|z] | x, y, or z component of the particle drag | +--------------------------+-----------------------------------------------------------------------------------------+ -| radius | particles radius | +| dragcoeff | particle drag coefficient | +--------------------------+-----------------------------------------------------------------------------------------+ -| volume | particles volume | +| id | particle id | +--------------------------+-----------------------------------------------------------------------------------------+ -| mass | particles mass | +| k_energy | particle kinetic energy | +--------------------------+-----------------------------------------------------------------------------------------+ -| density | particles density | +| mass | particle mass | +--------------------------+-----------------------------------------------------------------------------------------+ -| oneOverI | particles inverse of momentum of inertia | +| omega | particle angular velocity (all three components) | +--------------------------+-----------------------------------------------------------------------------------------+ -| velocity | particles velocity (all the three components) | +| omega_[x|y|z] | x, y, or z component of the particle angular velocity | +--------------------------+-----------------------------------------------------------------------------------------+ -| vel_[x/y/z] | x, y, or z component of the particles velocity | +| oneOverI | inverse of particle moment of inertia | +--------------------------+-----------------------------------------------------------------------------------------+ -| omega | particles angular velocity (all the three components) | -+--------------------------+-----------------------------------------------------------------------------------------+ -| omega_[x/y/z] | x, y, or z component of the particles angular velocity | +| ones | value of :math:`\phi_p` is set to 1 for each solid particle | +--------------------------+-----------------------------------------------------------------------------------------+ -| statwt | particles statistical weight | +| phase | particle phase | +--------------------------+-----------------------------------------------------------------------------------------+ -| dragcoeff | particles drag coefficient | +| pos_[x|y|z] | x, y, or z component of the particle position | +--------------------------+-----------------------------------------------------------------------------------------+ -| drag | particles drag (all the three components) | +| position | particle position (all three components) | +--------------------------+-----------------------------------------------------------------------------------------+ -| drag_[x/y/z] | x, y, or z component of the particles drag | +| radius | particle radius | +--------------------------+-----------------------------------------------------------------------------------------+ -| cp_s | particles specific heat coefficient | +| statwt | particle statistical weight | +--------------------------+-----------------------------------------------------------------------------------------+ -| T_s | particles temperature | +| T_s | particle temperature | +--------------------------+-----------------------------------------------------------------------------------------+ -| phase | particles phase | +| txfr_X_sn | rate of mass transferred due to heterogeneous chemical reactions (for all the species) | +--------------------------+-----------------------------------------------------------------------------------------+ -| state | particles state | +| txfr_X_sn_[species_name] | solids `species_name` rate of transfer due to heterogeneous reactions (only species | +| | `species_name` is monitored) | +--------------------------+-----------------------------------------------------------------------------------------+ -| X_sn | particles species mass fractions (for all the solids species) | +| txfr_h | rate of enthalpy transferred due to heterogeneous chemical reactions | +--------------------------+-----------------------------------------------------------------------------------------+ -| X_sn_[species_name] | solids `species_name` fraction (only species `species_name` is monitored) | +| txfr_vel_[x|y|z] | x, y, or z components of the transferred velocity due to heterogeneous reactions | +--------------------------+-----------------------------------------------------------------------------------------+ | txfr_velocity | rate of velocity transferred to the fluid phase due to heterogeneous chemical reactions | | | (all three components) | +--------------------------+-----------------------------------------------------------------------------------------+ -| txfr_vel_[x/y/z] | x, y, or z components of the transferred velocity due to heterogeneous reactions | +| vel_[x|y|z] | x, y, or z component of the particle velocity | +--------------------------+-----------------------------------------------------------------------------------------+ -| txfr_h | rate of enthalpy transferred due to heterogeneous chemical reactions | +| velocity | particle velocity (all three components) | +--------------------------+-----------------------------------------------------------------------------------------+ -| txfr_X_sn | rate of mass transferred due to heterogeneous chemical reactions (for all the species) | +| volume | particle volume | +--------------------------+-----------------------------------------------------------------------------------------+ -| txfr_X_sn_[species_name] | solids `species_name` rate of transfer due to heterogeneous reactions (only species | -| | `species_name` is monitored) | +| X_sn | particle species mass fractions (for all the solids species) | ++--------------------------+-----------------------------------------------------------------------------------------+ +| X_sn_[species_name] | solids `species_name` fraction (only species `species_name` is monitored) | +--------------------------+-----------------------------------------------------------------------------------------+ + General particle properties ~~~~~~~~~~~~~~~~~~~~~~~~~~~ -- GitLab From 5281815f4771f6f93afd3d22dad0b2b35178665f Mon Sep 17 00:00:00 2001 From: Charles G Waldman Date: Thu, 22 Jan 2026 17:23:27 -0600 Subject: [PATCH 12/16] wording --- .../user_guide/inputs/output/monitors.rst | 28 +++++++++---------- 1 file changed, 14 insertions(+), 14 deletions(-) diff --git a/docs/source_docs/user_guide/inputs/output/monitors.rst b/docs/source_docs/user_guide/inputs/output/monitors.rst index c570ddf..6f9d4a0 100644 --- a/docs/source_docs/user_guide/inputs/output/monitors.rst +++ b/docs/source_docs/user_guide/inputs/output/monitors.rst @@ -533,8 +533,8 @@ Sum | Lagrangian::GeneralProperty::Sum | +----------------------------------+ - The sum of particle property, :math:`\phi_p` in the selected region is - calculated using the following expression. + Sum of particle property :math:`\phi_p` in the selected region is + obtained as: .. math:: \sum_p w_p \phi_p @@ -544,8 +544,8 @@ Mass-weighted sum | Lagrangian::GeneralProperty::MassWeightedSum | +----------------------------------------------+ - The mass-weighted sum of particle property, :math:`\phi_p` in the selected region is - calculated using the following expression. + Mass-weighted sum of particle property :math:`\phi_p` in the selected region is + obtained as: .. math:: \sum_p w_p m_p \phi_p @@ -555,8 +555,8 @@ Min | Lagrangian::GeneralProperty::Min | +----------------------------------+ - The minimum value of particle property :math:`\phi_p` is the selected region - is obtained using the following expression. + Minimum value of particle property :math:`\phi_p` is the selected region + is obtaine as: .. math:: \min_p \phi_p @@ -565,8 +565,8 @@ Max | Lagrangian::GeneralProperty::Max | +----------------------------------+ - The maximum value of particle property :math:`\phi_p` is the selected region - is obtained using the following expression. + Maximum value of particle property :math:`\phi_p` is the selected region + is obtained as: .. math:: \max_p \phi_p @@ -584,7 +584,7 @@ Average | Lagrangian::AveragedProperty::Average | +---------------------------------------+ - The average value of particle property, :math:`\phi_p` in the selected region + The average value of particle property :math:`\phi_p` in the selected region is calculated using the following expression. For DEM simulations, the statistical weight of a particle, :math:`w_p`, is one such that the sum of the weights is the total number of observations in the selected region. @@ -596,7 +596,7 @@ Standard deviation | Lagrangian::AveragedProperty::StandardDeviation | +-------------------------------------------------+ - The standard deviation of particle property, :math:`phi_p` in the selected + Standard deviation of particle property :math:`phi_p` in the selected region is calculated using the following expression. :math:`\bar{\phi}` is the averaged variable in the selected region. @@ -607,8 +607,8 @@ Mass-weighted average | Lagrangian::AveragedProperty::MassWeightedAverage | +---------------------------------------------------+ - Mass-weighted average value of particle property, :math:`\phi_p` in the - selected region is calculated using the following expression. + Mass-weighted average value of particle property :math:`\phi_p` in the + selected region is obtained as: .. math:: \bar{\phi}_m = \frac{\sum_{p} w_p m_p \phi_p}{\sum_p w_p m_p } @@ -617,8 +617,8 @@ Volume-weighted average | Lagrangian::AveragedProperty::VolumeWeightedAverage | +-----------------------------------------------------+ - Volume-weighted average value of particle property, :math:`\phi_p` in the - selected region is calculated using the following expression. + Volume-weighted average value of particle property :math:`\phi_p` in the + selected region is obtained as: .. math:: \bar{\phi}_v = \frac{\sum_{p} w_p V_p \phi_p}{\sum_p w_p V_p} -- GitLab From 028684cc735a3b02dd0f617fbc7e642d6d18bc24 Mon Sep 17 00:00:00 2001 From: Charles G Waldman Date: Thu, 22 Jan 2026 17:24:04 -0600 Subject: [PATCH 13/16] rewrite section on FlowRate --- .../user_guide/inputs/output/monitors.rst | 52 +++++++++---------- 1 file changed, 26 insertions(+), 26 deletions(-) diff --git a/docs/source_docs/user_guide/inputs/output/monitors.rst b/docs/source_docs/user_guide/inputs/output/monitors.rst index 6f9d4a0..755a487 100644 --- a/docs/source_docs/user_guide/inputs/output/monitors.rst +++ b/docs/source_docs/user_guide/inputs/output/monitors.rst @@ -626,61 +626,61 @@ Volume-weighted average Flow rates ~~~~~~~~~~ -For Lagrangian monitors of type `FlowRate`, the flow plane must be specified -and it must be defined by one of the regions defined in the regions -inputs. The following input for a monitor [monitor_name] of type `FlowRate` can be -used, preceded by the prefix ``mfix.monitors``: + +For Lagrangian monitors of type ``FlowRate``, the region of definition must be +3-dimensional. Only particles inside this volume are considered. Additionally, +a flow plane must be specified. For particles in the region of definition, their +positions are extrapolated based on current velocity to determine if they will cross +the specified flow plane in the next time step. + +To specify the flow plane, the following input for a monitor ``[monitor_name]`` of +type ``FlowRate`` can be used, preceded by the prefix ``mfix.monitors``: +---------------------+-----------------------------------------------------------------------+-------------+-----------+ | | Description | Type | Default | +=====================+=======================================================================+=============+===========+ -| [monitor_name].plane| Defines the plane through which the flow rate of the particles in the | String | None | -| | monitoring region [region_name] will be computed. | | | +| [monitor_name].plane| Specifies the plane through which the flow rate of particles in | String | None | +| | the monitoring region will be computed. | | | +---------------------+-----------------------------------------------------------------------+-------------+-----------+ -Flow rate monitors for Lagrangian particles (DEM/PIC) are only valid for area -(plane) regions. The set of particles crossing the flow plane, :math:`\Gamma` is -approximated using the height of the plane, :math:`h`, the position of the -particle, :math:`x_p`, and the particle velocity normal to the plane, -:math:`v_p` such that - - .. math:: (v_p)\left(\frac{x_p - h}{\Delta t}\right) > 0 - -and - - .. math:: \left|v_p\right| \geq \left| \frac{x_p - h}{\Delta t} \right| - - Flow rate +--------------------------------+ | Lagrangian::FlowRate::FlowRate | +--------------------------------+ - The net flow rate of a general particle property :math:`\phi_p` is computed + Net flow rate of a general particle property :math:`\phi_p` is computed by summing the properties of the set of particles projected to have crossed - the flow plane, :math:`\Gamma`. + the flow plane., :math:`\Gamma`. - .. math:: \sum_{p \in \Gamma} w_p \phi_p \frac{v_p}{\left| v_p \right|} + .. math:: \sum_{p \in \Gamma} w_p \phi_p \frac{v_p}{\left|v_p\right|} Mass-weighted flow rate +--------------------------------------------+ | Lagrangian::FlowRate::MassWeightedFlowRate | +--------------------------------------------+ - The net mass-weighted flow rate is the sum of the general particle property + Net mass-weighted flow rate is the sum of the general particle property :math:`\phi_p` multiplied by the particle mass, :math:`m_p` of the set of particles projected to have crossed the flow plane, :math:`\Gamma`. - .. math:: \sum_{p \in \Gamma} w_p m_p \phi_p \frac{v_p}{\left| v_p \right|} + .. math:: \sum_{p \in \Gamma} w_p m_p \phi_p \frac{v_p}{\left|v_p\right|} Volume-weighted flow rate +----------------------------------------------+ | Lagrangian::FlowRate::VolumeWeightedFlowRate | +----------------------------------------------+ - The net volume-weighted flow rate is the sum of the general particle property + Net volume-weighted flow rate is the sum of the general particle property :math:`\phi_p` multiplied by the particle volume, :math:`V_p` of the set of particles projected to have crossed the flow plane, :math:`\Gamma`. - .. math:: \sum_{p \in \Gamma}\phi_p w_p V_p \frac{v_p}{\left| v_p \right|} + .. math:: \sum_{p \in \Gamma}\phi_p w_p V_p \frac{v_p}{\left|v_p\right|} + + +.. code-block:: none + + mfix.monitors = my_monitor0 my_monitor1 + + mfix.monitors.my_monitor0 = Eulerian::VolumeIntegral::MassWeightedIntegral + mfix.monitors.my_monitor1 = Lagrangian::Average::VolumeWeightedAverage -- GitLab From 5b6d96a9135830b12c8d3400a315610a96cc4da9 Mon Sep 17 00:00:00 2001 From: Charles G Waldman Date: Thu, 22 Jan 2026 17:24:27 -0600 Subject: [PATCH 14/16] fix math --- docs/source_docs/user_guide/inputs/solids_model.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/source_docs/user_guide/inputs/solids_model.rst b/docs/source_docs/user_guide/inputs/solids_model.rst index adfeaa0..68cf8d4 100644 --- a/docs/source_docs/user_guide/inputs/solids_model.rst +++ b/docs/source_docs/user_guide/inputs/solids_model.rst @@ -332,7 +332,7 @@ The following keywords control the iterative PIC algorithm and are defined with +====================================+=========================================================================+==========+===========+ | initial_step_type | Specifies the initial solids volume fraction used in PIC iterations to | String | "nth_eps" | | | approximate the volume fraction at the end of the time step, | | | -| | :math:t^{n+1}. | | | +| | :math:`t^{n+1}` | | | | | | | | | | Options (case-insensitive): | | | | | | | | -- GitLab From ebe48eb2f28a5f399a5ec90fa472ab89ed9c78ca Mon Sep 17 00:00:00 2001 From: Charles G Waldman Date: Thu, 22 Jan 2026 17:24:51 -0600 Subject: [PATCH 15/16] alphabetize plot variables --- .../user_guide/inputs/output/plotting.rst | 175 ++++++++++-------- 1 file changed, 94 insertions(+), 81 deletions(-) diff --git a/docs/source_docs/user_guide/inputs/output/plotting.rst b/docs/source_docs/user_guide/inputs/output/plotting.rst index 7ec117b..60216b9 100644 --- a/docs/source_docs/user_guide/inputs/output/plotting.rst +++ b/docs/source_docs/user_guide/inputs/output/plotting.rst @@ -3,33 +3,24 @@ Plotfiles and other output ========================== -The following inputs must be preceded by the prefix ``mfix`` and control frequency and naming of plotfile generation as well -as whether the EB geometry or level set should be written, and if the particles should be written out in ASCII -format (for debugging). +The following inputs must be preceded by the prefix ``mfix`` and control frequency and naming of plotfile generation. + +----------------------+-----------------------------------------------------------------------+-------------+-----------+ | | Description | Type | Default | +======================+=======================================================================+=============+===========+ -| plot_int | Frequency of plotfile output; | Int | -1 | -| | if -1 then no plotfiles will be written at this frequency | | | -+----------------------+-----------------------------------------------------------------------+-------------+-----------+ -| plot_per_approx | Time period of plotfile output (approximate); does not modify dt | Real | -1 | -| | if -1 then no plotfiles will be written at this frequency | | | -+----------------------+-----------------------------------------------------------------------+-------------+-----------+ -| plotfile_on_restart | Write a plotfile when we restart (only used if plot_int>0) | Bool | false | +| plot_file | Prefix to use for plotfile output. | String | plt | +----------------------+-----------------------------------------------------------------------+-------------+-----------+ -| plot_file | Prefix to use for plotfile output | String | plt | +| file_digits | Number of digits to use in plotfile (plt[0-9]+) and checkpoint | Int | 5 | +| | (chk[0-9]+) filenames. | | | +----------------------+-----------------------------------------------------------------------+-------------+-----------+ -| par_ascii_file | Prefix to use for ASCII particle output | String | par | +| plot_int | Plotting interval in timesteps (0 to disable). | Int | 0 | +----------------------+-----------------------------------------------------------------------+-------------+-----------+ -| par_ascii_int | Frequency of ASCII particle output; | Int | -1 | -| | if -1 then no particle ASCII files will be written | | | +| plot_per_approx | Approximate plotting interval in simulation time (does not modify dt).| Real | 0 | +| | 0 to disable. Only one of ``plot_int`` or ``plot_per_approx`` may be | | | +| | specified. | | | +----------------------+-----------------------------------------------------------------------+-------------+-----------+ -| par_ascii_per_approx | Time period of the ASCII particle output (approximate); | Real | -1 | -| | if -1 then particle ASCII files will not be written at this frequency | | | -+----------------------+-----------------------------------------------------------------------+-------------+-----------+ -| file_digits | Number of digits to use in plotfile (plt[0-9]+) and checkpoint | Int | 5 | -| | (chk[0-9]+) filenames. | | | +| plot_on_restart | Write a plotfile when restarting (only used if ``plot_int``>0). | Bool | false | +----------------------+-----------------------------------------------------------------------+-------------+-----------+ @@ -38,116 +29,97 @@ The following inputs must be preceded by the prefix ``mfix`` and control which v +---------------------+-----------------------------------------------------------------------+-------------+-----------+ | | Description | Type | Default | +=====================+=======================================================================+=============+===========+ -| plt_regtest | Plot all variables (overrides all other plot flags) | Int | 0 | +| plt_regtest | Plot all variables (overrides all other plot flags). | Int | 0 | +---------------------+-----------------------------------------------------------------------+-------------+-----------+ -| plt_drag_p | Plot particle drag force | Int | 0 | +| plt_drag_p | Plot particle drag force. | Int | 0 | +---------------------+-----------------------------------------------------------------------+-------------+-----------+ -| plt_ep_g | Plot fluid volume fraction | Int | 1 | +| plt_ep_g | Plot fluid volume fraction. | Int | 1 | +---------------------+-----------------------------------------------------------------------+-------------+-----------+ -| plt_gradp_g | Plot gradient of fluid pressure | Int | 0 | +| plt_gradp_g | Plot fluid pressure gradient. | Int | 0 | +---------------------+-----------------------------------------------------------------------+-------------+-----------+ -| plt_mu_g | Plot fluid molecular viscosity | Int | 0 | +| plt_mu_g | Plot fluid molecular viscosity. | Int | 0 | +---------------------+-----------------------------------------------------------------------+-------------+-----------+ -| plt_omega_p | Plot particle angular velocity | Int | 0 | +| plt_omega_p | Plot particle angular velocity. | Int | 0 | +---------------------+-----------------------------------------------------------------------+-------------+-----------+ -| plt_p_g | Plot fluid pressure | Int | 0 | +| plt_p_g | Plot fluid pressure. | Int | 0 | +---------------------+-----------------------------------------------------------------------+-------------+-----------+ -| plt_phase | Plot particle type | Int | 0 | +| plt_phase | Plot particle type. | Int | 0 | +---------------------+-----------------------------------------------------------------------+-------------+-----------+ -| plt_radius | Plot particle radius | Int | 0 | +| plt_radius | Plot particle radius. | Int | 0 | +---------------------+-----------------------------------------------------------------------+-------------+-----------+ -| plt_ro_g | Plot fluid density | Int | 0 | +| plt_ro_g | Plot fluid density. | Int | 0 | +---------------------+-----------------------------------------------------------------------+-------------+-----------+ -| plt_ro_p | Plot particle density | Int | 0 | +| plt_ro_p | Plot particle density. | Int | 0 | +---------------------+-----------------------------------------------------------------------+-------------+-----------+ -| plt_statwt | Plot particle (parcel) statistical weight | Int | 0 | +| plt_statwt | Plot particle (parcel) statistical weight. | Int | 0 | +---------------------+-----------------------------------------------------------------------+-------------+-----------+ -| plt_T_g | Plot fluid temperature | Int | 0 | +| plt_T_g | Plot fluid temperature. | Int | 0 | +---------------------+-----------------------------------------------------------------------+-------------+-----------+ -| plt_T_p | Plot particle temperature | Int | 0 | +| plt_T_p | Plot particle temperature. | Int | 0 | +---------------------+-----------------------------------------------------------------------+-------------+-----------+ -| plt_vel_g | Plot fluid velocity data | Int | 1 | +| plt_vel_g | Plot fluid velocity data. | Int | 1 | +---------------------+-----------------------------------------------------------------------+-------------+-----------+ -| plt_vel_p | Plot particle velocity | Int | 1 | +| plt_vel_p | Plot particle velocity. | Int | 1 | +---------------------+-----------------------------------------------------------------------+-------------+-----------+ -| plt_volfrac | Plot Eulerian grid volume fraction (from cut cells) | Int | 0 | +| plt_volfrac | Plot Eulerian grid volume fraction (from cut cells). | Int | 0 | +---------------------+-----------------------------------------------------------------------+-------------+-----------+ -| plt_vort | Plot vorticity | Int | 0 | +| plt_vort | Plot fluid vorticity. | Int | 0 | +---------------------+-----------------------------------------------------------------------+-------------+-----------+ - -The following inputs must be preceded by the prefix ``mfix`` and control whether the EB geometry or level set should be written: - -+----------------------+--------------------------------------------------------------------------+-------------+-----------+ -| | Description | Type | Default | -+======================+==========================================================================+=============+===========+ -| write_ls | Write a plotfile holding the level set and volume fraction. | Bool | false | -| | If enabled, it will only be written once, after initialization or restart| | | -+----------------------+--------------------------------------------------------------------------+-------------+-----------+ -| write_eb_surface | Write out the EB geometry in vtp format. | Bool | false | -| | If enabled, it will only be written once, after initialization or restart| | | -+----------------------+--------------------------------------------------------------------------+-------------+-----------+ -| plt_geom | Write a plotfile holding the EB geometry data. | Bool | false | -| | If true, it will only be written once,after initialization or restart | | | -+----------------------+--------------------------------------------------------------------------+-------------+-----------+ - - The following inputs must be preceded by the prefix ``mfix.solids`` and allow to write additional plotfiles which contain only solids variables in specific regions at fixed timesteps or approximated simulation times. -All these parameters are user-defined. +--------------------------------+-----------------------------------------------------------------+-------------+-----------+ | | Description | Type | Default | +================================+=================================================================+=============+===========+ -| regions | Specify regions that will be used for plotfiles | Strings | | -+--------------------------------+-----------------------------------------------------------------+-------------+-----------+ -| [region_name] | Specify which solids phases will be plotted | String | | +| regions | Specify regions that will be used for plotfiles. | Strings | | +--------------------------------+-----------------------------------------------------------------+-------------+-----------+ -| [region_name].plot_int | Specify timestep frequency for plotting the file | Int | 0 | +| [region_name] | Specify which solids phases will be plotted. | Strings | | +--------------------------------+-----------------------------------------------------------------+-------------+-----------+ -| [region_name].plot_per_approx | Specify time interval frequency for plotting the file | Real | 0 | +| [region_name].plot_int | Plotting interval in timesteps (0 to disable). | Int | 0 | +--------------------------------+-----------------------------------------------------------------+-------------+-----------+ -| [region_name].plt_regtest | Plot all variables (overrides all other plot flags) | Int | 0 | +| [region_name].plot_per_approx | Approximate plotting interval in simulation time (does not | Real | 0 | +| | modify dt). 0 to disable. Only one of ``plot_int`` or | | | +| | ``plot_per_approx`` may be specified. | | | +--------------------------------+-----------------------------------------------------------------+-------------+-----------+ -| [region_name].plt_cp_s | Plot particle specific heat coefficient | Int | 0 | +| [region_name].plt_regtest | Plot all variables (overrides all other plot flags). | Int | 0 | +--------------------------------+-----------------------------------------------------------------+-------------+-----------+ -| [region_name].plt_drag_p | Plot particle drag force | Int | 0 | +| [region_name].plt_cp_s | Plot particle specific heat coefficient. | Int | 0 | +--------------------------------+-----------------------------------------------------------------+-------------+-----------+ -| [region_name].plt_h_s_txfr | Plot particle interphase enthalpy transfer | Int | 0 | +| [region_name].plt_drag_p | Plot particle drag force. | Int | 0 | +--------------------------------+-----------------------------------------------------------------+-------------+-----------+ -| [region_name].plt_mass | Plot particle mass | Int | 0 | +| [region_name].plt_h_s_txfr | Plot particle interphase enthalpy transfer. | Int | 0 | +--------------------------------+-----------------------------------------------------------------+-------------+-----------+ -| [region_name].plt_mass_sn_txfr | Plot particle interphase mass transfer | Int | 0 | +| [region_name].plt_mass | Plot particle mass. | Int | 0 | +--------------------------------+-----------------------------------------------------------------+-------------+-----------+ -| [region_name].plt_omega_p | Plot particle angular velocity | Int | 0 | +| [region_name].plt_mass_sn_txfr | Plot particle interphase mass transfer. | Int | 0 | +--------------------------------+-----------------------------------------------------------------+-------------+-----------+ -| [region_name].plt_omoi | Plot inverse of particle momentum of inertia | Int | 0 | +| [region_name].plt_omega_p | Plot particle angular velocity. | Int | 0 | +--------------------------------+-----------------------------------------------------------------+-------------+-----------+ -| [region_name].plt_phase | Plot particle phase | Int | 0 | +| [region_name].plt_omoi | Plot particle inverse momentum of inertia. | Int | 0 | +--------------------------------+-----------------------------------------------------------------+-------------+-----------+ -| [region_name].plt_radius | Plot particle radius | Int | 0 | +| [region_name].plt_phase | Plot particle phase. | Int | 0 | +--------------------------------+-----------------------------------------------------------------+-------------+-----------+ -| [region_name].plt_ro_p | Plot particle density | Int | 0 | +| [region_name].plt_radius | Plot particle radius. | Int | 0 | +--------------------------------+-----------------------------------------------------------------+-------------+-----------+ -| [region_name].plt_state | Plot particle state | Int | 0 | +| [region_name].plt_ro_p | Plot particle density. | Int | 0 | +--------------------------------+-----------------------------------------------------------------+-------------+-----------+ -| [region_name].plt_statwt | Plot particle statistical weight | Int | 0 | +| [region_name].plt_statwt | Plot particle statistical weight. | Int | 0 | +--------------------------------+-----------------------------------------------------------------+-------------+-----------+ -| [region_name].plt_T_p | Plot particle temperature | Int | 0 | +| [region_name].plt_T_p | Plot particle temperature. | Int | 0 | +--------------------------------+-----------------------------------------------------------------+-------------+-----------+ -| [region_name].plt_vel_p | Plot particle velocity | Int | 0 | +| [region_name].plt_vel_p | Plot particle velocity. | Int | 0 | +--------------------------------+-----------------------------------------------------------------+-------------+-----------+ -| [region_name].plt_vel_s_txfr | Plot particle interphase velocity transfer | Int | 0 | +| [region_name].plt_vel_s_txfr | Plot particle interphase velocity transfer. | Int | 0 | +--------------------------------+-----------------------------------------------------------------+-------------+-----------+ -| [region_name].plt_volume | Plot particle volume | Int | 0 | +| [region_name].plt_volume | Plot particle volume. | Int | 0 | +--------------------------------+-----------------------------------------------------------------+-------------+-----------+ -| [region_name].plt_X_s | Plot particle species mass fractions | Int | 0 | +| [region_name].plt_X_s | Plot particle species mass fractions. | Int | 0 | +--------------------------------+-----------------------------------------------------------------+-------------+-----------+ -For each region with name [region_name] specified in the inputs, it will be saved a plotfile with name "partsXXXXX_[region_name]", where XXXXX stands for the timestep number. +Files will be saved to a directory ``[region_name]`` using the ``plot_file`` prefix, e.g. ``region1/plt00000`` - -Below is an example for specifying the inputs to plot solids data in a given +Below is an example for specifying the inputs to plot solids data in a given region. .. code-block:: none @@ -158,5 +130,46 @@ region. mfix.solids.my_region.plt_vel_p = 1 +Debugging +========= + +The following inputs control whether particle data should be written out in ASCII format. +They must be preceded by the prefix ``mfix``. + ++----------------------+-----------------------------------------------------------------------+-------------+-----------+ +| | Description | Type | Default | ++======================+=======================================================================+=============+===========+ +| par_ascii_file | Prefix to use for ASCII particle output file name. | String | par | ++----------------------+-----------------------------------------------------------------------+-------------+-----------+ +| par_ascii_int | ASCII particle output interval in timesteps. 0 to disable. | Int | 0 | ++----------------------+-----------------------------------------------------------------------+-------------+-----------+ +| par_ascii_per_approx | Approximate simulation time period for ASCII particle output. 0 to | Real | 0 | +| | disable. Only one of ``par_ascii_int`` or ``par_ascii_per_approx`` | | | +| | may be specified. | | | ++----------------------+-----------------------------------------------------------------------+-------------+-----------+ + + +The following inputs control whether the EB geometry or level set should be written. +They must be preceded by the prefix ``mfix``. + ++----------------------+-----------------------------------------------------------------------+-------------+-----------+ +| | Description | Type | Default | ++======================+=======================================================================+=============+===========+ +| write_ls | Write a plotfile containing the level set and volume fraction. | Bool | false | +| | If enabled, it will only be written once, after initialization or | | | +| | restart. | | | ++----------------------+-----------------------------------------------------------------------+-------------+-----------+ +| write_eb_surface | Write the EB geometry in VTP format. | Bool | false | +| | If enabled, it will only be written once, after initialization or | | | +| | restart. | | | ++----------------------+-----------------------------------------------------------------------+-------------+-----------+ +| write_geom | Write a plotfile containing the EB geometry data. | Bool | false | +| | If true, it will only be written once, after initialization or | | | +| | restart. | | | ++----------------------+-----------------------------------------------------------------------+-------------+-----------+ + + + + `Ascent` has been integrated into MFIX-Exa for *in situ* visualization. See :ref:`Ascent` for details. -- GitLab From 41cabe92c8646df9de8aa0b7d1420c744fff2e3f Mon Sep 17 00:00:00 2001 From: Charles G Waldman Date: Thu, 22 Jan 2026 17:28:32 -0600 Subject: [PATCH 16/16] rewrite section on FlowRate --- docs/source_docs/user_guide/inputs/output/monitors.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/source_docs/user_guide/inputs/output/monitors.rst b/docs/source_docs/user_guide/inputs/output/monitors.rst index 755a487..e38fa77 100644 --- a/docs/source_docs/user_guide/inputs/output/monitors.rst +++ b/docs/source_docs/user_guide/inputs/output/monitors.rst @@ -556,7 +556,7 @@ Min +----------------------------------+ Minimum value of particle property :math:`\phi_p` is the selected region - is obtaine as: + is obtained as: .. math:: \min_p \phi_p -- GitLab