COPASI API  4.40.278
CTimeSensLsodaMethod Class Reference

#include <CTimeSensLsodaMethod.h>

Inheritance diagram for CTimeSensLsodaMethod:
[legend]

Classes

struct  Data
 
struct  State
 

Public Member Functions

virtual void copySensitivitiesToResultMatrix ()
 
 CTimeSensLsodaMethod (const CDataContainer *pParent, const CTaskEnum::Method &methodType=CTaskEnum::Method::deterministic, const CTaskEnum::Task &taskType=CTaskEnum::Task::timeCourse)
 
 CTimeSensLsodaMethod (const CTimeSensLsodaMethod &src, const CDataContainer *pParent)
 
virtual bool elevateChildren ()
 
virtual void evalF (const C_FLOAT64 *t, const C_FLOAT64 *y, C_FLOAT64 *ydot)
 
virtual void evalJ (const C_FLOAT64 *t, const C_FLOAT64 *y, const C_INT *ml, const C_INT *mu, C_FLOAT64 *pd, const C_INT *nRowPD)
 
virtual void evalR (const C_FLOAT64 *t, const C_FLOAT64 *y, const C_INT *nr, C_FLOAT64 *r)
 
virtual void start ()
 
virtual void stateChange (const CMath::StateChange &change)
 
virtual Status step (const double &deltaT, const bool &final=false)
 
 ~CTimeSensLsodaMethod ()
 
- Public Member Functions inherited from CTimeSensMethod
 CTimeSensMethod (const CDataContainer *pParent, const CTaskEnum::Method &methodType, const CTaskEnum::Task &taskType=CTaskEnum::Task::timeCourse)
 
 CTimeSensMethod (const CTimeSensMethod &src, const CDataContainer *pParent)
 
const CVectorCore< C_INT > & getRoots () const
 
void initializeDerivativesCalculations (bool reduced)
 
virtual void initResult ()
 
const bool & integrateReducedModel () const
 
virtual bool isValidProblem (const CCopasiProblem *pProblem)
 
void setProblem (CTimeSensProblem *problem)
 
 ~CTimeSensMethod ()
 
- Public Member Functions inherited from CCopasiMethod
 CCopasiMethod (const CCopasiMethod &src, const CDataContainer *pParent)
 
virtual void clearCallBack ()
 
const CProcessReportLevelgetCallBack () const
 
CMathContainergetMathContainer () const
 
const CTaskEnum::MethodgetSubType () const
 
const CTaskEnum::TaskgetType () const
 
virtual void load (CReadConfig &configBuffer, CReadConfig::Mode mode=CReadConfig::SEARCH)
 
CCopasiMethodoperator= (const CCopasiMethod &rhs)
 
virtual void print (std::ostream *ostream) const
 
virtual void printResult (std::ostream *ostream) const
 
virtual bool setCallBack (CProcessReportLevel callBack)
 
void setMathContainer (CMathContainer *pContainer)
 
virtual ~CCopasiMethod ()
 
- Public Member Functions inherited from CCopasiParameterGroup
bool addGroup (const std::string &name)
 
void addParameter (CCopasiParameter *pParameter)
 
bool addParameter (const CCopasiParameter &parameter)
 
bool addParameter (const std::string &name, const CCopasiParameter::Type type, const CCopasiParameter::UserInterfaceFlag &flag=CCopasiParameter::UserInterfaceFlag::All)
 
template<class CType >
bool addParameter (const std::string &name, const CCopasiParameter::Type type, const CType &value, const CCopasiParameter::UserInterfaceFlag &flag=CCopasiParameter::UserInterfaceFlag::All)
 
virtual bool applyData (const CData &data, CUndoData::CChangeSet &changes)
 
CCopasiParameterGroupassertGroup (const std::string &name, const CCopasiParameter::UserInterfaceFlag &flag=CCopasiParameter::UserInterfaceFlag::All)
 
template<class CType >
CType * assertParameter (const std::string &name, const CCopasiParameter::Type type, const CType &defaultValue, const CCopasiParameter::UserInterfaceFlag &flag=CCopasiParameter::UserInterfaceFlag::All)
 
index_iterator beginIndex () const
 
