Skip to content

Runtime Parameters: Miscellaneous

Hsi-Yu Schive edited this page Jun 26, 2023 · 18 revisions

Parameters described on this page: OPT__VERBOSE,   OPT__TIMING_BARRIER,   OPT__TIMING_BALANCE,   OPT__TIMING_MPI,   OPT__RECORD_NOTE,   OPT__RECORD_UNPHY,   OPT__RECORD_MEMORY,   OPT__RECORD_PERFORMANCE,   OPT__MANUAL_CONTROL,   OPT__RECORD_USER,   OPT__OPTIMIZE_AGGRESSIVE,   OPT__SORT_PATCH_BY_LBIDX,   OPT__CK_REFINE,   OPT__CK_PROPER_NESTING,   OPT__CK_CONSERVATION,   OPT__CK_NORMALIZE_PASSIVE,   OPT__CK_RESTRICT,   OPT__CK_FINITE,   OPT__CK_PATCH_ALLOCATE,   OPT__CK_FLUX_ALLOCATE,   OPT__CK_NEGATIVE,   OPT__CK_MEMFREE,   OPT__CK_PARTICLE,   OPT__CK_INTERFACE_B,   OPT__CK_DIVERGENCE_B,   OPT__CK_INPUT_FLUID  

Parameters below are shown in the format:   Name   (Valid Values)   [Default Value]

  • OPT__VERBOSE   (0=off, 1=on)   [0]

    • Description: Show details of the simulation progress.
    • Restriction:

  • OPT__TIMING_BARRIER   (0=off, 1=on; <0 → set to default)   [-1]

    • Description: Synchronize all MPI processes (by invoking MPI_Barrier()) before timing. It will lead to more accurate timing results but may also deteriorate the performance.
    • Restriction: Only applicable when enabling the compilation option TIMING.

  • OPT__TIMING_BALANCE   (0=off, 1=on)   [0]

    • Description: Record the maximum and minimum times consumed by various major routines among all MPI processes to check load balancing. The results will be recorded in the file Record__Timing.
    • Restriction: Only applicable when enabling the compilation option TIMING.

  • OPT__TIMING_MPI   (0=off, 1=on)   [0]

  • OPT__RECORD_NOTE   (0=off, 1=on)   [1]

    • Description: Record the general simulation information, such as compilation options and runtime parameters, in the file Record__Note.
    • Restriction:

  • OPT__RECORD_UNPHY   (0=off, 1=on)   [1]

    • Description: Record the number of cells with unphysical results being corrected in the file Record__NCorrUnphy.
    • Restriction:

  • OPT__RECORD_MEMORY   (0=off, 1=on)   [1]

    • Description: Record the total memory consumption of each MPI process in the file Record__MemInfo.
    • Restriction:

  • OPT__RECORD_PERFORMANCE   (0=off, 1=on)   [1]

    • Description: Record the code performance in the file Record__Performance.
    • Restriction: Only applicable when enabling the compilation option TIMING.

  • OPT__MANUAL_CONTROL   (0=off, 1=on)   [1]

  • OPT__RECORD_USER   (0=off, 1=on)   [0]

  • OPT__OPTIMIZE_AGGRESSIVE   (0=off, 1=on)   [0]

    • Description: Apply aggressive performance optimizations. This option is experimental.
    • Restriction:

  • OPT__SORT_PATCH_BY_LBIDX   (0=off, 1=on)   [1]

    • Description: Sort patches by their load-balance indices before dumping data and during restart to improve bitwise reproducibility, especially when restarting with the same number of MPI processes.
    • Restriction: Not supported by SERIAL.

  • OPT__CK_REFINE   (0=off, 1=on)   [0]

    • Description: Check the grid refinement (deprecated).
    • Restriction: Only work with the refinement option OPT__FLAG_RHO.

  • OPT__CK_PROPER_NESTING   (0=off, 1=on)   [0]

    • Description: Check the proper-nesting condition.
    • Restriction:

  • OPT__CK_CONSERVATION   (0=off, 1=on)   [0]

    • Description: Check the conservation laws. The results will be recorded in the file Record__Conservation.
    • Restriction:

  • OPT__CK_NORMALIZE_PASSIVE   (0=off, 1=on)   [0]

    • Description: Check the normalization of passive scalars. Make sure to turn on OPT__NORMALIZE_PASSIVE. Otherwise this check will likely fail.
    • Restriction:

  • OPT__CK_RESTRICT   (0=off, 1=on)   [0]

    • Description: Check the data restriction (i.e., the averages of fine-grid data equal the coarse-grid data). Make sure to turn on both OPT__FIXUP_RESTRICT and OPT__INIT_RESTRICT. Otherwise this check will likely fail.
    • Restriction:

  • OPT__CK_FINITE   (0=off, 1=on)   [0]

    • Description: Check if all variables are finite (i.e., not "NaN" or "Infinite").
    • Restriction:

  • OPT__CK_PATCH_ALLOCATE   (0=off, 1=on)   [0]

    • Description: Check if all patches are properly allocated. This is used mainly for debugging purposes.
    • Restriction:

  • OPT__CK_FLUX_ALLOCATE   (0=off, 1=on)   [0]

    • Description: Check if all flux arrays are properly allocated. This is used mainly for debugging purposes.
    • Restriction:

  • OPT__CK_NEGATIVE   (0=off, 1=mass density, 2=pressure and entropy, 3=both)   [0]

    • Description: Check if any of the target variables becomes negative.
    • Restriction:

  • OPT__CK_MEMFREE   (0=off, >0.0 → threshold in GB)   [1.0]

    • Description: Check the free memory. The program will be terminated automatically if the available memory becomes smaller than a given threshold.
    • Restriction:

  • OPT__CK_PARTICLE   (0=off, 1=on)   [0]

    • Description: Check the particle allocation. This is used mainly for debugging purposes.
    • Restriction:

  • OPT__CK_INTERFACE_B   (0=off, 1=on)   [0]

    • Description: Check the consistency of the magnetic field on the patch interfaces. This is used mainly for debugging purposes.
    • Restriction: For MHD only.

  • OPT__CK_DIVERGENCE_B   (0=off, 1=on)   [0]

    • Description: Check the divergence-free constraint on the magnetic field. This is used mainly for debugging purposes.
    • Restriction: For MHD only.

  • OPT__CK_INPUT_FLUID   (0=off, 1=on)   [0]

    • Description: Check the input data of the fluid solver for debugging purposes.
    • Restriction:

Remarks


Links

Clone this wiki locally