Arcane  4.1.12.0
Developer documentation
Loading...
Searching...
No Matches
Arcane::Alina::LooseGMRESSolverParams Struct Reference

Parameters for Loose GMRES solver. More...

#include </__w/arcaneframework.github.io/arcaneframework.github.io/framework/arccore/src/alina/arccore/alina/LooseGMRESSolver.h>

Collaboration diagram for Arcane::Alina::LooseGMRESSolverParams:

Public Types

using params = LooseGMRESSolverParams

Public Member Functions

 LooseGMRESSolverParams (const PropertyTree &p)
void get (PropertyTree &p, const std::string &path) const

Public Attributes

Int32 M = 30
 Number of inner GMRES iterations per each outer iteration.
Int32 K = 3
 Number of vectors to carry between inner GMRES iterations.
bool always_reset = true
 Reset augmented vectors between solves.
ePreconditionerSideType pside = ePreconditionerSideType::right
 Preconditioning kind (left/right).
Int32 maxiter = 100
 Maximum number of iterations.
double tol = 1.0e-8
 Target relative residual error.
double abstol = std::numeric_limits<double>::min()
 Target absolute residual error.
bool ns_search = false
 Ignore the trivial solution x=0 when rhs is zero.
bool verbose = false
 Verbose output (show iterations and error).

Detailed Description

Parameters for Loose GMRES solver.

Definition at line 77 of file LooseGMRESSolver.h.

Member Typedef Documentation

◆ params

using Arcane::Alina::LooseGMRESSolverParams::params = LooseGMRESSolverParams

Definition at line 79 of file LooseGMRESSolver.h.

Constructor & Destructor Documentation

◆ LooseGMRESSolverParams()

Arcane::Alina::LooseGMRESSolverParams::LooseGMRESSolverParams ( const PropertyTree & p)
inline

Definition at line 126 of file LooseGMRESSolver.h.

Member Function Documentation

◆ get()

void Arcane::Alina::LooseGMRESSolverParams::get ( PropertyTree & p,
const std::string & path ) const
inline

Definition at line 140 of file LooseGMRESSolver.h.

Member Data Documentation

◆ abstol

double Arcane::Alina::LooseGMRESSolverParams::abstol = std::numeric_limits<double>::min()

Target absolute residual error.

Definition at line 115 of file LooseGMRESSolver.h.

◆ always_reset

bool Arcane::Alina::LooseGMRESSolverParams::always_reset = true

Reset augmented vectors between solves.

If the solver is used to repeatedly solve similar problems, then keeping the augmented vectors between solves may speed up subsequent solves. This flag, when set, resets the augmented vectors at the beginning of each solve.

Definition at line 103 of file LooseGMRESSolver.h.

◆ K

Int32 Arcane::Alina::LooseGMRESSolverParams::K = 3

Number of vectors to carry between inner GMRES iterations.

According to [BaJM05], good values are in the range of 1...3. However, note that if you want to use the additional vectors to accelerate solving multiple similar problems, larger values may be beneficial.

Definition at line 92 of file LooseGMRESSolver.h.

◆ M

Int32 Arcane::Alina::LooseGMRESSolverParams::M = 30

Number of inner GMRES iterations per each outer iteration.

Definition at line 82 of file LooseGMRESSolver.h.

◆ maxiter

Int32 Arcane::Alina::LooseGMRESSolverParams::maxiter = 100

Maximum number of iterations.

Definition at line 109 of file LooseGMRESSolver.h.

◆ ns_search

bool Arcane::Alina::LooseGMRESSolverParams::ns_search = false

Ignore the trivial solution x=0 when rhs is zero.

Definition at line 119 of file LooseGMRESSolver.h.

◆ pside

ePreconditionerSideType Arcane::Alina::LooseGMRESSolverParams::pside = ePreconditionerSideType::right

Preconditioning kind (left/right).

Definition at line 106 of file LooseGMRESSolver.h.

◆ tol

double Arcane::Alina::LooseGMRESSolverParams::tol = 1.0e-8

Target relative residual error.

Definition at line 112 of file LooseGMRESSolver.h.

◆ verbose

bool Arcane::Alina::LooseGMRESSolverParams::verbose = false

Verbose output (show iterations and error).

Definition at line 122 of file LooseGMRESSolver.h.


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