const_name_iterator beginName () const
 
 CCopasiParameterGroup (const CCopasiParameterGroup &src, const CDataContainer *pParent=NULL)
 
 CCopasiParameterGroup (const std::string &name, const CDataContainer *pParent=NO_PARENT, const std::string &objectType="ParameterGroup")
 
void clear ()
 
virtual void createUndoData (CUndoData &undoData, const CUndoData::Type &type, const CData &oldData=CData(), const CCore::Framework &framework=CCore::Framework::ParticleNumbers) const
 
index_iterator endIndex () const
 
const_name_iterator endName () const
 
CCopasiParameterGroupgetElementTemplates ()
 
const CCopasiParameterGroupgetElementTemplates () const
 
CCopasiParameterGroupgetGroup (const size_t &index)
 
const CCopasiParameterGroupgetGroup (const size_t &index) const
 
CCopasiParameterGroupgetGroup (const std::string &name)
 
const CCopasiParameterGroupgetGroup (const std::string &name) const
 
virtual size_t getIndex (const CDataObject *pObject) const
 
size_t getIndex (const std::string &name) const
 
std::string getKey (const size_t &index) const
 
std::string getKey (const std::string &name) const
 
virtual const std::string & getName (const size_t &index) const
 
virtual const CObjectInterfacegetObject (const CCommonName &cn) const
 
CCopasiParametergetParameter (const size_t &index)
 
const CCopasiParametergetParameter (const size_t &index) const
 
CCopasiParametergetParameter (std::string name)
 
const CCopasiParametergetParameter (std::string name) const
 
CCopasiParameter::Type getType (const size_t &index) const
 
CCopasiParameter::Type getType (const std::string &name) const
 
std::string getUniqueParameterName (const CCopasiParameter *pParameter) const
 
template<class CType >
CType & getValue (const size_t &index)
 
template<class CType >
const CType & getValue (const size_t &index) const
 
template<class CType >
CType & getValue (const std::string &name)
 
template<class CType >
const CType & getValue (const std::string &name) const
 
bool haveTemplate () const
 
virtual CUndoObjectInterfaceinsert (const CData &data)
 
CCopasiParameterGroupoperator= (const CCopasiParameterGroup &rhs)
 
virtual bool remove (CDataObject *pObject)
 
bool removeParameter (CCopasiParameter *pParameter)
 
bool removeParameter (const size_t &index)
 
bool removeParameter (const std::string &name)
 
virtual void setUserInterfaceFlag (const UserInterfaceFlag &flag)
 
template<class CType >
bool setValue (const size_t &index, const CType &value)
 
template<class CType >
bool setValue (const std::string &name, const CType &value)
 
size_t size (const UserInterfaceFlag &require=UserInterfaceFlag::None, const UserInterfaceFlag &exclude=UserInterfaceFlag::None) const
 
bool swap (const size_t &iFrom, const size_t &iTo)
 
bool swap (index_iterator &from, index_iterator &to)
 
virtual CData toData () const
 
virtual void updateIndex (const size_t &index, const CUndoObjectInterface *pUndoObject)
 
virtual ~CCopasiParameterGroup ()
 
- Public Member Functions inherited from CCopasiParameter
 CCopasiParameter (const CCopasiParameter &src, const CDataContainer *pParent)
 
 CCopasiParameter (const std::string &name, const Type &type, const void *pValue=NULL, const CDataContainer *pParent=NO_PARENT, const std::string &objectType="Parameter")
 
virtual CCommonName getCN () const override
 
template<class CType >
const CType & getDefault () const
 
virtual const std::string & getKey () const override
 
virtual std::string getObjectDisplayName () const override
 
const CCopasiParameter::TypegetType () const
 
const UserInterfaceFlaggetUserInterfaceFlag () const
 
template<class CType >
std::vector< std::pair< CType, CType > > & getValidValues ()
 
template<class CType >
const std::vector< std::pair< CType, CType > > & getValidValues () const
 
void * getValidValuesPointer () const
 
template<class CType >
CType & getValue ()
 
template<class CType >
const CType & getValue () const
 
virtual void * getValuePointer () const override
 
CDataObjectgetValueReference () const
 
bool hasValidValues () const
 
bool isBasic () const
 
bool isDefault () const
 
bool isEditable () const
 
bool isUnsupported () const
 
bool isValidValue (const bool &value) const
 
bool isValidValue (const C_FLOAT64 &value) const
 
