SolverDaeIda Class Reference

#include <numeric_DAE.h>

Inheritance diagram for SolverDaeIda:

Public Member Functions

 SolverDaeIda (int n, ObjectiveDae *ofp, double tstart, const std::vector< double > &x, const std::vector< double > &xdot, std::vector< double > &atval, std::vector< double > &id, double rtol)
 
 ~SolverDaeIda (void)
 
void initialize (void)
 
void reset (double tstart, const std::vector< double > &x, const std::vector< double > &xdot, std::vector< double > &atval, double rtol)
 
void do_integrate (double t)
 only forward integration supported More...
 
virtual gmm::dense_matrix< double > do_integrate (const std::vector< double > &tout)
 perform the integration in tout.size() steps up to tout[i] More...
 
- Public Member Functions inherited from DaeInterface
 DaeInterface (int n, double tstart, const std::vector< double > &x, const std::vector< double > &xdot)
 
virtual void do_integrate (double t)=0
 perform the integration up to time More...
 
virtual gmm::dense_matrix< double > do_integrate (const std::vector< double > &tout)=0
 perform the integration in tout.size() steps up to tout[i] More...
 
const std::vector< double > & get_state_derivative (void) const
 return a read-only reference to the vector of the derivatives of the unknowns More...
 
double & setStateDerivative (int i)
 return a reference to j-th value of the vector of derivatives of the unknowns More...
 
- Public Member Functions inherited from DeInterface
 DeInterface (int n, double tstart, const std::vector< double > &x)
 
virtual ~DeInterface ()
 
int size (void) const
 
const std::vector< double > & get_state (void) const
 return a read-only reference to the vector of unknowns More...
 
double & setState (int i)
 return a reference to j-th value of the vector of unknowns More...
 
double time (void) const
 
virtual void do_integrate (double time)=0
 perform the integration up to time More...
 
virtual gmm::dense_matrix< double > do_integrate (const std::vector< double > &times)=0
 perform the integration in tout.size() steps up to tout[i] More...
 

Additional Inherited Members

- Public Attributes inherited from DeInterface
int NITER
 
int verbosityLocal
 local verbosity level More...
 
- Protected Member Functions inherited from DaeInterface
 ~DaeInterface ()
 
- Protected Attributes inherited from DaeInterface
std::vector< double > xdot_
 time derivatives of unknowns More...
 
- Protected Attributes inherited from DeInterface
int n_
 number of functions and of unknowns More...
 
std::vector< double > x_
 unknowns More...
 
double t0_
 Integration start time. More...
 
double t_
 current time More...
 

Detailed Description

Differential Algebraic Equations systems solver based on IDA Release 2.3.0, April 2005 Alan C. Hindmarsh, Allan G. Taylor, Radu Serban - Center for Applied Scientific Computing, LLNL)

#include <libpf/core/numeric_DAE.h>

Remarks
Warning
Caution: class non-reentrant since makes use of global variable SolverDaeIda_ofp_ to store a pointer to a DAE_objective function child class to be passed undercover to res and jac
Thread safe:
Extendable:
Platform dependencies:

Constructor & Destructor Documentation

◆ SolverDaeIda()

SolverDaeIda::SolverDaeIda ( int  n,
ObjectiveDae ofp,
double  tstart,
const std::vector< double > &  x,
const std::vector< double > &  xdot,
std::vector< double > &  atval,
std::vector< double > &  id,
double  rtol 
)

◆ ~SolverDaeIda()

SolverDaeIda::~SolverDaeIda ( void  )

Member Function Documentation

◆ do_integrate() [1/2]

virtual gmm::dense_matrix< double > SolverDaeIda::do_integrate ( const std::vector< double > &  times)
virtual

perform the integration in tout.size() steps up to tout[i]

Implements DaeInterface.

◆ do_integrate() [2/2]

void SolverDaeIda::do_integrate ( double  t)
virtual

only forward integration supported

Implements DaeInterface.

◆ initialize()

void SolverDaeIda::initialize ( void  )

◆ reset()

void SolverDaeIda::reset ( double  tstart,
const std::vector< double > &  x,
const std::vector< double > &  xdot,
std::vector< double > &  atval,
double  rtol 
)

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