# 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`.

Limitations

- Does not work with simulations that require restarts.

- Cannot be used to send and receive particle data.

The following inputs are defined using the `mfix` prefix and control frequency and the data sent to the other program.

| Description | Type | Default
--- | --- | --- | ---
mpmd_int | Frequency at which data is sent to the other application when using MPMD. | Int | -1
mpmd_per_approx | Time period for sending data to the other pipeline (approximate) when using MPMD. | Real | -1
mpmd_static_mfs | A list of the names of static `MultiFabs` that will be sent only once when using MPMD. Possible values are “volfrac” and “centroid”. | String | None
mpmd_mfs | A list of the names of multifabs that will be sent per set frequency when using MPMD. Possible values are “ep_g”, “vel_g”, “T_g” and “X_gk”. | String | None

The description of a python script that gathers and plots velocity statistics for fluid pipe flow is provided in the reference section, while the python script can be found in the source code under the tutorials directory, `tutorials/mpmd/main.py`.