Skip to content
Snippets Groups Projects
advanced.rst 9.42 KiB

Advanced

Testing / debugging

The following inputs must be preceded by "mfix."

  Description Type Default
verbose Verbosity in MFIX-Exa routines Int 0
ooo_debug If true then print the name of the routine we are in Bool False
only_print_grid_report Do not time-march the simulation. Simply generate the grid report and exit. Bool False

The following inputs must be preceded by "amrex."

  Description Type Default
fpe_trap_invalid Abort if an invalid floating point exception is encountered. Int 0
fpe_trap_zero Abort if a division by zero is computed. Int 0
fpe_trap_overflow Abort if an overflow is detected. Int 0

GPU memory

The following inputs must be preceded by "amrex."

  Description Type Default
the_arena_is_managed Use managed memory for the main arena. Int 0
the_arena_init_size Main memory arena's initial size in bytes. Int 3/4 of system device memory
abort_on_out_of_gpu_memory Abort if free device memory is less than the amount an arena is asked to allocate. Int 0

Load balancing

Note that when running a granular simulation, i.e., no fluid phase, mfix.load_balance defaults to SingleGrid. Hence, the particles.max_grid_size (in each direction) have no meaning. Therefore the fluid grid and tile sizes should be set for particle load balancing. It may also be necessary to set the blocking factors to 1.

The following inputs must be preceded by mfix and determine how we load balance:

  Description Type Default
regrid_int How often to regrid (in number of steps at level 0) if regrid_int <= 0 then no regridding will occur int 0
load_balance
  • SingleGrid fluid and particles are co-located on the same grids
  • DualGrid fluid and particles live on different grids
string SingleGrid
load_balance.DualGrid.fluid Regrid mesh (fluid) in addition to particles when using DualGrid int 0
load_balance.strategy What strategy to use for load balancing Options are KnapSack and SFC string KnapSack
load_balance.weighting What weighting function to use if using Knapsack load balancing Options are ParticleRunTime, ParticleCount and CellCount string ParticleRunTime
knapsack_nmax Maximum number of grids per MPI process if using knapsack algorithm int 128
grid_pruning Remove all covered grids from the base mesh; this may result in disjoined grids bool False

To allow a user to verify the breakdown of fluid grids created before running a full simulation, an input option, mfix.only_print_grid_report is supported. By default, it is False. When set to True, the run uses minimal memory to print the grid coverage report and exits immediately after that.

The following inputs are defined using the particles prefix.

  Description Type Default
max_grid_size_x Maximum number of cells at level 0 in each grid in x-direction for grids in the ParticleBoxArray if dual_grid is true Int 32
max_grid_size_y Maximum number of cells at level 0 in each grid in y-direction for grids in the ParticleBoxArray if dual_grid is true Int 32
max_grid_size_z Maximum number of cells at level 0 in each grid in z-direction for grids in the ParticleBoxArray if dual_grid is true. Int 32