Chi-Tech
lbs::WGSContext< MatType, VecType, SolverType > Struct Template Referenceabstract

#include <wgs_context.h>

Inheritance diagram for lbs::WGSContext< MatType, VecType, SolverType >:
chi_math::LinearSolverContext< MatType, VecType > lbs::MIPWGSContext2< MatType, VecType, SolverType > lbs::SweepWGSContext< MatType, VecType, SolverType >

Public Member Functions

 WGSContext (LBSSolver &lbs_solver, LBSGroupset &groupset, const SetSourceFunction &set_source_function, int lhs_scope, int rhs_scope, bool log_info)
 
virtual void PreSetupCallback ()
 
virtual void SetPreconditioner (SolverType &solver)
 
virtual void PostSetupCallback ()
 
virtual void PreSolveCallback ()
 
int MatrixAction (MatType &matrix, VecType &action_vector, VecType &action) override
 
virtual std::pair< int64_t, int64_t > SystemSize ()=0
 
virtual void ApplyInverseTransportOperator (int scope)=0
 
virtual void PostSolveCallback ()
 
int MatrixAction (Mat &matrix, Vec &action_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_
 
LBSGroupsetgroupset_
 
const SetSourceFunctionset_source_function_
 
int lhs_src_scope_
 
int rhs_src_scope_
 
bool log_info_ = true
 
size_t counter_applications_of_inv_op_ = 0
 
- 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::WGSContext< MatType, VecType, SolverType >

Definition at line 25 of file wgs_context.h.

Constructor & Destructor Documentation

◆ WGSContext()

template<class MatType , class VecType , class SolverType >
lbs::WGSContext< MatType, VecType, SolverType >::WGSContext ( LBSSolver lbs_solver,
LBSGroupset groupset,
const SetSourceFunction set_source_function,
int  lhs_scope,
int  rhs_scope,
bool  log_info 
)
inline

Definition at line 35 of file wgs_context.h.

Member Function Documentation

◆ ApplyInverseTransportOperator()

template<class MatType , class VecType , class SolverType >
virtual void lbs::WGSContext< MatType, VecType, SolverType >::ApplyInverseTransportOperator ( int  scope)
pure virtual

This operation applies the inverse of the transform operator in the form Ay = x where the the vector x's underlying implementing is always LBS's q_moments_local vextor.

Implemented in lbs::MIPWGSContext2< MatType, VecType, SolverType >, lbs::SweepWGSContext< MatType, VecType, SolverType >, lbs::MIPWGSContext2< MatType, VecType, SolverType >, and lbs::SweepWGSContext< MatType, VecType, SolverType >.

◆ MatrixAction() [1/2]

int lbs::WGSContext< Mat, Vec, KSP >::MatrixAction ( Mat matrix,
Vec action_vector,
Vec action 
)

Definition at line 11 of file wgs_context_matrix_action.cc.

◆ MatrixAction() [2/2]

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

◆ PostSetupCallback()

template<class MatType , class VecType , class SolverType >
virtual void lbs::WGSContext< MatType, VecType, SolverType >::PostSetupCallback ( )
inlinevirtual

Definition at line 53 of file wgs_context.h.

◆ PostSolveCallback()

template<class MatType , class VecType , class SolverType >
virtual void lbs::WGSContext< MatType, VecType, SolverType >::PostSolveCallback ( )
inlinevirtual

◆ PreSetupCallback()

template<class MatType , class VecType , class SolverType >
virtual void lbs::WGSContext< MatType, VecType, SolverType >::PreSetupCallback ( )
inlinevirtual

◆ PreSolveCallback()

template<class MatType , class VecType , class SolverType >
virtual void lbs::WGSContext< MatType, VecType, SolverType >::PreSolveCallback ( )
inlinevirtual

Definition at line 55 of file wgs_context.h.

◆ SetPreconditioner()

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

◆ SystemSize()

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

Field Documentation

◆ counter_applications_of_inv_op_

template<class MatType , class VecType , class SolverType >
size_t lbs::WGSContext< MatType, VecType, SolverType >::counter_applications_of_inv_op_ = 0

Definition at line 33 of file wgs_context.h.

◆ groupset_

template<class MatType , class VecType , class SolverType >
LBSGroupset& lbs::WGSContext< MatType, VecType, SolverType >::groupset_

Definition at line 28 of file wgs_context.h.

◆ lbs_solver_

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

Definition at line 27 of file wgs_context.h.

◆ lhs_src_scope_

template<class MatType , class VecType , class SolverType >
int lbs::WGSContext< MatType, VecType, SolverType >::lhs_src_scope_

Definition at line 30 of file wgs_context.h.

◆ log_info_

template<class MatType , class VecType , class SolverType >
bool lbs::WGSContext< MatType, VecType, SolverType >::log_info_ = true

Definition at line 32 of file wgs_context.h.

◆ rhs_src_scope_

template<class MatType , class VecType , class SolverType >
int lbs::WGSContext< MatType, VecType, SolverType >::rhs_src_scope_

Definition at line 31 of file wgs_context.h.

◆ set_source_function_

template<class MatType , class VecType , class SolverType >
const SetSourceFunction& lbs::WGSContext< MatType, VecType, SolverType >::set_source_function_

Definition at line 29 of file wgs_context.h.


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