The LoadControl control routine increases the last parameter of a nonlinear operator and calls a nonlinear solver.This class represents the LoadControl control routine. It increments the last parameter of a nonlinear operator and utilizes a nonlinear solver, such as Newton's method, to solve the resulting system at each step.
More...
#include <ikarus/controlroutines/loadcontrol.hh>
|
constexpr auto | name () const |
| The name of the LoadControl method. More...
|
|
| LoadControl (const std::shared_ptr< NonLinearSolver > &nonLinearSolver_, int loadSteps, const std::array< double, 2 > &tbeginEnd) |
| Constructor for LoadControl. More...
|
|
ControlInformation | run () |
| Executes the LoadControl routine. More...
|
|
void | subscribe (ControlMessages message, std::shared_ptr< IObserver< ControlMessages > > observer) |
| Subscribe an observer to receive notifications for a specific message type. More...
|
|
void | subscribeAll (std::shared_ptr< IObserver< ControlMessages > > observer) |
| Subscribe an observer to receive notifications for all message types. More...
|
|
void | subscribeAll (std::initializer_list< std::shared_ptr< IObserver< ControlMessages > > > observers) |
| Subscribe multiple observers to receive notifications for all message types. More...
|
|
void | unSubscribe (ControlMessages message, std::shared_ptr< IObserver< ControlMessages > > observer) |
| Unsubscribe an observer from receiving notifications for a specific message type. More...
|
|
void | unSubscribeAll (std::shared_ptr< IObserver< ControlMessages > > observer) |
| Unsubscribe an observer from receiving notifications for all message types. More...
|
|
void | notify (ControlMessages message) |
| Notify observers about a specific message type. More...
|
|
void | notify (ControlMessages message, ScalarType val) |
| Notify observers about a specific message type with a floating-point value. More...
|
|
void | notify (ControlMessages message, int val) |
| Notify observers about a specific message type with an integer value. More...
|
|
void | notify (ControlMessages message, const std::string &val) |
| Notify observers about a specific message type with a string value. More...
|
|
void | notify (ControlMessages message, int val1, double val2) |
| Notify observers about a specific message type with an integer and a double value. More...
|
|
void | notify (ControlMessages message, int val1, const std::string &val2) |
| Notify observers about a specific message type with an integer value and a string value. More...
|
|
void | notify (ControlMessages message, Eigen::VectorX< ScalarType > vec) |
| Notify observers about a specific message type with an Eigen::VectorX. More...
|
|
template<typename NonLinearSolver>
class Ikarus::LoadControl< NonLinearSolver >
- Template Parameters
-
NonLinearSolver | Type of the nonlinear solver used in the control routine. |
◆ LoadControl()
template<typename NonLinearSolver >
Ikarus::LoadControl< NonLinearSolver >::LoadControl |
( |
const std::shared_ptr< NonLinearSolver > & |
nonLinearSolver_, |
|
|
int |
loadSteps, |
|
|
const std::array< double, 2 > & |
tbeginEnd |
|
) |
| |
|
inline |
- Parameters
-
nonLinearSolver_ | Shared pointer to the nonlinear solver. |
loadSteps | Number of load steps in the control routine. |
tbeginEnd | Array representing the range of load parameters [tbegin, tend]. |
◆ name()
template<typename NonLinearSolver >
◆ notify() [1/7]
- Parameters
-
message | The message type to notify about. |
◆ notify() [2/7]
- Parameters
-
message | The message type to notify about. |
val | The string value to be sent with the notification. |
◆ notify() [3/7]
- Template Parameters
-
ScalarType | The type of the elements in the Eigen::VectorX. |
- Parameters
-
message | The message type to notify about. |
vec | The Eigen::VectorX to be sent with the notification. |
◆ notify() [4/7]
- Parameters
-
message | The message type to notify about. |
val | The integer value to be sent with the notification. |
◆ notify() [5/7]
- Parameters
-
message | The message type to notify about. |
val1 | The integer value to be sent with the notification. |
val2 | The string value to be sent with the notification. |
◆ notify() [6/7]
- Parameters
-
message | The message type to notify about. |
val1 | The integer value to be sent with the notification. |
val2 | The double value to be sent with the notification. |
◆ notify() [7/7]
- Template Parameters
-
ScalarType | The type of the floating-point value. |
- Parameters
-
message | The message type to notify about. |
val | The floating-point value to be sent with the notification. |
◆ run()
template<typename NonLinearSolver >
◆ subscribe()
- Parameters
-
message | The message type to subscribe to. |
observer | The observer to be subscribed. |
◆ subscribeAll() [1/2]
- Parameters
-
observers | List of observers to be subscribed. |
◆ subscribeAll() [2/2]
- Parameters
-
observer | The observer to be subscribed. |
◆ unSubscribe()
- Parameters
-
message | The message type to unsubscribe from. |
observer | The observer to be unsubscribed. |
◆ unSubscribeAll()
- Parameters
-
observer | The observer to be unsubscribed. |
The documentation for this class was generated from the following files: