Chi-Tech
|
#include <ags_linear_solver.h>
Public Types | |
typedef std::shared_ptr< AGSContext< MatType, VecType, SolverType > > | AGSContextPtr |
Public Types inherited from chi_math::LinearSolver< MatType, VecType, SolverType > | |
typedef LinearSolverContext< MatType, VecType > | LinSolveContext |
typedef std::shared_ptr< LinSolveContext > | LinSolveContextPtr |
Public Member Functions | |
AGSLinearSolver (std::string iterative_method, AGSContextPtr ags_context_ptr, int groupspan_first_id, int groupspan_last_id, bool verbose=true) | |
int | GroupSpanFirstID () const |
int | GroupSpanLastID () const |
bool | IsVerbose () const |
void | SetVerbosity (bool verbose_y_n) |
void | Solve () override |
virtual | ~AGSLinearSolver () override |
void | Solve () |
~AGSLinearSolver () | |
Public Member Functions inherited from chi_math::LinearSolver< MatType, VecType, SolverType > | |
LinearSolver (const std::string &iterative_method, LinSolveContextPtr context_ptr) | |
LinearSolver (std::string solver_name, std::string iterative_method, LinSolveContextPtr context_ptr) | |
virtual | ~LinearSolver () |
ToleranceOptions & | ToleranceOptions () |
void | ApplyToleranceOptions () |
LinSolveContextPtr & | GetContext () |
void | SetKSPSolveSuppressionFlag (bool flag) |
bool | GetKSPSolveSuppressionFlag () const |
virtual void | Setup () |
virtual void | Solve () |
~LinearSolver () | |
void | ApplyToleranceOptions () |
void | Setup () |
void | Solve () |
Protected Member Functions | |
virtual void | SetSystemSize () override |
virtual void | SetSystem () override |
void | SetPreconditioner () override |
void | SetRHS () override |
void | SetInitialGuess () override |
void | SetSystemSize () |
void | SetSystem () |
void | SetPreconditioner () |
void | SetRHS () |
void | SetInitialGuess () |
Protected Member Functions inherited from chi_math::LinearSolver< MatType, VecType, SolverType > | |
bool | IsSystemSet () const |
virtual void | PreSetupCallback () |
virtual void | SetOptions () |
virtual void | SetSolverContext () |
virtual void | SetConvergenceTest () |
virtual void | SetMonitor () |
virtual void | SetPreconditioner () |
virtual void | SetSystemSize ()=0 |
virtual void | SetSystem ()=0 |
virtual void | PostSetupCallback () |
virtual void | PreSolveCallback () |
virtual void | SetInitialGuess ()=0 |
virtual void | SetRHS ()=0 |
virtual void | PostSolveCallback () |
void | PreSetupCallback () |
void | SetOptions () |
void | SetSolverContext () |
void | SetConvergenceTest () |
void | SetMonitor () |
void | SetPreconditioner () |
void | PostSetupCallback () |
void | PreSolveCallback () |
void | PostSolveCallback () |
Protected Attributes | |
int | groupspan_first_id_ = 0 |
int | groupspan_last_id_ = 0 |
bool | verbose_ = false |
Protected Attributes inherited from chi_math::LinearSolver< MatType, VecType, SolverType > | |
const std::string | solver_name_ |
const std::string | iterative_method_ |
LinSolveContextPtr | context_ptr_ = nullptr |
MatType | A_ |
VecType | b_ |
VecType | x_ |
SolverType | solver_ |
int64_t | num_local_dofs_ = 0 |
int64_t | num_globl_dofs_ = 0 |
struct chi_math::LinearSolver::ToleranceOptions | tolerance_options_ |
Linear Solver specialization for Within GroupSet (WGS) solves.
Definition at line 13 of file ags_linear_solver.h.
typedef std::shared_ptr<AGSContext<MatType,VecType,SolverType> > lbs::AGSLinearSolver< MatType, VecType, SolverType >::AGSContextPtr |
Definition at line 21 of file ags_linear_solver.h.
|
inline |
Constructor.
iterative_method | string Across Groupset iterative method. |
ags_context_ptr | Pointer Pointer to the context to use. |
groupspan_first_id | int First group index. |
groupspan_last_id | int Last group index. |
verbose | bool Flag to enable verbose output. |
Definition at line 29 of file ags_linear_solver.h.
|
overridevirtual |
lbs::AGSLinearSolver< Mat, Vec, KSP >::~AGSLinearSolver | ( | ) |
Definition at line 129 of file ags_linear_solver.cc.
|
inline |
Definition at line 41 of file ags_linear_solver.h.
|
inline |
Definition at line 42 of file ags_linear_solver.h.
|
inline |
Definition at line 43 of file ags_linear_solver.h.
|
protectedvirtual |
Implements chi_math::LinearSolver< MatType, VecType, SolverType >.
Definition at line 71 of file ags_linear_solver.cc.
|
overrideprotectedvirtual |
|
protectedvirtual |
Reimplemented from chi_math::LinearSolver< MatType, VecType, SolverType >.
Definition at line 59 of file ags_linear_solver.cc.
|
overrideprotectedvirtual |
Reimplemented from chi_math::LinearSolver< MatType, VecType, SolverType >.
|
protectedvirtual |
Implements chi_math::LinearSolver< MatType, VecType, SolverType >.
Definition at line 67 of file ags_linear_solver.cc.
|
overrideprotectedvirtual |
|
protectedvirtual |
Implements chi_math::LinearSolver< MatType, VecType, SolverType >.
Definition at line 34 of file ags_linear_solver.cc.
|
overrideprotectedvirtual |
|
protectedvirtual |
Implements chi_math::LinearSolver< MatType, VecType, SolverType >.
Definition at line 23 of file ags_linear_solver.cc.
|
overrideprotectedvirtual |
|
inline |
Definition at line 44 of file ags_linear_solver.h.
|
virtual |
Reimplemented from chi_math::LinearSolver< MatType, VecType, SolverType >.
Definition at line 77 of file ags_linear_solver.cc.
|
overridevirtual |
Reimplemented from chi_math::LinearSolver< MatType, VecType, SolverType >.
|
protected |
Definition at line 17 of file ags_linear_solver.h.
|
protected |
Definition at line 18 of file ags_linear_solver.h.
|
protected |
Definition at line 19 of file ags_linear_solver.h.