bool isValidValue (const C_INT32 &value) const
 
bool isValidValue (const CCommonName &value) const
 
template<class CType >
bool isValidValue (const CType &) const
 
bool isValidValue (const std::string &value) const
 
bool isValidValue (const std::vector< CCopasiParameter * > &value) const
 
bool isValidValue (const unsigned C_INT32 &value) const
 
CCopasiParameteroperator= (const CCopasiParameter &rhs)
 
template<class CType >
bool setDefault (const CType &defaultValue)
 
bool setDefault (const std::vector< CCopasiParameter * > &defaultValue)
 
virtual bool setObjectParent (const CDataContainer *pParent) override
 
template<class CType , class Enum >
bool setValidValues (const CEnumAnnotation< CType, Enum > &validValues)
 
template<class CType >
bool setValidValues (const std::vector< std::pair< CType, CType > > &validValues)
 
template<class CType >
bool setValue (const CType &value)
 
bool setValue (const std::vector< CCopasiParameter * > &value)
 
virtual ~CCopasiParameter ()
 
- Public Member Functions inherited from CDataContainer
virtual bool add (CDataObject *pObject, const bool &adopt=true)
 
virtual bool appendDeletedDependentData (CUndoData &undoData) const
 
 CDataContainer (const CDataContainer &src, const CDataContainer *pParent)
 
 CDataContainer (const std::string &name, const CDataContainer *pParent=NO_PARENT, const std::string &type="CN", const CFlags< Flag > &flag=CFlags< Flag >::None)
 
virtual std::string getChildObjectUnits (const CDataObject *pObject) const
 
void getDescendants (CDataObject::DataObjectSet &descendants, const bool &recursive=false) const
 
virtual objectMapgetObjects ()
 
virtual const objectMapgetObjects () const
 
virtual const std::string getUnits () const override
 
virtual const CDataObjectgetValueObject () const override
 
void objectRenamed (CDataObject *pObject, const std::string &oldName)
 
virtual ~CDataContainer ()
 
- Public Member Functions inherited from CDataObject
void addIssue (const CIssue &issue)
 
void addReference (const CDataContainer *pReference)
 
virtual void calculateValue () override
 
 CDataObject (const CDataObject &src, const CDataContainer *pParent=NULL)
 
virtual void destruct () override
 
virtual const CDataObjectgetDataObject () const override
 
CDataContainergetObjectAncestor (const std::string &type) const
 
CDataModelgetObjectDataModel () const
 
const CObjectInterfacegetObjectFromCN (const CCommonName &cn) const
 
const std::string & getObjectName () const
 
CDataContainergetObjectParent () const
 
const std::string & getObjectType () const
 
virtual const CObjectInterface::ObjectSetgetPrerequisites () const override
 
virtual const CValiditygetValidity () const override
 
bool hasFlag (const Flag &flag) const
 
virtual bool isPrerequisiteForContext (const CObjectInterface *pObject, const CCore::SimulationContextFlag &context, const CObjectInterface::ObjectSet &changedObjects) const override
 
bool prerequisitsContains (const DataObjectSet &objects) const
 
void removeIssue (const CIssue &issue)
 
void removeReference (const CDataContainer *pReference)
 
bool setObjectName (const std::string &name)
 
void validityChanged (const CValidity &changedValidity) override
 
void validityRemoved (const CValidity &changedValidity)
 
virtual ~CDataObject ()
 
- Public Member Functions inherited from CObjectInterface
 CObjectInterface ()
 
 CObjectInterface (const CObjectInterface &src)
 
virtual ~CObjectInterface ()
 
- Public Member Functions inherited from CUndoObjectInterface
 CUndoObjectInterface ()
 
 CUndoObjectInterface (const CUndoObjectInterface &src)
 
bool generateUuid ()
 
const xg::Guid & getUuid () const
 
bool setUuid (const std::string &uuid)
 
bool setUuid (const xg::Guid &uuid)
 
virtual ~CUndoObjectInterface ()
 

Static Public Member Functions

static void EvalF (const C_INT *n, const C_FLOAT64 *t, const C_FLOAT64 *y, C_FLOAT64 *ydot)
 
