Chi-Tech
nl_keigen_ags_solver.h
Go to the documentation of this file.
1#ifndef CHITECH_LBS_NL_KEIGEN_AGS_SOLVER_H
2#define CHITECH_LBS_NL_KEIGEN_AGS_SOLVER_H
3
6
7namespace lbs
8{
9
10template <class MatType, class VecType, class SolverType>
12 : public chi_math::NonLinearSolver<MatType, VecType, SolverType>
13{
14public:
16 typedef std::shared_ptr<NLKAGSContext> NLKAGSContextPtr;
17
18 explicit NLKEigenvalueAGSSolver(NLKAGSContextPtr nlk_ags_context_ptr)
19 : chi_math::NonLinearSolver<MatType, VecType, SolverType>(
20 nlk_ags_context_ptr)
21 {
22 }
23
24 virtual ~NLKEigenvalueAGSSolver() override = default;
25
26protected:
27 void PreSetupCallback() override;
28 /*void SetOptions();*/
29 /*void SetSolverContext();*/
30 /*void SetConvergenceTest();*/
31 void SetMonitor() override;
32 /*void SetPreconditioner();*/
33
34 void SetSystemSize() override;
35 void SetSystem() override;
36 void SetFunction() override;
37 void SetJacobian() override;
38 /*void PostSetupCallback();*/
39public:
40 /*void Setup();*/
41
42protected:
43 /*void PreSolveCallback();*/
44 void SetInitialGuess() override;
45 void PostSolveCallback() override;
46 // public:
47 // void Solve();
48};
49
50} // namespace lbs
51
52#endif // CHITECH_LBS_NL_KEIGEN_AGS_SOLVER_H
NonLinearSolver(NLSolverContextPtr context_ptr, const chi::InputParameters &params=NonLinearSolverOptions::GetInputParameters())
std::shared_ptr< NLKAGSContext > NLKAGSContextPtr
NLKEigenvalueAGSSolver(NLKAGSContextPtr nlk_ags_context_ptr)
void PostSolveCallback() override
virtual ~NLKEigenvalueAGSSolver() override=default
NLKEigenAGSContext< VecType, SolverType > NLKAGSContext
void SetFunction() override
void PreSetupCallback() override
void SetJacobian() override
void SetMonitor() override
void SetInitialGuess() override
void SetSystemSize() override
SolverType
Definition: lbs_structs.h:27