OGS
|
Common interface for nonlinear solvers.
Definition at line 36 of file NonlinearSolver.h.
#include <NonlinearSolver.h>
Public Member Functions | |
virtual void | calculateNonEquilibriumInitialResiduum (std::vector< GlobalVector * > const &x, std::vector< GlobalVector * > const &x_prev, int const process_id)=0 |
virtual NonlinearSolverStatus | solve (std::vector< GlobalVector * > &x, std::vector< GlobalVector * > const &x_prev, std::function< void(int, std::vector< GlobalVector * > const &)> const &postIterationCallback, int const process_id)=0 |
virtual | ~NonlinearSolverBase ()=default |
|
virtualdefault |
|
pure virtual |
|
pure virtual |
Assemble and solve the equation system.
x | in: the initial guess, out: the solution. |
x_prev | previous time step solution. |
postIterationCallback | called after each iteration if set. |
process_id | usually used in staggered schemes. |
true | if the equation system could be solved |
false | otherwise |
Implemented in NumLib::NonlinearSolver< NonlinearSolverTag::Newton >, NumLib::NonlinearSolver< NonlinearSolverTag::Picard >, and NumLib::PETScNonlinearSolver.