static void EvalJ (const C_INT *n, const C_FLOAT64 *t, const C_FLOAT64 *y, const C_INT *ml, const C_INT *mu, C_FLOAT64 *pd, const C_INT *nRowPD)
 
static void EvalR (const C_INT *n, const C_FLOAT64 *t, const C_FLOAT64 *y, const C_INT *nr, C_FLOAT64 *r)
 
- Static Public Member Functions inherited from CCopasiParameter
static void allocateValidValues (const Type &type, void *&pValidValues)
 
static void allocateValue (const Type &type, void *&pValue)
 
static void assignValue (const Type &type, void *&pValue, const void *pNewValue)
 
static void deleteValidValues (const Type &type, void *&pValidValues)
 
static void deleteValue (const Type &type, void *&pValue)
 
static CCopasiParameterfromData (const CData &data, CUndoObjectInterface *pParent)
 
- Static Public Member Functions inherited from CDataContainer
static CDataContainerfromData (const CData &data, CUndoObjectInterface *pParent)
 
- Static Public Member Functions inherited from CDataObject
static CDataObjectfromData (const CData &data, CUndoObjectInterface *pParent)
 
static void sanitizeObjectName (std::string &name)
 
- Static Public Member Functions inherited from CObjectInterface
static const CDataObjectDataObject (const CObjectInterface *pInterface)
 
static CObjectInterfaceGetObjectFromCN (const ContainerList &listOfContainer, const CCommonName &objName)
 
- Static Public Member Functions inherited from CUndoObjectInterface
template<class CType >
static CType * fromData (const CData &, CUndoObjectInterface *)
 

Protected Types

enum  eRootMasking { NONE = 0 , ALL , DISCRETE }
 

Protected Member Functions

void destroyRootMask ()
 
- Protected Member Functions inherited from CTimeSensMethod
void calculate_dAssignments_dPar (CMatrix< C_FLOAT64 > &s)
 
void calculate_dAssignments_dState (CMatrix< C_FLOAT64 > &s, bool reduced)
 
void calculate_dInitialState_dPar (CMatrix< C_FLOAT64 > &s)
 
void calculate_dRate_dPar (CMatrix< C_FLOAT64 > &s, bool reduced)
 
void output (const bool &useMoieties)
 
virtual void signalMathContainerChanged ()
 
- Protected Member Functions inherited from CCopasiMethod
 CCopasiMethod (const CCopasiMethod &src)
 
 CCopasiMethod (const CDataContainer *pParent, const CTaskEnum::Method &methodType, const CTaskEnum::Task &taskType)
 
- Protected Member Functions inherited from CCopasiParameterGroup
 CCopasiParameterGroup ()
 
- Protected Member Functions inherited from CCopasiParameter
 CCopasiParameter (const CCopasiParameter &src)
 
- Protected Member Functions inherited from CDataContainer
template<class CType >
CDataMatrixReference< CType > * addMatrixReference (const std::string &name, CType &reference, const CFlags< Flag > &flag=CFlags< Flag >::None)
 
template<class CType >
CDataObjectReference< CType > * addObjectReference (const std::string &name, CType &reference, const CFlags< Flag > &flag=CFlags< Flag >::None)
 
template<class CType >
CDataVectorReference< CType > * addVectorReference (const std::string &name, CType &reference, const CFlags< Flag > &flag=CFlags< Flag >::None)
 
 CDataContainer (const CDataContainer &src)
 
void initObjects ()
 
- Protected Member Functions inherited from CDataObject
 CDataObject ()
 
 CDataObject (const std::string &name, const CDataContainer *pParent=static_cast< CDataContainer * >((void *) 0), const std::string &type="CN", const CFlags< Flag > &flag=CFlags< Flag >::None)
 

Protected Attributes

Data mData
 
State mLastRootState
 
CVector< C_FLOAT64mLastSuccessState
 
C_INT mLsodaStatus
 
eRootMasking mRootMasking
 
C_FLOAT64 mTime
 
- Protected Attributes inherited from CTimeSensMethod
CMatrix< C_FLOAT64mAssignmentJacobian
 
CVector< C_FLOAT64 * > mAssTargetValuePointers
 
CVectorCore< C_FLOAT64mContainerState
 
CMatrix< C_FLOAT64mdAssignment_dPar
 
CMatrix< C_FLOAT64mdRate_dPar
 
CMatrix< C_FLOAT64mJacobian
 
