version 0.4.1
Ikarus::LoadControl< NLS > Class Template Reference

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>

Inheritance diagram for Ikarus::LoadControl< NLS >:
[legend]

Public Member Functions

constexpr auto name () const
 The name of the LoadControl method. More...
 
 LoadControl (const std::shared_ptr< NLS > &nonLinearSolver, int loadSteps, const std::array< double, 2 > &tbeginEnd)
 Constructor for LoadControl. More...
 
ControlInformation run ()
 Executes the LoadControl routine. More...
 
NLS & nonlinearSolver ()
 
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...
 
void notify (MT message)
 
void notify (MT message, ScalarType val)
 
void notify (MT message, int val)
 
void notify (MT message, const std::string &val)
 
void notify (MT message, int val1, double val2)
 
void notify (MT message, int val1, const std::string &val2)
 
void notify (MT message, Eigen::VectorX< ScalarType > vec)
 

Detailed Description

template<typename NLS>
class Ikarus::LoadControl< NLS >
Template Parameters
NLSType of the nonlinear solver used in the control routine.

Constructor & Destructor Documentation

◆ LoadControl()

template<typename NLS >
Ikarus::LoadControl< NLS >::LoadControl ( const std::shared_ptr< NLS > &  nonLinearSolver,
int  loadSteps,
const std::array< double, 2 > &  tbeginEnd 
)
inline
Parameters
nonLinearSolverShared pointer to the nonlinear solver.
loadStepsNumber of load steps in the control routine.
tbeginEndArray representing the range of load parameters [tbegin, tend].

Member Function Documentation

◆ name()

template<typename NLS >
constexpr auto Ikarus::LoadControl< NLS >::name ( ) const
inlineconstexpr

◆ nonlinearSolver()

template<typename NLS >
NLS & Ikarus::LoadControl< NLS >::nonlinearSolver ( )
inline

◆ notify() [1/14]

void Ikarus::IObservable< ControlMessages >::notify ( ControlMessages  message)
inherited
Parameters
messageThe message type to notify about.

◆ notify() [2/14]

void Ikarus::IObservable< ControlMessages >::notify ( ControlMessages  message,
const std::string &  val 
)
inherited
Parameters
messageThe message type to notify about.
valThe string value to be sent with the notification.

◆ notify() [3/14]

void Ikarus::IObservable< ControlMessages >::notify ( ControlMessages  message,
Eigen::VectorX< ScalarType >  vec 
)
inherited
Template Parameters
ScalarTypeThe type of the elements in the Eigen::VectorX.
Parameters
messageThe message type to notify about.
vecThe Eigen::VectorX to be sent with the notification.

◆ notify() [4/14]

void Ikarus::IObservable< ControlMessages >::notify ( ControlMessages  message,
int  val 
)
inherited
Parameters
messageThe message type to notify about.
valThe integer value to be sent with the notification.

◆ notify() [5/14]

void Ikarus::IObservable< ControlMessages >::notify ( ControlMessages  message,
int  val1,
const std::string &  val2 
)
inherited
Parameters
messageThe message type to notify about.
val1The integer value to be sent with the notification.
val2The string value to be sent with the notification.

◆ notify() [6/14]

void Ikarus::IObservable< ControlMessages >::notify ( ControlMessages  message,
int  val1,
double  val2 
)
inherited
Parameters
messageThe message type to notify about.
val1The integer value to be sent with the notification.
val2The double value to be sent with the notification.

◆ notify() [7/14]

void Ikarus::IObservable< ControlMessages >::notify ( ControlMessages  message,
ScalarType  val 
)
inherited
Template Parameters
ScalarTypeThe type of the floating-point value.
Parameters
messageThe message type to notify about.
valThe floating-point value to be sent with the notification.

◆ notify() [8/14]

void Ikarus::IObservable< ControlMessages >::notify ( MT  message)
inherited

◆ notify() [9/14]

void Ikarus::IObservable< ControlMessages >::notify ( MT  message,
const std::string &  val 
)
inherited

◆ notify() [10/14]

void Ikarus::IObservable< ControlMessages >::notify ( MT  message,
Eigen::VectorX< ScalarType >  vec 
)
inherited

◆ notify() [11/14]

void Ikarus::IObservable< ControlMessages >::notify ( MT  message,
int  val 
)
inherited

◆ notify() [12/14]

void Ikarus::IObservable< ControlMessages >::notify ( MT  message,
int  val1,
const std::string &  val2 
)
inherited

◆ notify() [13/14]

void Ikarus::IObservable< ControlMessages >::notify ( MT  message,
int  val1,
double  val2 
)
inherited

◆ notify() [14/14]

void Ikarus::IObservable< ControlMessages >::notify ( MT  message,
ScalarType  val 
)
inherited

◆ run()

template<typename NLS >
ControlInformation Ikarus::LoadControl< NLS >::run
Returns
ControlInformation structure containing information about the control results.

◆ subscribe()

void Ikarus::IObservable< MT >::subscribe ( ControlMessages  message,
std::shared_ptr< IObserver< ControlMessages > >  observer 
)
inherited
Parameters
messageThe message type to subscribe to.
observerThe observer to be subscribed.

◆ subscribeAll() [1/2]

void Ikarus::IObservable< ControlMessages >::subscribeAll ( std::initializer_list< std::shared_ptr< IObserver< ControlMessages > > >  observers)
inherited
Parameters
observersList of observers to be subscribed.

◆ subscribeAll() [2/2]

void Ikarus::IObservable< ControlMessages >::subscribeAll ( std::shared_ptr< IObserver< ControlMessages > >  observer)
inherited
Parameters
observerThe observer to be subscribed.

◆ unSubscribe()

void Ikarus::IObservable< MT >::unSubscribe ( ControlMessages  message,
std::shared_ptr< IObserver< ControlMessages > >  observer 
)
inherited
Parameters
messageThe message type to unsubscribe from.
observerThe observer to be unsubscribed.

◆ unSubscribeAll()

void Ikarus::IObservable< MT >::unSubscribeAll ( std::shared_ptr< IObserver< ControlMessages > >  observer)
inherited
Parameters
observerThe observer to be unsubscribed.

The documentation for this class was generated from the following files: