Public Member Functions | Static Public Member Functions | Static Public Attributes | Protected Attributes | List of all members
dynamicgraph::sot::IntegratorEuler< sigT, coefT > Class Template Reference

integrates an ODE using a naive Euler integration. TODO: change the integration method. For the moment, the highest derivative of the output signal is computed using the previous values of the other derivatives and the input signal, then integrated n times, which will most certainly induce a huge drift for ODEs with a high order at the denominator. More...

#include <integrator-euler.hh>

Inheritance diagram for dynamicgraph::sot::IntegratorEuler< sigT, coefT >:
Inheritance graph
[legend]

Public Member Functions

sigT & derivative (sigT &res, sigtime_t time)
 
virtual const std::string & getClassName (void) const
 
double getSamplingPeriod () const
 
void initialize ()
 
sigT & integrate (sigT &res, sigtime_t time)
 
 IntegratorEuler (const std::string &name)
 
void setSamplingPeriod (const double &period)
 
virtual ~IntegratorEuler (void)
 
- Public Member Functions inherited from dynamicgraph::sot::IntegratorAbstract< sigT, coefT >
const std::vector< coefT > & denomCoeffs () const
 
void denomCoeffs (const std::vector< coefT > &coeffs)
 
virtual void display (std::ostream &os) const
 
 IntegratorAbstract (const std::string &name)
 
const std::vector< coefT > & numCoeffs () const
 
void numCoeffs (const std::vector< coefT > &coeffs)
 
void popDenomCoef ()
 
void popNumCoef ()
 
void pushDenomCoef (const coefT &denomCoef)
 
void pushNumCoef (const coefT &numCoef)
 
virtual ~IntegratorAbstract ()
 
- Public Member Functions inherited from dynamicgraph::Entity
std::ostream & displaySignalList (std::ostream &os) const
 
 Entity (const std::string &name)
 
const std::string & getCommandList () const
 
virtual std::string getDocString () const
 
LoggerVerbosity getLoggerVerbosityLevel ()
 
LoggerVerbosity getLoggerVerbosityLevel ()
 
const std::string & getName () const
 
command::CommandgetNewStyleCommand (const std::string &cmdName)
 
CommandMap_t getNewStyleCommandMap ()
 
SignalBase< sigtime_t > & getSignal (const std::string &signalName)
 
const SignalBase< sigtime_t > & getSignal (const std::string &signalName) const
 
SignalMap getSignalMap () const
 
double getStreamPrintPeriod ()
 
double getStreamPrintPeriod ()
 
double getTimeSample ()
 
double getTimeSample ()
 
bool hasSignal (const std::string &signame) const
 
Loggerlogger ()
 
Loggerlogger ()
 
const Loggerlogger () const
 
const Loggerlogger () const
 
void sendMsg (const std::string &msg, MsgType t=MSG_TYPE_INFO, const std::string &lineId="")
 
void sendMsg (const std::string &msg, MsgType t=MSG_TYPE_INFO, const std::string &lineId="")
 
void setLoggerVerbosityLevel (LoggerVerbosity lv)
 
void setLoggerVerbosityLevel (LoggerVerbosity lv)
 
bool setStreamPrintPeriod (double t)
 
bool setStreamPrintPeriod (double t)
 
bool setTimeSample (double t)
 
bool setTimeSample (double t)
 
virtual SignalBase< sigtime_t > * test ()
 
virtual void test2 (SignalBase< sigtime_t > *)
 
virtual std::ostream & writeCompletionList (std::ostream &os) const
 
virtual std::ostream & writeGraph (std::ostream &os) const
 
virtual ~Entity ()
 

Static Public Member Functions

static std::string getTypeName (void)
 

Static Public Attributes

static const std::string CLASS_NAME
 

Protected Attributes

dynamicgraph::SignalTimeDependent< sigT, sigtime_tderivativeSOUT
 
double dt
 
std::vector< sigT > inputMemory
 
double invdt
 
std::vector< sigT > outputMemory
 
- Protected Attributes inherited from dynamicgraph::sot::IntegratorAbstract< sigT, coefT >
std::vector< coefT > denominator
 
std::vector< coefT > numerator
 
- Protected Attributes inherited from dynamicgraph::Entity
CommandMap_t commandMap
 
Logger logger_
 
std::string name
 
SignalMap signalMap
 

Additional Inherited Members

- Public Types inherited from dynamicgraph::Entity
typedef std::map< const std::string, command::Command * > CommandMap_t
 
typedef std::map< std::string, SignalBase< sigtime_t > * > SignalMap
 