size_t mNumAssTargets
 Number of assignment targets for which sensitivities are calculated. More...
 
unsigned C_INT32 mNumParameters
 
CVector< C_FLOAT64 * > mParameterInitialValuePointers
 the pointers to the values of the objects as provided by the problem (generally initial values) More...
 
CVector< bool > mParameterIsInitialConcentration
 
CVector< C_FLOAT64 * > mParameterTransientValuePointers
 the pointers as used during the simulation, initial values of fixed quantities are replaced by their transient counterparts. More...
 
C_FLOAT64mpContainerStateTime
 
CTimeSensProblemmpProblem
 
const bool * mpReducedModel
 
CTimeSensTaskmpTask
 
CVectorCore< C_INTmRootsFound
 
CCore::CUpdateSequence mSeq1
 
CCore::CUpdateSequence mSeq2
 
CCore::CUpdateSequence mSeq3
 
size_t mSystemSize
 
- Protected Attributes inherited from CCopasiMethod
CMathContainermpContainer
 
CProcessReportLevel mProcessReport
 
- Protected Attributes inherited from CCopasiParameter
std::string mKey
 
void * mpDefault
 
void * mpValidValues
 
void * mpValue
 
CDataObjectmpValueReference
 
UserInterfaceFlag mUserInterfaceFlag
 
- Protected Attributes inherited from CDataContainer
objectMap mObjects
 
- Protected Attributes inherited from CDataObject
ObjectSet mPrerequisits
 
std::set< CDataContainer * > mReferences
 
- Protected Attributes inherited from CObjectInterface
CValidity mValidity
 

Private Member Functions

void createRootMask ()
 
 CTimeSensLsodaMethod ()
 
bool hasStateChanged (const CVectorCore< C_FLOAT64 > &startState) const
 
void initializeParameter ()
 
void maskRoots (CVectorCore< C_FLOAT64 > &rootValues)
 
CTimeSensMethod::Status peekAhead ()
 
void resetState (State &state)
 
void saveState (State &state, const CTimeSensMethod::Status &status) const
 
void setRootMaskType (const eRootMasking &maskType)
 

Private Attributes

CVector< C_FLOAT64mAtol
 
CVectorCore< bool > mDiscreteRoots
 
CVector< C_FLOAT64mDWork
 
std::ostringstream mErrorMsg
 
CVector< C_INTmIWork
 
C_INT mJType
 
CLSODA mLSODA
 
CLSODAR mLSODAR
 
C_INT mNumRoots
 
C_FLOAT64mpAbsoluteTolerance
 
bool mPeekAheadMode
 
unsigned C_INT32mpMaxInternalSteps
 
C_FLOAT64mpMaxInternalStepSize
 
C_FLOAT64mpRelativeTolerance
 
const C_FLOAT64mpYdot
 
unsigned C_INT32 mRootCounter
 
CVector< bool > mRootMask
 
State mSavedState
 
C_FLOAT64 mTargetTime
 
C_INT mTask
 
CVector< C_FLOAT64mVariables
 

Additional Inherited Members

- Public Types inherited from CTimeSensMethod
enum  Status { FAILURE = -1 , NORMAL = 0 , ROOT = 1 }
 
- Public Types inherited from CCopasiParameterGroup
typedef CDataObjectMap::const_type_iterator< CCopasiParameterconst_name_iterator
 
typedef std::vector< CCopasiParameter * > elements
 
typedef elements::iterator index_iterator
 
typedef CDataObjectMap::type_iterator< CCopasiParametername_iterator
 
- Public Types inherited from CCopasiParameter
enum class  eUserInterfaceFlag { editable , basic , unsupported , __SIZE }
 
enum class  Type {
  DOUBLE = 0 , UDOUBLE , INT , UINT ,
  BOOL , GROUP , STRING , CN ,
  KEY , FILE , EXPRESSION , INVALID ,
  __SIZE
}
 
typedef CFlags< eUserInterfaceFlagUserInterfaceFlag
 
- Public Types inherited from CDataContainer
typedef CDataObjectMap objectMap
 
- Public Types inherited from CDataObject
typedef std::set< const CDataObject * > DataObjectSet
 
