Block-Structured AMR Software Framework
Loading...
Searching...
No Matches
amrex::LPInfo Struct Reference

Configuration knobs for multilevel linear operators (grid agglomeration, metrics, etc.). More...

#include <AMReX_MLLinOp.H>

Public Member Functions

LPInfosetAgglomeration (bool x) noexcept
 Enable or disable grid agglomeration on the coarsest MLMG levels (x = true enables it).
 
LPInfosetConsolidation (bool x) noexcept
 Enable or disable consolidation (MPI rank grouping) on coarse levels (x toggles the feature).
 
LPInfosetSemicoarsening (bool x) noexcept
 Toggle plane-wise semicoarsening instead of full coarsening (x = true selects semicoarsening).
 
LPInfosetAgglomerationGridSize (int x) noexcept
 Override the target grid size x used when agglomerating patches.
 
LPInfosetConsolidationGridSize (int x) noexcept
 Override the consolidation grid cutoff x (cells per MPI task) used to trigger grouping.
 
LPInfosetConsolidationRatio (int x) noexcept
 Set the refinement ratio x between consolidated levels.
 
LPInfosetConsolidationStrategy (int x) noexcept
 Select the heuristic x used when forming consolidated grids.
 
LPInfosetMetricTerm (bool x) noexcept
 Indicate whether metric terms are present so downstream code can skip metric work when absent.
 
LPInfosetMaxCoarseningLevel (int n) noexcept
 Cap how many coarsening steps (standard or semi-) MLMG may perform by setting n.
 
LPInfosetMaxSemicoarseningLevel (int n) noexcept
 Cap the number of semicoarsening steps (when enabled) via n.
 
LPInfosetSemicoarseningDirection (int n) noexcept
 Lock the direction n used for semicoarsening (-1 restores the default heuristic).
 
LPInfosetHiddenDirection (int n) noexcept
 Specify a dimension n that should be treated as “hidden” (e.g., for thin domains).
 
LPInfosetDeterministic (bool x) noexcept
 Enable deterministic reductions even on GPUs (slower but reproducible) by toggling x.
 
bool hasHiddenDimension () const noexcept
 True if a hidden dimension was configured via setHiddenDirection().
 

Static Public Member Functions

static constexpr int getDefaultAgglomerationGridSize ()
 
static constexpr int getDefaultConsolidationGridSize ()
 

Public Attributes

bool do_agglomeration = true
 
bool do_consolidation = true
 
bool do_semicoarsening = false
 
int agg_grid_size = -1
 
int con_grid_size = -1
 
int con_ratio = 2
 
int con_strategy = 3
 
bool has_metric_term = true
 
int max_coarsening_level = 30
 
int max_semicoarsening_level = 0
 
int semicoarsening_direction = -1
 
int hidden_direction = -1
 
bool deterministic = false
 Enable deterministic mode for GPU operations.
 

Detailed Description

Configuration knobs for multilevel linear operators (grid agglomeration, metrics, etc.).

The fluent setters below allow applications to toggle optional capabilities such as agglomeration, semicoarsening, and deterministic reductions.

Member Function Documentation

◆ getDefaultAgglomerationGridSize()

static constexpr int amrex::LPInfo::getDefaultAgglomerationGridSize ( )
inlinestaticconstexpr

◆ getDefaultConsolidationGridSize()

static constexpr int amrex::LPInfo::getDefaultConsolidationGridSize ( )
inlinestaticconstexpr

◆ hasHiddenDimension()

bool amrex::LPInfo::hasHiddenDimension ( ) const
inlinenoexcept

True if a hidden dimension was configured via setHiddenDirection().

◆ setAgglomeration()

LPInfo & amrex::LPInfo::setAgglomeration ( bool  x)
inlinenoexcept

Enable or disable grid agglomeration on the coarsest MLMG levels (x = true enables it).

◆ setAgglomerationGridSize()

LPInfo & amrex::LPInfo::setAgglomerationGridSize ( int  x)
inlinenoexcept

Override the target grid size x used when agglomerating patches.

◆ setConsolidation()

LPInfo & amrex::LPInfo::setConsolidation ( bool  x)
inlinenoexcept

Enable or disable consolidation (MPI rank grouping) on coarse levels (x toggles the feature).

◆ setConsolidationGridSize()

LPInfo & amrex::LPInfo::setConsolidationGridSize ( int  x)
inlinenoexcept

Override the consolidation grid cutoff x (cells per MPI task) used to trigger grouping.

◆ setConsolidationRatio()

LPInfo & amrex::LPInfo::setConsolidationRatio ( int  x)
inlinenoexcept

Set the refinement ratio x between consolidated levels.

◆ setConsolidationStrategy()

LPInfo & amrex::LPInfo::setConsolidationStrategy ( int  x)
inlinenoexcept

Select the heuristic x used when forming consolidated grids.

◆ setDeterministic()

LPInfo & amrex::LPInfo::setDeterministic ( bool  x)
inlinenoexcept

Enable deterministic reductions even on GPUs (slower but reproducible) by toggling x.

◆ setHiddenDirection()

LPInfo & amrex::LPInfo::setHiddenDirection ( int  n)
inlinenoexcept

Specify a dimension n that should be treated as “hidden” (e.g., for thin domains).

◆ setMaxCoarseningLevel()

LPInfo & amrex::LPInfo::setMaxCoarseningLevel ( int  n)
inlinenoexcept

Cap how many coarsening steps (standard or semi-) MLMG may perform by setting n.

◆ setMaxSemicoarseningLevel()

LPInfo & amrex::LPInfo::setMaxSemicoarseningLevel ( int  n)
inlinenoexcept

Cap the number of semicoarsening steps (when enabled) via n.

◆ setMetricTerm()

LPInfo & amrex::LPInfo::setMetricTerm ( bool  x)
inlinenoexcept

Indicate whether metric terms are present so downstream code can skip metric work when absent.

◆ setSemicoarsening()

LPInfo & amrex::LPInfo::setSemicoarsening ( bool  x)
inlinenoexcept

Toggle plane-wise semicoarsening instead of full coarsening (x = true selects semicoarsening).

◆ setSemicoarseningDirection()

LPInfo & amrex::LPInfo::setSemicoarseningDirection ( int  n)
inlinenoexcept

Lock the direction n used for semicoarsening (-1 restores the default heuristic).

Member Data Documentation

◆ agg_grid_size

int amrex::LPInfo::agg_grid_size = -1

◆ con_grid_size

int amrex::LPInfo::con_grid_size = -1

◆ con_ratio

int amrex::LPInfo::con_ratio = 2

◆ con_strategy

int amrex::LPInfo::con_strategy = 3

◆ deterministic

bool amrex::LPInfo::deterministic = false

Enable deterministic mode for GPU operations.

◆ do_agglomeration

bool amrex::LPInfo::do_agglomeration = true

◆ do_consolidation

bool amrex::LPInfo::do_consolidation = true

◆ do_semicoarsening

bool amrex::LPInfo::do_semicoarsening = false

◆ has_metric_term

bool amrex::LPInfo::has_metric_term = true

◆ hidden_direction

int amrex::LPInfo::hidden_direction = -1

◆ max_coarsening_level

int amrex::LPInfo::max_coarsening_level = 30

◆ max_semicoarsening_level

int amrex::LPInfo::max_semicoarsening_level = 0

◆ semicoarsening_direction

int amrex::LPInfo::semicoarsening_direction = -1

The documentation for this struct was generated from the following file: