Chi-Tech
|
#include <linear_solver.h>
Data Structures | |
struct | ToleranceOptions |
Public Types | |
typedef LinearSolverContext< MatType, VecType > | LinSolveContext |
typedef std::shared_ptr< LinSolveContext > | LinSolveContextPtr |
Public Member Functions | |
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 | |
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 | |
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_ |
Private Attributes | |
bool | system_set_ = false |
bool | suppress_kspsolve_ = false |
Implementation of a general linear solver.
Definition at line 18 of file linear_solver.h.
typedef LinearSolverContext<MatType, VecType> chi_math::LinearSolver< MatType, VecType, SolverType >::LinSolveContext |
Definition at line 21 of file linear_solver.h.
typedef std::shared_ptr<LinSolveContext> chi_math::LinearSolver< MatType, VecType, SolverType >::LinSolveContextPtr |
Definition at line 22 of file linear_solver.h.
|
inlineexplicit |
Definition at line 57 of file linear_solver.h.
|
inlineexplicit |
Definition at line 65 of file linear_solver.h.
|
virtual |
chi_math::LinearSolver< Mat, Vec, KSP >::~LinearSolver | ( | ) |
Definition at line 9 of file linear_solver_petsc.cc.
void chi_math::LinearSolver< MatType, VecType, SolverType >::ApplyToleranceOptions | ( | ) |
void chi_math::LinearSolver< Mat, Vec, KSP >::ApplyToleranceOptions | ( | ) |
Definition at line 17 of file linear_solver_petsc.cc.
|
inline |
Definition at line 79 of file linear_solver.h.
|
inline |
Definition at line 83 of file linear_solver.h.
|
inlineprotected |
Definition at line 54 of file linear_solver.h.
|
protectedvirtual |
|
protected |
Definition at line 55 of file linear_solver_petsc.cc.
|
protectedvirtual |
|
protected |
Definition at line 100 of file linear_solver_petsc.cc.
|
protectedvirtual |
|
protected |
Definition at line 27 of file linear_solver_petsc.cc.
|
protectedvirtual |
|
protected |
Definition at line 96 of file linear_solver_petsc.cc.
|
protectedvirtual |
|
protected |
Definition at line 41 of file linear_solver_petsc.cc.
|
protectedpure virtual |
|
inline |
Sets a flag to suppress the KSPSolve() method from being called.
Definition at line 82 of file linear_solver.h.
|
protectedvirtual |
|
protected |
Definition at line 47 of file linear_solver_petsc.cc.
|
protectedvirtual |
|
protected |
Definition at line 31 of file linear_solver_petsc.cc.
|
protectedvirtual |
|
protected |
Definition at line 51 of file linear_solver_petsc.cc.
|
protectedpure virtual |
|
protectedvirtual |
|
protected |
Definition at line 35 of file linear_solver_petsc.cc.
|
protectedpure virtual |
|
protectedpure virtual |
|
virtual |
void chi_math::LinearSolver< Mat, Vec, KSP >::Setup | ( | ) |
Definition at line 60 of file linear_solver_petsc.cc.
|
virtual |
void chi_math::LinearSolver< Mat, Vec, KSP >::Solve | ( | ) |
Definition at line 104 of file linear_solver_petsc.cc.
|
inline |
Definition at line 76 of file linear_solver.h.
|
protected |
Definition at line 30 of file linear_solver.h.
|
protected |
Definition at line 31 of file linear_solver.h.
|
protected |
Definition at line 28 of file linear_solver.h.
|
protected |
Definition at line 26 of file linear_solver.h.
|
protected |
Definition at line 41 of file linear_solver.h.
|
protected |
Definition at line 40 of file linear_solver.h.
|
protected |
Definition at line 33 of file linear_solver.h.
|
protected |
Definition at line 25 of file linear_solver.h.
|
private |
Definition at line 37 of file linear_solver.h.
|
private |
Definition at line 36 of file linear_solver.h.
|
protected |
|
protected |
Definition at line 32 of file linear_solver.h.