enum  Flag {
  Container , Vector , Matrix , NameVector ,
  Reference , ValueBool , ValueInt , ValueInt64 ,
  ValueDbl , NonUniqueName , StaticString , ValueString ,
  Separator , DisplayName , ModelEntity , Array ,
  DataModel , Root , Gui , __SIZE
}
 
- Public Types inherited from CObjectInterface
typedef std::vector< const CDataContainer * > ContainerList
 
typedef std::set< const CObjectInterface * > ObjectSet
 
- Static Public Attributes inherited from CCopasiParameter
static const CEnumAnnotation< std::string, TypeTypeName
 
static const CEnumAnnotation< std::string, TypeXMLType
 
- Static Public Attributes inherited from CDataContainer
static const CObjectInterface::ContainerList EmptyList
 
- Static Protected Member Functions inherited from CTimeSensMethod
static void printObjectSet (const std::string &s, const CObjectInterface::ObjectSet &os)
 some methods for doing debug output More...
 
static void printUpdateSeq (const std::string &s, const CCore::CUpdateSequence &us)
 
- Static Protected Attributes inherited from CTimeSensMethod
static const bool ReducedModel
 

Member Enumeration Documentation

◆ eRootMasking

Enumerator
NONE 
ALL 
DISCRETE 

Constructor & Destructor Documentation

◆ CTimeSensLsodaMethod() [1/3]

CTimeSensLsodaMethod::CTimeSensLsodaMethod ( )
private

Constructor.

◆ CTimeSensLsodaMethod() [2/3]

CTimeSensLsodaMethod::CTimeSensLsodaMethod ( const CDataContainer pParent,
const CTaskEnum::Method methodType = CTaskEnum::Method::deterministic,
const CTaskEnum::Task taskType = CTaskEnum::Task::timeCourse 
)

Specific constructor

Parameters
constCDataContainer * pParent
constCTaskEnum::Method & methodType (default: deterministic)
constCTaskEnum::Task & taskType (default: timeCourse)

References CTimeSensLsodaMethod::Data::dim, initializeParameter(), mData, and CTimeSensLsodaMethod::Data::pMethod.

◆ CTimeSensLsodaMethod() [3/3]

CTimeSensLsodaMethod::CTimeSensLsodaMethod ( const CTimeSensLsodaMethod src,
const CDataContainer pParent 
)

Copy constructor.

Parameters
const CTimeSensLsodaMethod &src
constCDataContainer * pParent (default: NULL)

References CTimeSensLsodaMethod::Data::dim, initializeParameter(), mData, and CTimeSensLsodaMethod::Data::pMethod.

◆ ~CTimeSensLsodaMethod()

CTimeSensLsodaMethod::~CTimeSensLsodaMethod ( )

Member Function Documentation

◆ copySensitivitiesToResultMatrix()

◆ createRootMask()

◆ destroyRootMask()

void CTimeSensLsodaMethod::destroyRootMask ( )
protected

Destroy the mask which hides all roots being constant and zero.

References mRootMask, mRootMasking, and NONE.

Referenced by start().

◆ elevateChildren()

bool CTimeSensLsodaMethod::elevateChildren ( )
virtual

This methods must be called to elevate subgroups to derived objects. The default implementation does nothing.

Returns
bool success

Reimplemented from CCopasiParameterGroup.

References initializeParameter().

◆ evalF()

◆ EvalF()

void CTimeSensLsodaMethod::EvalF ( const C_INT n,
const C_FLOAT64 t,
const C_FLOAT64 y,
C_FLOAT64 ydot 
)
static

This evaluates the derivatives

References evalF(), and CTimeSensLsodaMethod::Data::pMethod.

Referenced by step().

◆ evalJ()

void CTimeSensLsodaMethod::evalJ ( const C_FLOAT64 t,
const C_FLOAT64 y,
const C_INT ml,
const C_INT mu,
C_FLOAT64 pd,
const C_INT nRowPD 
)
virtual

Referenced by EvalJ().

◆ EvalJ()

void CTimeSensLsodaMethod::EvalJ ( const C_INT n,
const C_FLOAT64 t,
const C_FLOAT64 y,
const C_INT ml,
const C_INT mu,
C_FLOAT64 pd,
const C_INT nRowPD 
)
static

This evaluates the Jacobian

References evalJ(), and CTimeSensLsodaMethod::Data::pMethod.

Referenced by step().

