Chi-Tech
nl_keigen_acc_solver.h
Go to the documentation of this file.
1#ifndef CHITECH_LBS_NL_KEIGEN_ACC_SOLVER_H
2#define CHITECH_LBS_NL_KEIGEN_ACC_SOLVER_H
3
5
7
8#include <petscsnes.h>
9
10namespace lbs::acceleration
11{
12
14{
15public:
16 typedef std::shared_ptr<NLKEigenDiffContext> NLKEigenDiffContextPtr;
17
18 explicit NLKEigenDiffSolver(NLKEigenDiffContextPtr nlk_diff_context_ptr) :
19 chi_math::NonLinearSolver<Mat, Vec, SNES>(nlk_diff_context_ptr)
20 {}
21
22 virtual ~NLKEigenDiffSolver() override = default;
23
24protected:
25 /*void PreSetupCallback();*/
26 /*void SetOptions();*/
27 /*void SetSolverContext();*/
28 /*void SetConvergenceTest();*/
29 void SetMonitor() override;
30 /*void SetPreconditioner();*/
31
32 void SetSystemSize() override;
33 void SetSystem() override;
34 void SetFunction() override;
35 void SetJacobian() override;
36 /*void PostSetupCallback();*/
37public:
38 /*void Setup();*/
39
40protected:
41 /*void PreSolveCallback();*/
42 void SetInitialGuess() override;
43 void PostSolveCallback() override;
44//public:
45// void Solve();
46};
47
48}//namespace lbs::acceleration
49
50#endif //CHITECH_LBS_NL_KEIGEN_ACC_SOLVER_H
NonLinearSolver(NLSolverContextPtr context_ptr, const chi::InputParameters &params=NonLinearSolverOptions::GetInputParameters())
NLKEigenDiffSolver(NLKEigenDiffContextPtr nlk_diff_context_ptr)
std::shared_ptr< NLKEigenDiffContext > NLKEigenDiffContextPtr
virtual ~NLKEigenDiffSolver() override=default
struct _p_Mat * Mat
struct _p_Vec * Vec