- Public Attributes inherited from dynamicgraph::sot::IntegratorAbstract< sigT, coefT >
dynamicgraph::SignalPtr< sigT, sigtime_tSIN
 
dynamicgraph::SignalTimeDependent< sigT, sigtime_tSOUT
 
- Protected Member Functions inherited from dynamicgraph::Entity
void addCommand (const std::string &name, command::Command *command)
 
void entityDeregistration ()
 
void entityRegistration ()
 
void signalDeregistration (const std::string &name)
 
void signalRegistration (const SignalArray< sigtime_t > &signals)
 

Detailed Description

template<class sigT, class coefT>
class dynamicgraph::sot::IntegratorEuler< sigT, coefT >

integrates an ODE using a naive Euler integration. TODO: change the integration method. For the moment, the highest derivative of the output signal is computed using the previous values of the other derivatives and the input signal, then integrated n times, which will most certainly induce a huge drift for ODEs with a high order at the denominator.

Definition at line 51 of file integrator-euler.hh.

Constructor & Destructor Documentation

◆ IntegratorEuler()

template<class sigT , class coefT >
dynamicgraph::sot::IntegratorEuler< sigT, coefT >::IntegratorEuler ( const std::string &  name)
inline

Definition at line 64 of file integrator-euler.hh.

◆ ~IntegratorEuler()

template<class sigT , class coefT >
virtual dynamicgraph::sot::IntegratorEuler< sigT, coefT >::~IntegratorEuler ( void  )
inlinevirtual

Definition at line 94 of file integrator-euler.hh.

Member Function Documentation

◆ derivative()

template<class sigT , class coefT >
sigT& dynamicgraph::sot::IntegratorEuler< sigT, coefT >::derivative ( sigT &  res,
sigtime_t  time 
)
inline

Definition at line 153 of file integrator-euler.hh.

◆ getClassName()

template<class sigT , class coefT >
virtual const std::string& dynamicgraph::sot::IntegratorEuler< sigT, coefT >::getClassName ( void  ) const
virtual

Reimplemented from dynamicgraph::Entity.

◆ getSamplingPeriod()

template<class sigT , class coefT >
double dynamicgraph::sot::IntegratorEuler< sigT, coefT >::getSamplingPeriod ( ) const
inline

Definition at line 169 of file integrator-euler.hh.

◆ getTypeName()

template<class sigT , class coefT >
static std::string dynamicgraph::sot::IntegratorEuler< sigT, coefT >::getTypeName ( void  )
inlinestatic

Definition at line 54 of file integrator-euler.hh.

◆ initialize()

template<class sigT , class coefT >
void dynamicgraph::sot::IntegratorEuler< sigT, coefT >::initialize ( )
inline

Definition at line 171 of file integrator-euler.hh.

◆ integrate()

template<class sigT , class coefT >
sigT& dynamicgraph::sot::IntegratorEuler< sigT, coefT >::integrate ( sigT &  res,
sigtime_t  time 
)
inlinevirtual

◆ setSamplingPeriod()

template<class sigT , class coefT >
void dynamicgraph::sot::IntegratorEuler< sigT, coefT >::setSamplingPeriod ( const double period)
inline

Definition at line 164 of file integrator-euler.hh.

Member Data Documentation

◆ CLASS_NAME

template<class sigT , class coefT >
const std::string dynamicgraph::sot::IntegratorEuler< sigT, coefT >::CLASS_NAME
static

Definition at line 55 of file integrator-euler.hh.

◆ derivativeSOUT

template<class sigT , class coefT >
dynamicgraph::SignalTimeDependent<sigT, sigtime_t> dynamicgraph::sot::IntegratorEuler< sigT, coefT >::derivativeSOUT
protected

Definition at line 100 of file integrator-euler.hh.

◆ dt

template<class sigT , class coefT >
double dynamicgraph::sot::IntegratorEuler< sigT, coefT >::dt
protected

Definition at line 102 of file integrator-euler.hh.

◆ inputMemory

template<class sigT , class coefT >
std::vector<sigT> dynamicgraph::sot::IntegratorEuler< sigT, coefT >::inputMemory
protected

Definition at line 97 of file integrator-euler.hh.

◆ invdt

template<class sigT , class coefT >
double dynamicgraph::sot::IntegratorEuler< sigT, coefT >::invdt
protected

Definition at line 103 of file integrator-euler.hh.

◆ outputMemory

template<class sigT , class coefT >
std::vector<sigT> dynamicgraph::sot::IntegratorEuler< sigT, coefT >::outputMemory
protected

Definition at line 98 of file integrator-euler.hh.


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


sot-core
Author(s): Olivier Stasse, ostasse@laas.fr
autogenerated on Tue Oct 24 2023 02:26:32