◆ evalR()

◆ EvalR()

void CTimeSensLsodaMethod::EvalR ( const C_INT n,
const C_FLOAT64 t,
const C_FLOAT64 y,
const C_INT nr,
C_FLOAT64 r 
)
static

This evaluates the roots

References evalR(), and CTimeSensLsodaMethod::Data::pMethod.

Referenced by step().

◆ hasStateChanged()

◆ initializeParameter()

◆ maskRoots()

void CTimeSensLsodaMethod::maskRoots ( CVectorCore< C_FLOAT64 > &  rootValues)
private

Mask roots which are constant and zero.

Parameters
CVectorCore<C_FLOAT64 > & rootValues

References CVectorCore< CType >::array(), C_FLOAT64, mRootMask, and CVectorCore< CType >::size().

Referenced by evalR().

◆ peekAhead()

◆ resetState()

◆ saveState()

◆ setRootMaskType()

◆ start()

◆ stateChange()

◆ step()

CTimeSensMethod::Status CTimeSensLsodaMethod::step ( const double &  deltaT,
const bool &  final = false 
)
virtual

This instructs the method to calculate a time step of deltaT starting with the current state, i.e., the result of the previous step. The new state (after deltaT) is expected in the current state. The return value is the actual timestep taken.

Parameters
constdouble & deltaT
constbool & final (default: false)
Returns
Status status

Reimplemented from CTimeSensMethod.

References ALL, CVectorCore< CType >::array(), C_FLOAT64, C_INT, CTimeSensLsodaMethod::State::ContainerState, CTimeSensLsodaMethod::Data::dim, DISCRETE, EvalF(), EvalJ(), EvalR(), CCopasiMessage::EXCEPTION, CTimeSensMethod::FAILURE, CMathContainer::getCountFixedEventTargets(), CMathContainer::getState(), hasStateChanged(), CMathContainer::isStateValid(), mAtol, CTimeSensMethod::mContainerState, MCTrajectoryMethod, mData, mDWork, mErrorMsg, mIWork, mJType, mLastRootState, mLastSuccessState, mLSODA, mLSODAR, mLsodaStatus, mNumRoots, CCopasiMethod::mpContainer, CTimeSensMethod::mpContainerStateTime, mPeekAheadMode, mpMaxInternalSteps, CTimeSensMethod::mpReducedModel, mpRelativeTolerance, mRootCounter, mRootMask, mRootMasking, CTimeSensMethod::mRootsFound, mSavedState, CTimeSensMethod::mSystemSize, mTargetTime, mTask, mTime, mVariables, NONE, CTimeSensMethod::NORMAL, peekAhead(), resetState(), CTimeSensMethod::ROOT, CTimeSensLsodaMethod::State::RootsFound, saveState(), setRootMaskType(), CVectorCore< CType >::size(), CMath::State, stateChange(), CTimeSensLsodaMethod::State::Status, and CMathContainer::updateSimulatedValues().

Referenced by peekAhead().

Member Data Documentation

◆ mAtol

CVector< C_FLOAT64 > CTimeSensLsodaMethod::mAtol
private

A vector of absolute tolerances.

Referenced by hasStateChanged(), start(), and step().

◆ mData

Data CTimeSensLsodaMethod::mData
protected

mData.dim is the dimension of the ODE system. mData.pMethod contains CTimeSensLsodaMethod * this to be used in the static method EvalF

Referenced by CTimeSensLsodaMethod(), start(), and step().

◆ mDiscreteRoots

CVectorCore< bool > CTimeSensLsodaMethod::mDiscreteRoots
private

A which indicates whether roots change only discretely.

Referenced by setRootMaskType(), and start().

◆ mDWork

CVector< C_FLOAT64 > CTimeSensLsodaMethod::mDWork
private

LSODA C_FLOAT64 work area

Referenced by resetState(), saveState(), start(), and step().

◆ mErrorMsg

std::ostringstream CTimeSensLsodaMethod::mErrorMsg
private

A pointer to the absolute tolerances excluding fixed event targets. Stream to capture LSODA error messages

Referenced by start(), and step().

◆ mIWork

CVector< C_INT > CTimeSensLsodaMethod::mIWork
private

LSODA C_INT work area

Referenced by resetState(), saveState(), start(), and step().

