OGS
|
A System of nonlinear equations to be solved with the Picard fixpoint iteration method.
The Picard method will iterate the linearized equation \( \mathtt{A} \cdot x_i = \mathtt{rhs} \).
Definition at line 100 of file NonlinearSystem.h.
#include <NonlinearSystem.h>
Public Member Functions | |
virtual void | assemble (std::vector< GlobalVector * > const &x, std::vector< GlobalVector * > const &x_prev, int const process_id)=0 |
virtual std::vector< GlobalIndexType > | getIndicesOfResiduumWithoutInitialCompensation () const =0 |
virtual void | getA (GlobalMatrix &A) const =0 |
virtual void | getRhs (GlobalVector const &x_prev, GlobalVector &rhs) const =0 |
virtual void | getAandRhsNormalized (GlobalMatrix &A, GlobalVector &rhs) const =0 |
virtual void | computeKnownSolutions (GlobalVector const &x, int const process_id)=0 |
Pre-compute known solutions and possibly store them internally. | |
virtual void | applyKnownSolutions (GlobalVector &x) const =0 |
virtual void | applyKnownSolutionsPicard (GlobalMatrix &A, GlobalVector &rhs, GlobalVector &x) const =0 |
virtual MathLib::LinearSolverBehaviour | linearSolverNeedsToCompute () const =0 |
Public Member Functions inherited from NumLib::EquationSystem | |
virtual bool | isLinear () const =0 |
virtual bool | requiresNormalization () const =0 |
virtual void | preIteration (const unsigned iter, GlobalVector const &x) |
virtual IterationResult | postIteration (GlobalVector const &x) |
virtual MathLib::MatrixSpecifications | getMatrixSpecifications (const int process_id) const =0 |
virtual | ~EquationSystem ()=default |
|
pure virtual |
Apply known solutions to the solution vector x
.
|
pure virtual |
Apply known solutions to the linearized equation system \( A \cdot x = \mathit{rhs} \).
|
pure virtual |
Assembles the linearized equation system at the point x
. The linearized system is \(J(x) \cdot \Delta x = (x)\). Here the residual vector \(r(x)\) and its Jacobian \(J(x)\) are assembled.
|
pure virtual |
Pre-compute known solutions and possibly store them internally.
|
pure virtual |
Writes the linearized equation system matrix to A
.
|
pure virtual |
Writes the A_transposed times A into A
and also writes A_transposed times rhs into rhs
|
pure virtual |
|
pure virtual |
Writes the linearized equation system right-hand side to rhs
.
|
pure virtual |
Returns whether the assembled matrix \(A\) has changed and the linear solver must perform the MathLib::EigenLinearSolver::compute() step.