Skip to content
Snippets Groups Projects

new options for MPMD

Merged Deepak Rangarajan requested to merge rangarad/docs:option_from_mr1371 into main
5 files
+ 49
35
Compare changes
  • Side-by-side
  • Inline
Files
5
.. _ReferenceMPMD:
Multiple Program Multiple Data (MPMD)
=====================================
MFIX-Exa utilizes the AMReX-MPMD interface to send data across to another program or application. In order to enable this feature, the executable has to be built with ``-DMFIX_MPMD = yes``.
Inputs
------
The following inputs must be preceded by "mfix." and control frequency and the data that will be sent to the other program.
+----------------------+-----------------------------------------------------------------------+-------------+-----------+
| | Description | Type | Default |
+======================+=======================================================================+=============+===========+
| mpmd_int | Frequency at which data is sent to the other application | Int | -1 |
| | when using MPMD. | | |
+----------------------+-----------------------------------------------------------------------+-------------+-----------+
| mpmd_per_approx | Time period for sending data to the other pipeline (approximate) | Real | -1 |
| | when using MPMD. | | |
+----------------------+-----------------------------------------------------------------------+-------------+-----------+
| mpmd_static_mfs | A list of the names of static multifabs that will be sent | String | None |
| | only once when using MPMD. Possible values are | | |
| | "volfrac" and "centroid". | | |
+----------------------+-----------------------------------------------------------------------+-------------+-----------+
| mpmd_mfs | A list of the names of multifabs that will be sent per set frequency | String | None |
| | when using MPMD. Possible values are "ep_g", "vel_g", "T_g" | | |
| | and "X_gk". | | |
+----------------------+-----------------------------------------------------------------------+-------------+-----------+
The AMReX-MPMD interface is used to send data to another program or application. In order to enable this feature, the executable
has to be built with ``-DMFIX_MPMD = yes``.
:ref:`Input parameters controling the AMReX-MPMD interface<InputsMPMD>` are defined in the User Guide run-time inputs section.
Sample Python Program
----------------------
@@ -91,7 +75,7 @@ Receive Once
Receive Until *End*
~~~~~~~~~~~~~~~~~~~
* Receive ``End Flag`` on the python root from the C++ root and broadbast to all python
* Receive ``End Flag`` on the python root from the C++ root and broadcast to all python
ranks. If the flag is ``1``, break out of the loop.
.. code-block:: python
@@ -107,7 +91,7 @@ Receive Until *End*
if end == 1:
break
* Receive ``Reals`` on the python root from the C++ root and broadbast to all python
* Receive ``Reals`` on the python root from the C++ root and broadcast to all python
ranks. Save ``time`` to an array on the python root for plotting.
.. code-block:: python
@@ -212,11 +196,3 @@ Finalize
amr.finalize()
amr.MPMD_Finalize()
Limitations
------------
* Does not work with simulations that require restarts.
* Cannot be used to send and receive particle data.
Loading