◆ mJType

C_INT CTimeSensLsodaMethod::mJType
private

The way LSODA calculates the jacobian

Referenced by start(), and step().

◆ mLastRootState

State CTimeSensLsodaMethod::mLastRootState
protected

The last state having a root

Referenced by peekAhead(), start(), stateChange(), and step().

◆ mLastSuccessState

CVector< C_FLOAT64 > CTimeSensLsodaMethod::mLastSuccessState
protected

The state after the last successful integration step

Referenced by step().

◆ mLSODA

CLSODA CTimeSensLsodaMethod::mLSODA
private

The LSODA integrator

Referenced by start(), and step().

◆ mLSODAR

CLSODAR CTimeSensLsodaMethod::mLSODAR
private

The LSODA integrator

Referenced by resetState(), saveState(), start(), and step().

◆ mLsodaStatus

C_INT CTimeSensLsodaMethod::mLsodaStatus
protected

LSODA state.

Referenced by peekAhead(), resetState(), start(), stateChange(), and step().

◆ mNumRoots

C_INT CTimeSensLsodaMethod::mNumRoots
private

Number of roots

Referenced by setRootMaskType(), start(), stateChange(), and step().

◆ mpAbsoluteTolerance

C_FLOAT64* CTimeSensLsodaMethod::mpAbsoluteTolerance
private

A pointer to the value of "Absolute Tolerance"

Referenced by initializeParameter(), and start().

◆ mPeekAheadMode

bool CTimeSensLsodaMethod::mPeekAheadMode
private

A Boolean indicating whether we are in peekAhead mode

Referenced by peekAhead(), start(), stateChange(), and step().

◆ mpMaxInternalSteps

unsigned C_INT32* CTimeSensLsodaMethod::mpMaxInternalSteps
private

A pointer to the value of "Max Internal Steps"

Referenced by initializeParameter(), start(), and step().

◆ mpMaxInternalStepSize

C_FLOAT64* CTimeSensLsodaMethod::mpMaxInternalStepSize
private

A pointer to the value of "Max Internal Step Size"

Referenced by initializeParameter(), and start().

◆ mpRelativeTolerance

C_FLOAT64* CTimeSensLsodaMethod::mpRelativeTolerance
private

A pointer to the value of "Relative Tolerance"

Referenced by hasStateChanged(), initializeParameter(), peekAhead(), and step().

◆ mpYdot

const C_FLOAT64* CTimeSensLsodaMethod::mpYdot
private

Pointer to the array with right hand side values of the math container.

Referenced by evalF(), and start().

◆ mRootCounter

unsigned C_INT32 CTimeSensLsodaMethod::mRootCounter
private

Root counter to determine whether the internal step limit is exceeded.

Referenced by peekAhead(), start(), and step().

◆ mRootMask

CVector< bool > CTimeSensLsodaMethod::mRootMask
private

A mask which hides all roots being constant and zero.

Referenced by createRootMask(), destroyRootMask(), maskRoots(), peekAhead(), resetState(), saveState(), setRootMaskType(), and step().

◆ mRootMasking

eRootMasking CTimeSensLsodaMethod::mRootMasking
protected

A Boolean flag indicating whether we should try masking roots

Referenced by createRootMask(), destroyRootMask(), evalR(), resetState(), saveState(), setRootMaskType(), and step().

◆ mSavedState

State CTimeSensLsodaMethod::mSavedState
private

Referenced by peekAhead(), start(), stateChange(), and step().

◆ mTargetTime

C_FLOAT64 CTimeSensLsodaMethod::mTargetTime
private

Store the targeted end time to determine whether the internal step limit is exceeded.

Referenced by peekAhead(), start(), and step().

◆ mTask

C_INT CTimeSensLsodaMethod::mTask
private

The task instructions to the integrator

Referenced by start(), and step().

◆ mTime

C_FLOAT64 CTimeSensLsodaMethod::mTime
protected

Current time.

Referenced by peekAhead(), resetState(), saveState(), start(), stateChange(), and step().

◆ mVariables

CVector< C_FLOAT64 > CTimeSensLsodaMethod::mVariables
private

Pointer to the array with left hand side values of the math container. the vector that contains the extended system

Referenced by copySensitivitiesToResultMatrix(), evalF(), start(), stateChange(), and step().


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