|
NEML2 2.1.0
|
The nonlinear solver solves a nonlinear system of equations. More...
The nonlinear solver solves a nonlinear system of equations.
#include <NonlinearSolver.h>

Classes | |
| struct | Result |
Public Types | |
| enum class | RetCode : std::uint8_t { SUCCESS = 0 , MAXITER = 1 , FAILURE = 2 } |
Public Member Functions | |
| NonlinearSolver (const OptionSet &options) | |
| void | to (const TensorOptions &) override |
| Change the device and dtype of the solver's internal data. | |
| virtual Result | solve (NonlinearSystem &system)=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 ()=delete | |
| NEML2Object (NEML2Object &&)=delete | |
| NEML2Object (const NEML2Object &)=delete | |
| NEML2Object & | operator= (NEML2Object &&)=delete |
| NEML2Object & | operator= (const NEML2Object &)=delete |
| virtual | ~NEML2Object ()=default |
| NEML2Object (const OptionSet &options) | |
| Construct a new NEML2Object object. | |
| const OptionSet & | input_options () const |
| virtual void | setup () |
| Setup this object. | |
| const std::string & | name () const |
| A readonly reference to the object's name. | |
| std::string | type () const |
| 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. | |
| Factory * | factory () const |
| Get the factory that created this object. | |
| const Settings & | settings () const |
| Settings. | |
| 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. | |
| template<typename T> | |
| const T & | resolve_tensor (const std::string &name) |
| Resolve a TensorName to a Tensor. | |
| template<class T> | |
| std::shared_ptr< T > | get_object (const std::string §ion, const std::string &name) |
| template<class T = EquationSystem> | |
| std::shared_ptr< T > | get_es (const std::string &name) |
| Get an equation system from the factory. | |
| template<class T = Solver> | |
| std::shared_ptr< T > | get_solver (const std::string &name) |
| Get a solver from the factory. | |
| template<class T = Data> | |
| std::shared_ptr< T > | get_data (const std::string &name) |
| Get a data from the factory. | |
| template<class T = Model> | |
| std::shared_ptr< T > | get_model (const std::string &name) |
| Get a model from the factory. | |
| template<class T = Driver> | |
| std::shared_ptr< T > | get_driver (const std::string &name) |
| Get a driver from the factory. | |
| template<class T = WorkScheduler> | |
| std::shared_ptr< T > | get_scheduler (const std::string &name) |
| Get a scheduler from the factory. | |
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 | |
| std::shared_ptr< LinearSolver > | linear_solver |
| Linear solver used by the nonlinear solver. | |
| double | atol |
| Absolute tolerance. | |
| double | 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. | |
Additional Inherited Members | |
| Protected Member Functions inherited from NEML2Object | |
| VariableName | history_name (const VariableName &var, std::size_t nstep) const |
| Helper method to wrap a variable name into its history form. | |
| VariableName | rate_name (const VariableName &var) const |
| Helper method to wrap a variable name into its rate form. | |
| VariableName | residual_name (const VariableName &var) const |
| Helper method to wrap a variable name into its residual form. | |
|
strong |
| NonlinearSolver | ( | const OptionSet & | options | ) |
|
static |
|
pure virtual |
Solve the given nonlinear system.
| system | The nonlinear system to solve |
Implemented in Newton.
|
overridevirtual |
Change the device and dtype of the solver's internal data.
Reimplemented from Solver.
| double atol |
Absolute tolerance.
| std::shared_ptr<LinearSolver> linear_solver |
Linear solver used by the nonlinear solver.
| unsigned int miters |
Maximum number of iterations.
| double rtol |
Relative tolerance.