DOLFIN-X
DOLFIN-X C++ interface
|
9 #include <dolfinx/common/MPI.h>
10 #include <dolfinx/la/PETScKrylovSolver.h>
20 class PETScKrylovSolver;
26 class NonlinearProblem;
94 virtual bool converged(
const Vec r,
const NonlinearProblem& nonlinear_problem,
95 std::size_t iteration);
109 std::size_t iteration);
113 int _krylov_iterations;
116 double _residual, _residual0;
This class defines a Newton solver for nonlinear systems of equations of the form .
Definition: NewtonSolver.h:31
int krylov_iterations() const
Return number of Krylov iterations elapsed since solve started.
Definition: NewtonSolver.cpp:147
This class implements Krylov methods for linear systems of the form Ax = b. It is a wrapper for the K...
Definition: PETScKrylovSolver.h:29
double residual0() const
Return initial residual.
Definition: NewtonSolver.cpp:151
bool error_on_nonconvergence
Throw error if solver fails to converge.
Definition: NewtonSolver.h:80
bool report
Monitor convergence.
Definition: NewtonSolver.h:77
double rtol
Relative tolerance.
Definition: NewtonSolver.h:67
A duplicate MPI communicator and manage lifetime of the communicator.
Definition: MPI.h:35
NewtonSolver(MPI_Comm comm)
Create nonlinear solver.
Definition: NewtonSolver.cpp:20
double residual() const
Return current residual.
Definition: NewtonSolver.cpp:149
double relaxation_parameter
Relaxation parameter.
Definition: NewtonSolver.h:83
std::pair< int, bool > solve(NonlinearProblem &nonlinear_function, Vec x)
Solve abstract nonlinear problem for given and Jacobian .
Definition: NewtonSolver.cpp:41
This is a base class for nonlinear problems which can return the nonlinear function F(u) and its Jaco...
Definition: NonlinearProblem.h:18
std::string convergence_criterion
Convergence criterion.
Definition: NewtonSolver.h:74
virtual ~NewtonSolver()
Destructor.
Definition: NewtonSolver.cpp:34
double atol
Absolute tolerance.
Definition: NewtonSolver.h:70
int max_it
Maximum number of iterations.
Definition: NewtonSolver.h:64