Chi-Tech
|
#include <wgs_linear_solver.h>
Public Types | |
typedef std::shared_ptr< WGSContext< MatType, VecType, SolverType > > | WGSContextPtr |
Public Types inherited from chi_math::LinearSolver< MatType, VecType, SolverType > | |
typedef LinearSolverContext< MatType, VecType > | LinSolveContext |
typedef std::shared_ptr< LinSolveContext > | LinSolveContextPtr |
Public Member Functions | |
WGSLinearSolver (WGSContextPtr gs_context_ptr) | |
virtual | ~WGSLinearSolver () override |
~WGSLinearSolver () | |
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 | |
void | PreSetupCallback () override |
void | SetConvergenceTest () override |
virtual void | SetSystemSize () override |
virtual void | SetSystem () override |
void | SetPreconditioner () override |
void | PostSetupCallback () override |
void | PreSolveCallback () override |
void | SetRHS () override |
void | SetInitialGuess () override |
void | PostSolveCallback () override |
void | PreSetupCallback () |
void | SetConvergenceTest () |
void | SetSystemSize () |
void | SetSystem () |
void | SetPreconditioner () |
void | PostSetupCallback () |
void | PreSolveCallback () |
void | SetInitialGuess () |
void | SetRHS () |
void | PostSolveCallback () |
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 | |
std::vector< double > | saved_q_moments_local_ |
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 18 of file wgs_linear_solver.h.
typedef std::shared_ptr<WGSContext<MatType,VecType,SolverType> > lbs::WGSLinearSolver< MatType, VecType, SolverType >::WGSContextPtr |
Definition at line 25 of file wgs_linear_solver.h.
|
inlineexplicit |
Constructor.
gs_context_ptr | Context Pointer to abstract context. |
Definition at line 29 of file wgs_linear_solver.h.
|
overridevirtual |
lbs::WGSLinearSolver< Mat, Vec, KSP >::~WGSLinearSolver | ( | ) |
Definition at line 246 of file wgs_linear_solver.cc.
|
protectedvirtual |
Reimplemented from chi_math::LinearSolver< MatType, VecType, SolverType >.
Definition at line 90 of file wgs_linear_solver.cc.
|
overrideprotectedvirtual |
Reimplemented from chi_math::LinearSolver< MatType, VecType, SolverType >.
|
protectedvirtual |
For this callback we simply restore the q_moments_local vector.
Reimplemented from chi_math::LinearSolver< MatType, VecType, SolverType >.
Definition at line 213 of file wgs_linear_solver.cc.
|
overrideprotectedvirtual |
Reimplemented from chi_math::LinearSolver< MatType, VecType, SolverType >.
|
protectedvirtual |
Reimplemented from chi_math::LinearSolver< MatType, VecType, SolverType >.
Definition at line 28 of file wgs_linear_solver.cc.
|
overrideprotectedvirtual |
Reimplemented from chi_math::LinearSolver< MatType, VecType, SolverType >.
|
protectedvirtual |
Reimplemented from chi_math::LinearSolver< MatType, VecType, SolverType >.
Definition at line 98 of file wgs_linear_solver.cc.
|
overrideprotectedvirtual |
Reimplemented from chi_math::LinearSolver< MatType, VecType, SolverType >.
|
protectedvirtual |
Reimplemented from chi_math::LinearSolver< MatType, VecType, SolverType >.
Definition at line 36 of file wgs_linear_solver.cc.
|
overrideprotectedvirtual |
Reimplemented from chi_math::LinearSolver< MatType, VecType, SolverType >.
|
protectedvirtual |
Sets the initial guess for a gs solver. If the initial guess's norm is large enough the initial guess will be used, otherwise it is assumed zero.
Implements chi_math::LinearSolver< MatType, VecType, SolverType >.
Definition at line 109 of file wgs_linear_solver.cc.
|
overrideprotectedvirtual |
|
protectedvirtual |
Reimplemented from chi_math::LinearSolver< MatType, VecType, SolverType >.
Definition at line 81 of file wgs_linear_solver.cc.
|
overrideprotectedvirtual |
Reimplemented from chi_math::LinearSolver< MatType, VecType, SolverType >.
|
protectedvirtual |
Implements chi_math::LinearSolver< MatType, VecType, SolverType >.
Definition at line 131 of file wgs_linear_solver.cc.
|
overrideprotectedvirtual |
|
protectedvirtual |
Implements chi_math::LinearSolver< MatType, VecType, SolverType >.
Definition at line 52 of file wgs_linear_solver.cc.
|
overrideprotectedvirtual |
|
protectedvirtual |
Implements chi_math::LinearSolver< MatType, VecType, SolverType >.
Definition at line 42 of file wgs_linear_solver.cc.
|
overrideprotectedvirtual |
|
protected |
Definition at line 22 of file wgs_linear_solver.h.