NEML2 1.4.0
Loading...
Searching...
No Matches
NonlinearSolver Class Referenceabstract

The nonlinear solver solves a nonlinear system of equations. More...

Detailed Description

The nonlinear solver solves a nonlinear system of equations.

#include <NonlinearSolver.h>

Inheritance diagram for NonlinearSolver:

Public Member Functions

 NonlinearSolver (const OptionSet &options)
 Construct a new NonlinearSolver object.
 
virtual std::tuple< bool, size_tsolve (NonlinearSystem &system, BatchTensor &sol)=0
 Solve the given nonlinear system.
 
- Public Member Functions inherited from Solver
 Solver (const OptionSet &options)
 Construct a new Solver object.
 
- Public Member Functions inherited from NEML2Object
 NEML2Object (const OptionSet &options)
 Construct a new NEML2Object object.
 
virtual ~NEML2Object ()=default
 
const OptionSetinput_options () const
 
virtual void setup ()
 Setup this object.
 
const std::string & name () const
 A readonly reference to the object's name.
 
const std::string & type () const
 A readonly reference to the object's type.
 
const std::string & path () const
 A readonly reference to the object's path.
 
const std::string & doc () const
 A readonly reference to the object's docstring.
 
template<typename T = NEML2Object>
const T * host () const
 Get a readonly pointer to the host.
 
template<typename T = NEML2Object>
T * host ()
 Get a writable pointer to the host.
 

Static Public Member Functions

static OptionSet expected_options ()
 
- Static Public Member Functions inherited from Solver
static OptionSet expected_options ()
 
- Static Public Member Functions inherited from NEML2Object
static OptionSet expected_options ()
 

Public Attributes

Real atol
 Absolute tolerance.
 
Real rtol
 Relative tolerance.
 
unsigned int miters
 Maximum number of iterations.
 
- Public Attributes inherited from Solver
const bool verbose
 Whether to print additional (debugging) information during the solve.
 

Constructor & Destructor Documentation

◆ NonlinearSolver()

Construct a new NonlinearSolver object.

Parameters
optionsThe options extracted from the input file

Member Function Documentation

◆ expected_options()

OptionSet expected_options ( )
static

◆ solve()

virtual std::tuple< bool, size_t > solve ( NonlinearSystem & system,
BatchTensor & sol )
pure virtual

Solve the given nonlinear system.

Parameters
systemThe nonlinear system of equations.
solThe initial solution which will be iteratively updated during the solve. It will be the solution to the system upon convergence
Returns
A boolean indicating whether the solve has succeeded and the number of iterations before convergence.

Implemented in Newton.

Member Data Documentation

◆ atol

Real atol

Absolute tolerance.

◆ miters

unsigned int miters

Maximum number of iterations.

◆ rtol

Real rtol

Relative tolerance.