A factory class for creating nonlinear solvers.
More...
#include <ikarus/solver/nonlinearsolver/nonlinearsolverfactory.hh>
|
| NonlinearSolverFactory (NLSSetting s) |
| Constructs a NonlinearSolverFactory with the given settings. More...
|
|
template<typename Assembler > |
auto | withIDBCForceFunction (Assembler &&assembler) const |
| A helper function to create another NonlinearSolverFactory object after binding IDBCForceFunction to the configuration of the nonlinear solver. This then helps to handle inhomogeneous Dirichlet BCs when using a certain control routine to perform a nonlinear analysis. More...
|
|
template<typename Assembler >
requires Concepts::FlatAssembler<typename std::remove_cvref_t<Assembler>::element_type> |
auto | create (Assembler &&assembler) const |
| Creates a nonlinear solver using the provided assembler. More...
|
|
template<typename NLSSetting>
struct Ikarus::NonlinearSolverFactory< NLSSetting >
This class is responsible for creating nonlinear solvers using the provided settings and an assembler that satisfies the FlatAssembler concept.
- Template Parameters
-
NLSSetting | The type of the settings used for creating nonlinear solvers. |
◆ NonlinearSolverFactory()
template<typename NLSSetting >
- Parameters
-
s | The settings to be used by the factory. |
◆ create()
template<typename NLSSetting >
template<typename Assembler >
requires Concepts::FlatAssembler<typename std::remove_cvref_t<Assembler>::element_type>
The assembler must satisfy the FlatAssembler concept.
- Template Parameters
-
Assembler | The type of the assembler used for creating the nonlinear solver. |
- Parameters
-
assembler | The assembler to be used for creating the nonlinear solver. |
- Returns
- The created nonlinear solver.
- Note
- The assembler's dBCOption is checked, and the appropriate update function is used based on whether the option is set to Reduced or not. If inhomogeneous Dirichlet BCs are present, please call withIDBCForceFunction first.
◆ withIDBCForceFunction()
template<typename NLSSetting >
template<typename Assembler >
- Template Parameters
-
Assembler | The type of the assembler used for creating the nonlinear solver. |
- Parameters
-
assembler | The assembler to be used for creating the nonlinear solver. |
- Returns
- The created nonlinear solver factory.
The documentation for this struct was generated from the following file: