MLMGOptions Struct Reference
AMR-Wind API v0.1.0
CFD solver for wind plant simulations
|
#include <MLMGOptions.H>
Public Member Functions | |
MLMGOptions (const std::string &prefix) | |
MLMGOptions (const std::string &default_prefix, const std::string &custom_prefix) | |
void | operator() (amrex::MLMG &) |
void | operator() (Hydro::NodalProjector &) |
void | operator() (Hydro::MacProjector &) |
amrex::LPInfo & | lpinfo () |
Linear operator options during construction. | |
Public Attributes | |
int | max_order {2} |
amrex::Real | rel_tol {1.0e-11} |
Relative tolerance for convergence of MLMG solvers. | |
amrex::Real | abs_tol {1.0e-14} |
Absolute tolerance for convergence checks. | |
Private Member Functions | |
void | parse_options (const std::string &) |
Private Attributes | |
amrex::LPInfo | m_lpinfo |
Linear operator info object. | |
std::string | m_bottom_solver_type {"bicgstab"} |
Bottom solver type bicgstab, cg, hypre, etc. | |
std::string | m_hypre_namespace {"hypre"} |
Options namespace for hypre solvers. | |
std::string | m_hypre_interface {"ij"} |
Options of hypre interface. | |
amrex::Real | m_bottom_rel_tol {1.0e-4} |
Relative tolerance for convergence of MLMG solvers. | |
amrex::Real | m_bottom_abs_tol {-1.0} |
Absolute tolerance for convergence checks. | |
int | m_verbose {0} |
int | m_max_iter {200} |
int | m_max_fmg_iters {0} |
int | m_num_pre_smooth {2} |
int | m_num_post_smooth {2} |
int | m_num_final_smooth {8} |
int | m_num_bottom_smooth {0} |
int | m_bottom_verbose {0} |
int | m_bottom_max_iter {200} |
Maximum iterations for the bottom solver. | |
bool | m_do_fixed_iters {true} |
bool | m_do_nsolve {false} |
int | m_nsolve_grid_size {16} |
set grid size for nsolve | |
Detailed Description
Interface to control the behavior of AMReX LinearSolvers
MLMGOptions provides a unified interface to set options to the linear operator object, MLMG solver, external solvers (e.g., hypre), as well as MacProjector and NodalProjector objects.
Constructor & Destructor Documentation
◆ MLMGOptions() [1/2]
|
explicit |
Parse user options with a given prefix
- Parameters
-
prefix Prefix used to parse user inputs, e.g., mac_proj
◆ MLMGOptions() [2/2]
amr_wind::MLMGOptions::MLMGOptions | ( | const std::string & | default_prefix, |
const std::string & | custom_prefix ) |
Parse options in two stages
This constructor parses the default options from default_prefix
and then overrides certain options based on a custom prefix.
- Parameters
-
default_prefix Namespace for default options custom_prefix Namespace for override options
Member Function Documentation
◆ lpinfo()
|
inline |
Linear operator options during construction.
◆ operator()() [1/3]
void amr_wind::MLMGOptions::operator() | ( | amrex::MLMG & | mlmg | ) |
◆ operator()() [2/3]
void amr_wind::MLMGOptions::operator() | ( | Hydro::MacProjector & | mac_proj | ) |
◆ operator()() [3/3]
void amr_wind::MLMGOptions::operator() | ( | Hydro::NodalProjector & | nodal_proj | ) |
◆ parse_options()
|
private |
Member Data Documentation
◆ abs_tol
amrex::Real amr_wind::MLMGOptions::abs_tol {1.0e-14} |
Absolute tolerance for convergence checks.
◆ m_bottom_abs_tol
|
private |
Absolute tolerance for convergence checks.
◆ m_bottom_max_iter
|
private |
Maximum iterations for the bottom solver.
◆ m_bottom_rel_tol
|
private |
Relative tolerance for convergence of MLMG solvers.
◆ m_bottom_solver_type
|
private |
Bottom solver type bicgstab, cg, hypre, etc.
◆ m_bottom_verbose
|
private |
Set verbosity for AMReX bottom solvers
When using hypre as the bottom solver, this option is not passed to hypre. Instead user must set hypre.verbose
to control the hypre solver verbosity and hypre.bamg_verbose
to control BoomerAMG verbosity (when used as a preconditioner).
◆ m_do_fixed_iters
|
private |
If set to true, AMReX won't abort if linear solver doesn't converge within max iterations
◆ m_do_nsolve
|
private |
option to use the nsolve bottom solver added to help with overset masking
◆ m_hypre_interface
|
private |
Options of hypre interface.
◆ m_hypre_namespace
|
private |
Options namespace for hypre solvers.
◆ m_lpinfo
|
private |
Linear operator info object.
◆ m_max_fmg_iters
|
private |
◆ m_max_iter
|
private |
◆ m_nsolve_grid_size
|
private |
set grid size for nsolve
◆ m_num_bottom_smooth
|
private |
◆ m_num_final_smooth
|
private |
◆ m_num_post_smooth
|
private |
◆ m_num_pre_smooth
|
private |
◆ m_verbose
|
private |
Verbosity of the MLMG and Projector interfaces
◆ max_order
int amr_wind::MLMGOptions::max_order {2} |
◆ rel_tol
amrex::Real amr_wind::MLMGOptions::rel_tol {1.0e-11} |
Relative tolerance for convergence of MLMG solvers.
The documentation for this struct was generated from the following files:
- /home/runner/work/amr-wind/amr-wind/amr-wind/core/MLMGOptions.H
- /home/runner/work/amr-wind/amr-wind/amr-wind/core/MLMGOptions.cpp
Generated by 1.12.0