OGS  master
EquationSystem.h
Go to the documentation of this file.
1 
11 #pragma once
12 
14 
15 namespace NumLib
16 {
19 
21 enum class IterationResult : char
22 {
23  SUCCESS,
24  FAILURE,
26 };
27 
31 {
32 public:
40  virtual bool isLinear() const = 0;
41 
47  virtual void preIteration(const unsigned iter, GlobalVector const& x)
48  {
49  (void)iter;
50  (void)x; // by default do nothing
51  }
52 
60  {
61  (void)x; // by default do nothing
63  }
64 
66  const int process_id) const = 0;
67 
68  virtual ~EquationSystem() = default;
69 };
70 
72 } // namespace NumLib
Global vector based on Eigen vector.
Definition: EigenVector.h:27
virtual IterationResult postIteration(GlobalVector const &x)
virtual MathLib::MatrixSpecifications getMatrixSpecifications(const int process_id) const =0
virtual bool isLinear() const =0
virtual void preIteration(const unsigned iter, GlobalVector const &x)
virtual ~EquationSystem()=default
IterationResult
Status flags telling the NonlinearSolver if an iteration succeeded.