![]() |
OGS
|
Newton-Raphson solver for system of equations using an Eigen linear solvers library. The current implementation does not update the solution itself, but calls a function for the solution's update with the current increment.
Definition at line 34 of file NewtonRaphson.h.
#include <NewtonRaphson.h>
Public Member Functions | |
NewtonRaphson (LinearSolver &linear_solver, JacobianMatrixUpdate jacobian_update, ResidualUpdate residual_update, SolutionUpdate solution_update, NewtonRaphsonSolverParameters const &solver_parameters) | |
std::optional< int > | solve (JacobianMatrix &jacobian) const |
Private Attributes | |
LinearSolver & | _linear_solver |
JacobianMatrixUpdate | _jacobian_update |
ResidualUpdate | _residual_update |
SolutionUpdate | _solution_update |
const int | _maximum_iterations |
Maximum number of iterations. | |
const double | _residuum_tolerance_squared |
Error tolerance for the residuum. | |
const double | _increment_tolerance_squared |
Error tolerance for the increment. | |
|
inline |
Definition at line 37 of file NewtonRaphson.h.
|
inline |
Returns true and the iteration number if succeeded, otherwise false and an undefined value for the number of iterations.
Definition at line 56 of file NewtonRaphson.h.
References NumLib::NewtonRaphson< LinearSolver, JacobianMatrix, JacobianMatrixUpdate, ResidualVector, ResidualUpdate, SolutionUpdate >::_increment_tolerance_squared, NumLib::NewtonRaphson< LinearSolver, JacobianMatrix, JacobianMatrixUpdate, ResidualVector, ResidualUpdate, SolutionUpdate >::_jacobian_update, NumLib::NewtonRaphson< LinearSolver, JacobianMatrix, JacobianMatrixUpdate, ResidualVector, ResidualUpdate, SolutionUpdate >::_linear_solver, NumLib::NewtonRaphson< LinearSolver, JacobianMatrix, JacobianMatrixUpdate, ResidualVector, ResidualUpdate, SolutionUpdate >::_maximum_iterations, NumLib::NewtonRaphson< LinearSolver, JacobianMatrix, JacobianMatrixUpdate, ResidualVector, ResidualUpdate, SolutionUpdate >::_residual_update, NumLib::NewtonRaphson< LinearSolver, JacobianMatrix, JacobianMatrixUpdate, ResidualVector, ResidualUpdate, SolutionUpdate >::_residuum_tolerance_squared, NumLib::NewtonRaphson< LinearSolver, JacobianMatrix, JacobianMatrixUpdate, ResidualVector, ResidualUpdate, SolutionUpdate >::_solution_update, and ERR().
Referenced by ProcessLib::TwoPhaseFlowWithPrho::TwoPhaseFlowWithPrhoMaterialProperties::computeConstitutiveRelation(), MaterialLib::Fracture::Coulomb::Coulomb< DisplacementDim >::computeConstitutiveRelation(), ProcessLib::RichardsMechanics::computeMicroPorosity(), MaterialLib::Solids::Creep::CreepBGRa< DisplacementDim >::integrateStress(), MaterialLib::Solids::Ehlers::SolidEhlers< DisplacementDim >::integrateStress(), and MaterialLib::Solids::Lubby2::Lubby2< DisplacementDim >::integrateStress().
|
private |
Error tolerance for the increment.
Definition at line 118 of file NewtonRaphson.h.
Referenced by NumLib::NewtonRaphson< LinearSolver, JacobianMatrix, JacobianMatrixUpdate, ResidualVector, ResidualUpdate, SolutionUpdate >::solve().
|
private |
Definition at line 111 of file NewtonRaphson.h.
Referenced by NumLib::NewtonRaphson< LinearSolver, JacobianMatrix, JacobianMatrixUpdate, ResidualVector, ResidualUpdate, SolutionUpdate >::solve().
|
private |
Definition at line 110 of file NewtonRaphson.h.
Referenced by NumLib::NewtonRaphson< LinearSolver, JacobianMatrix, JacobianMatrixUpdate, ResidualVector, ResidualUpdate, SolutionUpdate >::solve().
|
private |
Maximum number of iterations.
Definition at line 114 of file NewtonRaphson.h.
Referenced by NumLib::NewtonRaphson< LinearSolver, JacobianMatrix, JacobianMatrixUpdate, ResidualVector, ResidualUpdate, SolutionUpdate >::solve().
|
private |
Definition at line 112 of file NewtonRaphson.h.
Referenced by NumLib::NewtonRaphson< LinearSolver, JacobianMatrix, JacobianMatrixUpdate, ResidualVector, ResidualUpdate, SolutionUpdate >::solve().
|
private |
Error tolerance for the residuum.
Definition at line 116 of file NewtonRaphson.h.
Referenced by NumLib::NewtonRaphson< LinearSolver, JacobianMatrix, JacobianMatrixUpdate, ResidualVector, ResidualUpdate, SolutionUpdate >::solve().
|
private |
Definition at line 113 of file NewtonRaphson.h.
Referenced by NumLib::NewtonRaphson< LinearSolver, JacobianMatrix, JacobianMatrixUpdate, ResidualVector, ResidualUpdate, SolutionUpdate >::solve().