Chi-Tech
lbs::AGSContext< MatType, VecType, SolverType > Struct Template Reference

#include <ags_context.h>

Inheritance diagram for lbs::AGSContext< MatType, VecType, SolverType >:
chi_math::LinearSolverContext< MatType, VecType >

Public Types

typedef chi_math::LinearSolver< MatType, VecType, SolverTypeLinSolveBaseType
 
typedef std::shared_ptr< LinSolveBaseTypeLinSolveBaseTypePtr
 

Public Member Functions

 AGSContext (LBSSolver &lbs_solver, std::vector< LinSolveBaseTypePtr > sub_solvers_list)
 
std::pair< int64_t, int64_t > SystemSize ()
 
virtual void SetPreconditioner (SolverType &solver)
 
int MatrixAction (MatType &matrix, VecType &vector, VecType &action) override
 
std::pair< int64_t, int64_t > SystemSize ()
 
void SetPreconditioner (KSP &solver)
 
int MatrixAction (Mat &matrix, Vec &vector, Vec &action)
 
- Public Member Functions inherited from chi_math::LinearSolverContext< MatType, VecType >
virtual int MatrixAction (MatType &matrix, VecType &vector, VecType &action)
 
virtual ~LinearSolverContext ()=default
 

Data Fields

LBSSolverlbs_solver_
 
std::vector< LinSolveBaseTypePtrsub_solvers_list_
 
- Data Fields inherited from chi_math::LinearSolverContext< MatType, VecType >
double rhs_norm = 0.0
 
double rhs_preconditioned_norm = 0.0
 
double custom_residual_scale = 1.0
 
ResidualScaleType residual_scale_type = ResidualScaleType::NONE
 

Detailed Description

template<class MatType, class VecType, class SolverType>
struct lbs::AGSContext< MatType, VecType, SolverType >

Definition at line 19 of file ags_context.h.

Member Typedef Documentation

◆ LinSolveBaseType

template<class MatType , class VecType , class SolverType >
typedef chi_math::LinearSolver<MatType, VecType, SolverType> lbs::AGSContext< MatType, VecType, SolverType >::LinSolveBaseType

Definition at line 21 of file ags_context.h.

◆ LinSolveBaseTypePtr

template<class MatType , class VecType , class SolverType >
typedef std::shared_ptr<LinSolveBaseType> lbs::AGSContext< MatType, VecType, SolverType >::LinSolveBaseTypePtr

Definition at line 22 of file ags_context.h.

Constructor & Destructor Documentation

◆ AGSContext()

template<class MatType , class VecType , class SolverType >
lbs::AGSContext< MatType, VecType, SolverType >::AGSContext ( LBSSolver lbs_solver,
std::vector< LinSolveBaseTypePtr sub_solvers_list 
)
inline

Definition at line 26 of file ags_context.h.

Member Function Documentation

◆ MatrixAction() [1/2]

int lbs::AGSContext< Mat, Vec, KSP >::MatrixAction ( Mat matrix,
Vec vector,
Vec action 
)

Definition at line 46 of file ags_context.cc.

◆ MatrixAction() [2/2]

template<class MatType , class VecType , class SolverType >
int lbs::AGSContext< MatType, VecType, SolverType >::MatrixAction ( MatType &  matrix,
VecType &  vector,
VecType &  action 
)
overridevirtual

◆ SetPreconditioner() [1/2]

void lbs::AGSContext< Mat, Vec, KSP >::SetPreconditioner ( KSP &  solver)

Definition at line 40 of file ags_context.cc.

◆ SetPreconditioner() [2/2]

template<class MatType , class VecType , class SolverType >
virtual void lbs::AGSContext< MatType, VecType, SolverType >::SetPreconditioner ( SolverType solver)
virtual

◆ SystemSize() [1/2]

std::pair< int64_t, int64_t > lbs::AGSContext< Mat, Vec, KSP >::SystemSize ( )

Definition at line 15 of file ags_context.cc.

◆ SystemSize() [2/2]

template<class MatType , class VecType , class SolverType >
std::pair< int64_t, int64_t > lbs::AGSContext< MatType, VecType, SolverType >::SystemSize ( )

Field Documentation

◆ lbs_solver_

template<class MatType , class VecType , class SolverType >
LBSSolver& lbs::AGSContext< MatType, VecType, SolverType >::lbs_solver_

Definition at line 23 of file ags_context.h.

◆ sub_solvers_list_

template<class MatType , class VecType , class SolverType >
std::vector<LinSolveBaseTypePtr> lbs::AGSContext< MatType, VecType, SolverType >::sub_solvers_list_

Definition at line 24 of file ags_context.h.


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