OGS 6.2.0-97-g4a610c866
NumLib::NonlinearSystem< NonlinearSolverTag::Picard > Class Template Referenceabstract

Detailed Description

template<>
class NumLib::NonlinearSystem< NonlinearSolverTag::Picard >

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 78 of file NonlinearSystem.h.

#include <NonlinearSystem.h>

Inheritance diagram for NumLib::NonlinearSystem< NonlinearSolverTag::Picard >:
Collaboration diagram for NumLib::NonlinearSystem< NonlinearSolverTag::Picard >:

Public Member Functions

virtual void assemble (GlobalVector const &x)=0
 
virtual void getA (GlobalMatrix &A) const =0
 
virtual void getRhs (GlobalVector &rhs) const =0
 
virtual void computeKnownSolutions (GlobalVector const &x)=0
 Pre-compute known solutions and possibly store them internally. More...
 
virtual void applyKnownSolutions (GlobalVector &x) const =0
 
virtual void applyKnownSolutionsPicard (GlobalMatrix &A, GlobalVector &rhs, GlobalVector &x) const =0
 
- Public Member Functions inherited from NumLib::EquationSystem
virtual bool isLinear () const =0
 
virtual void preIteration (const unsigned iter, GlobalVector const &x)
 
virtual IterationResult postIteration (GlobalVector const &x)
 
- Public Member Functions inherited from NumLib::MatrixSpecificationsProvider
virtual MathLib::MatrixSpecifications getMatrixSpecifications (const int process_id) const =0
 
virtual ~MatrixSpecificationsProvider ()=default
 

Member Function Documentation

◆ applyKnownSolutions()

virtual void NumLib::NonlinearSystem< NonlinearSolverTag::Picard >::applyKnownSolutions ( GlobalVector &  x) const
pure virtual

Apply known solutions to the solution vector x.

Precondition
computeKnownSolutions() must have been called before.

◆ applyKnownSolutionsPicard()

virtual void NumLib::NonlinearSystem< NonlinearSolverTag::Picard >::applyKnownSolutionsPicard ( GlobalMatrix &  A,
GlobalVector &  rhs,
GlobalVector &  x 
) const
pure virtual

Apply known solutions to the linearized equation system $ A \cdot x = \mathit{rhs} $.

Precondition
computeKnownSolutions() must have been called before.

◆ assemble()

virtual void NumLib::NonlinearSystem< NonlinearSolverTag::Picard >::assemble ( GlobalVector const &  x)
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.

◆ computeKnownSolutions()

virtual void NumLib::NonlinearSystem< NonlinearSolverTag::Picard >::computeKnownSolutions ( GlobalVector const &  x)
pure virtual

Pre-compute known solutions and possibly store them internally.

◆ getA()

virtual void NumLib::NonlinearSystem< NonlinearSolverTag::Picard >::getA ( GlobalMatrix &  A) const
pure virtual

Writes the linearized equation system matrix to A.

Precondition
assemble() must have been called before.

◆ getRhs()

virtual void NumLib::NonlinearSystem< NonlinearSolverTag::Picard >::getRhs ( GlobalVector &  rhs) const
pure virtual

Writes the linearized equation system right-hand side to rhs.

Precondition
assemble() must have been called before.

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