COPASI API  4.40.278
CMathContainer Class Reference

#include <CMathContainer.h>

Inheritance diagram for CMathContainer:
[legend]

Classes

struct  sDiscontinuous
 
struct  sSize
 

Public Member Functions

CMathEventaddAnalysisEvent (const CEvent *pDataEvent)
 
CMath::Entity< CMathObjectaddAnalysisObject (const CMath::Entity< CDataObject > &dataObjects, const CMath::SimulationType &simulationType, const std::string &infix)
 
void addNoiseInputObject (const CMathObject *pObject)
 
void applyInitialValues ()
 
void applyUpdateSequence (const CCore::CUpdateSequence &updateSequence)
 
bool areObjectsConstant (const CObjectInterface::ObjectSet &objects) const
 
void calculateElasticityDependencies (CMatrix< C_INT32 > &elasticityDependencies, const bool &reduced)
 
void calculateJacobian (CMatrix< C_FLOAT64 > &jacobian, const C_FLOAT64 &derivationFactor, const bool &reduced, const bool &includeTime=false)
 
void calculateJacobianDependencies (CMatrix< C_INT32 > &jacobianDependencies, const bool &reduced)
 
void calculateRootDerivatives (CVector< C_FLOAT64 > &rootDerivatives)
 
 CMathContainer (CModel &model)
 
 CMathContainer (const CMathContainer &src)
 
void compile ()
 
CMathContainercopy () const
 
CEvaluationNodecopyBranch (const CEvaluationNode *pSrc, const bool &replaceDiscontinuousNodes)
 
CEvaluationNodecopyBranch (const CEvaluationNode *pSrc, const CMath::Variables< CEvaluationNode * > &variables, const bool &replaceDiscontinuousNodes)
 
void deregisterUpdateSequence (CMathUpdateSequence *pUpdateSequence)
 
void fetchInitialState ()
 
void fetchState ()
 
const CCore::CUpdateSequencegetApplyInitialValuesSequence () const
 
virtual CCommonName getCN () const
 
CMathObjectgetCompartment (const CMathObject *pObject) const
 
const CVectorCore< C_FLOAT64 > & getCompleteInitialState () const
 
const size_t & getCountAssignments () const
 
const size_t & getCountDependentSpecies () const
 
const size_t & getCountFixed () const
 
const size_t & getCountFixedEventTargets () const
 
size_t getCountIndependentSpecies () const
 
size_t getCountNoise () const
 
size_t getCountODEs () const
 
CDataObjectgetDataObject (const C_FLOAT64 *pDataValue) const
 
const CVectorCore< C_FLOAT64 > & getDelayLags () const
 
const CVectorCore< CMathEvent > & getEvents () const
 
const CVectorCore< C_FLOAT64 > & getFluxes () const
 
const CMathHistoryCoregetHistory (const bool &reduced) const
 
const CMathDependencyGraphgetInitialDependencies () const
 
CVectorCore< C_FLOAT64 > & getInitialState ()
 
const CVectorCore< C_FLOAT64 > & getInitialState () const
 
const CObjectInterface::ObjectSetgetInitialStateObjects () const
 
CMathObjectgetInitialValueObject (const CMathObject *pObject) const
 
C_FLOAT64getInitialValuePointer (const C_FLOAT64 *pValue) const
 
CMathObjectgetLargestReactionCompartment (const CMathReaction *pReaction) const
 
CMathObjectgetMathObject (const C_FLOAT64 *pDataValue) const
 
CMathObjectgetMathObject (const CCommonName &cn) const
 
CMathObjectgetMathObject (const CObjectInterface *pObject) const
 
CMathReactiongetMathReaction (const CReaction *pReaction) const
 
const CModelgetModel () const
 
const CVectorCore< C_FLOAT64 > & getNoise (const bool &reduced) const
 
const CObjectInterface::ObjectSetgetNoiseInputObjects () const
 
const CCore::CUpdateSequencegetNoiseSequence (const bool &useMoieties) const
 
virtual const CObjectInterfacegetObject (const CCommonName &cn) const
 
virtual const CObjectInterfacegetObjectFromCN (const CCommonName &cn) const
 
const CVectorCore< C_FLOAT64 > & getParticleFluxes () const
 
CMathEventQueuegetProcessQueue ()
 
C_FLOAT64 getProcessQueueExecutionTime () const
 
const CVectorCore< C_FLOAT64 > & getPropensities () const
 
const C_FLOAT64getQuantity2NumberFactor () const
 
const CObjectInterfacegetQuantity2NumberFactorObject () const
 
CRandomgetRandomGenerator () const
 
const CDataObjectgetRandomObject () const
 
const CVectorCore< C_FLOAT64 > & getRate (const bool &reduced) const
 
CVectorCore< CMathReaction > & getReactions ()
 
const CVectorCore< CMathReaction > & getReactions () const
 
const CVectorCore< bool > & getRootIsDiscrete () const
 
const CVectorCore< bool > & getRootIsTimeDependent () const
 
CVector< CMathEvent::CTrigger::CRootProcessor * > & getRootProcessors ()
 
const CVectorCore< C_FLOAT64 > & getRoots () const
 
const CObjectInterface::ObjectSetgetSimulationUpToDateObjects () const
 
const CCore::CUpdateSequencegetSimulationValuesSequence (const bool &useMoieties) const
 
const CVectorCore< C_FLOAT64 > & getState (const bool &reduced) const
 
const CObjectInterface::ObjectSetgetStateObjects (const bool &reduced=false) const
 
const CMatrix< C_FLOAT64 > & getStoichiometry (const bool &reduced=false) const
 
const CCore::CUpdateSequencegetSynchronizeInitialValuesSequence (const CCore::Framework &framework) const
 
const CVectorCore< C_FLOAT64 > & getTotalMasses () const
 
const CCore::CUpdateSequencegetTransientDataValueSequence () const
 
const CMathDependencyGraphgetTransientDependencies () const
 
const CObjectInterface::ObjectSetgetValueChangeProhibited () const
 
CMathObjectgetValueObject (const CMathObject *pInitialObject) const
 
C_FLOAT64getValuePointer (const C_FLOAT64 *pInitialValue) const
 
CVectorCore< C_FLOAT64 > & getValues ()
 
const CVectorCore< C_FLOAT64 > & getValues () const
 
CVector< C_FLOAT64initializeAtolVector (const C_FLOAT64 &baseTolerance, const bool &reduced) const
 
const bool & isAutonomous () const
 
bool isStateValid () const
 
bool operator== (const CMathContainer &rhs)
 
CMath::StateChange processQueue (const bool &equality)
 
void processRoots (const bool &equality, const CVector< C_INT > &rootsFound)
 
void processRoots (const CVector< C_INT > &rootsFound)
 
void pushAllTransientValues ()
 
void pushInitialState ()
 
void pushState ()
 
void registerUpdateSequence (CMathUpdateSequence *pUpdateSequence)
 
void relocateObject (CMathObject *&pObject, const std::vector< CMath::sRelocate > &relocations) const
 
void relocateObject (CObjectInterface *&pObject, const std::vector< CMath::sRelocate > &relocations) const
 
void relocateObject (const CMathObject *&pObject, const std::vector< CMath::sRelocate > &relocations) const
 
void relocateObject (const CObjectInterface *&pObject, const std::vector< CMath::sRelocate > &relocations) const
 
void relocateObjectSet (CObjectInterface::ObjectSet &objectSet, const std::vector< CMath::sRelocate > &relocations) const
 
void relocateUpdateSequence (CCore::CUpdateSequence &sequence, const std::vector< CMath::sRelocate > &relocations) const
 
void relocateValue (C_FLOAT64 *&pValue, const std::vector< CMath::sRelocate > &relocations) const
 
void relocateValue (const C_FLOAT64 *&pValue, const std::vector< CMath::sRelocate > &relocations) const
 
bool removeAnalysisEvent (CMathEvent *&pMathEvent)
 
bool removeAnalysisObject (CMath::Entity< CMathObject > &mathObjects)
 
void removeDataObject (const CDataObject *pObject)
 
CEvaluationNodereplaceDiscontinuousNode (const CEvaluationNode *pSrc, const std::vector< CEvaluationNode * > &children)
 
void resetNoise ()
 
void setCompleteInitialState (const CVectorCore< C_FLOAT64 > &initialState)
 
void setHistory (const CMathHistoryCore &history)
 
void setInitialState (const CVectorCore< C_FLOAT64 > &initialState)
 
void setState (const CVectorCore< C_FLOAT64 > &state)
 
void setValues (const CVectorCore< C_FLOAT64 > &values)
 
void updateHistoryValues (const bool &useMoieties)
 
void updateInitialValues (const CCore::Framework &framework)
 
void updateNoiseValues (const bool &useMoieties)
 
void updatePriorityValues ()
 
void updateRootValues (const bool &useMoieties)
 
void updateSimulatedValues (const bool &useMoieties)
 
void updateTransientDataValues ()
 
virtual ~CMathContainer ()
 
- Public Member Functions inherited from CDataContainer
virtual bool add (CDataObject *pObject, const bool &adopt=true)
 
virtual bool appendDeletedDependentData (CUndoData &undoData) const
 
virtual bool applyData (const CData &data, CUndoData::CChangeSet &changes) override
 
 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 void createUndoData (CUndoData &undoData, const CUndoData::Type &type, const CData &oldData=CData(), const CCore::Framework &framework=CCore::Framework::ParticleNumbers) const override
 
virtual std::string getChildObjectUnits (const CDataObject *pObject) const
 
void getDescendants (CDataObject::DataObjectSet &descendants, const bool &recursive=false) const
 
virtual size_t getIndex (const CDataObject *pObject) const
 
virtual objectMapgetObjects ()
 
virtual const objectMapgetObjects () const
 
virtual const std::string getUnits () const override
 
virtual const CDataObjectgetValueObject () const override
 
virtual CUndoObjectInterfaceinsert (const CData &data) override
 
void objectRenamed (CDataObject *pObject, const std::string &oldName)
 
virtual bool remove (CDataObject *pObject)
 
virtual CData toData () const override
 
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
 
virtual const std::string & getKey () const
 
CDataContainergetObjectAncestor (const std::string &type) const
 
CDataModelgetObjectDataModel () const
 
virtual std::string getObjectDisplayName () const override
 
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
 
virtual void * getValuePointer () 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
 
virtual void print (std::ostream *ostream) const override
 
void removeIssue (const CIssue &issue)
 
void removeReference (const CDataContainer *pReference)
 
bool setObjectName (const std::string &name)
 
virtual bool setObjectParent (const CDataContainer *pParent)
 
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 void updateIndex (const size_t &index, const CUndoObjectInterface *pUndoObject)
 
virtual ~CUndoObjectInterface ()
 

Private Member Functions

void allocate ()
 
void analyzeRoots ()
 
void calculateRootJacobian (CMatrix< C_FLOAT64 > &jacobian)
 
void calculateRootJacobian (CMatrix< C_FLOAT64 > &jacobian, const CVector< C_FLOAT64 > &rates)
 
 CMathContainer ()
 
bool compileDiscreteChanges ()
 
bool compileEvents ()
 
bool compileObjects ()
 
void createApplyInitialValuesSequence ()
 
void createDelays ()
 
void createDependencyGraphs ()
 
void createDiscontinuityDataEvent (const CEvaluationNode *pNode)
 
void createDiscontinuityEvents ()
 
void createDiscontinuityEvents (const CEvaluationTree *pTree, const std::vector< CEvaluationNode * > &variables)
 
std::string createDiscontinuityTriggerInfix (const CEvaluationNode *pNode)
 
CEvaluationNodecreateNodeFromObject (const CObjectInterface *pMathObject)
 
CEvaluationNodecreateNodeFromValue (const C_FLOAT64 *pDataValue)
 
void createRelocations (const sSize &size, std::vector< CMath::sRelocate > &Relocations)
 
void createSynchronizeInitialValuesSequence ()
 
void createUpdateAllTransientDataValuesSequence ()
 
void createUpdateSequences ()
 
void createUpdateSimulationValuesSequence ()
 
void createValueChangeProhibited ()
 
void finishResize ()
 
void ignoreDiscontinuityEvent (CMathEvent *pEvent)
 
void initializeDiscontinuousCreationPointer ()
 
void initializeEvents (CMath::sPointers &pointers)
 
void initializeMathObjects (const CDataVector< CMoiety > &moieties, CMath::sPointers &p)
 
void initializeMathObjects (const CDataVector< CReaction > &reactions, CMath::sPointers &p)
 
void initializeMathObjects (const std::vector< const CDataObject * > &parameters, CMath::sPointers &p)
 
void initializeMathObjects (const std::vector< const CModelEntity * > &entities, const CMath::SimulationType &simulationType, CMath::sPointers &pointers)
 
void initializeObjects (CMath::sPointers &pointers)
 
void initializePointers (CMath::sPointers &pointers)
 
void map ()
 
std::vector< CMath::sRelocatemove (sSize &size)
 
void relocate (const sSize &size, const std::vector< CMath::sRelocate > &Relocations)
 
template<class CType >
void relocateVector (CVectorCore< CType > &vector, size_t size, const std::vector< CMath::sRelocate > &relocations)
 
std::vector< CMath::sRelocateresize (sSize &size)
 
void sanitizeDataValue2DataObject ()
 

Static Private Member Functions

static void createRelocation (const size_t &oldSize, const size_t &newSize, CMath::sRelocate &relocate, std::vector< CMath::sRelocate > &relocations, const bool &modifiedAtEnd=true)
 
static CMath::EntityType getEntityType (const CModelEntity *pEntity)
 

Private Attributes

CCore::CUpdateSequence mApplyInitialValuesSequence
 
std::chrono::steady_clock::time_point mCompileTime
 
CVectorCore< C_FLOAT64mCompleteInitialState
 
sDiscontinuous mCreateDiscontinuousPointer
 
std::map< const CDataObject *, CMathObject * > mDataObject2MathObject
 
std::map< C_FLOAT64 *, CDataObject * > mDataValue2DataObject
 
std::map< C_FLOAT64 *, CMathObject * > mDataValue2MathObject
 
CVectorCore< C_FLOAT64mDelayLags
 
CVectorCore< CMathDelaymDelays
 
CVectorCore< C_FLOAT64mDelayValues
 
CVectorCore< C_FLOAT64mDependentMasses
 
CDataVector< CEventmDiscontinuityEvents
 
std::map< std::string, CMathObject * > mDiscontinuityInfix2Object
 
CVectorCore< C_FLOAT64mDiscontinuous
 
CVectorCore< C_FLOAT64mEventAssignments
 
CVectorCore< C_FLOAT64mEventDelays
 
CVectorCore< C_FLOAT64mEventPriorities
 
CVectorCore< C_FLOAT64mEventRoots
 
CVectorCore< C_FLOAT64mEventRootStates
 
CVectorCore< CMathEventmEvents
 
CVectorCore< C_FLOAT64mEventTriggers
 
CVectorCore< C_FLOAT64mExtensiveNoise
 
CVectorCore< C_FLOAT64mExtensiveRates
 
CVectorCore< C_FLOAT64mExtensiveValues
 
CVectorCore< C_FLOAT64mFluxes
 
CMathHistory mHistory
 
CMathHistoryCore mHistoryReduced
 
CMathDependencyGraph mInitialDependencies
 
CVectorCore< C_FLOAT64mInitialEventTriggers
 
CVectorCore< C_FLOAT64mInitialExtensiveRates
 
CVectorCore< C_FLOAT64mInitialExtensiveValues
 
CVectorCore< C_FLOAT64mInitialFluxes
 
CVectorCore< C_FLOAT64mInitialIntensiveRates
 
CVectorCore< C_FLOAT64mInitialIntensiveValues
 
CVectorCore< C_FLOAT64mInitialParticleFluxes
 
CVectorCore< C_FLOAT64mInitialState
 
CObjectInterface::ObjectSet mInitialStateValueAll
 
CObjectInterface::ObjectSet mInitialStateValueExtensive
 
CObjectInterface::ObjectSet mInitialStateValueIntensive
 
CVectorCore< C_FLOAT64mInitialTotalMasses
 
CVectorCore< C_FLOAT64mIntensiveNoise
 
CVectorCore< C_FLOAT64mIntensiveRates
 
CVectorCore< C_FLOAT64mIntensiveValues
 
bool mIsAutonomous
 
CObjectInterface::ObjectSet mNoiseInputObjects
 
CVectorCore< C_FLOAT64mNoiseReduced
 
CCore::CUpdateSequence mNoiseSequence
 
CCore::CUpdateSequence mNoiseSequenceReduced
 
size_t mNumTotalRootsIgnored
 
CVectorCore< CMathObjectmObjects
 
CVectorCore< CMathObjectmOldObjects
 
CVectorCore< C_FLOAT64mOldValues
 
CVectorCore< C_FLOAT64mParticleFluxes
 
const CDataObjectmpAvogadro
 
CModelmpModel
 
CMathObjectmpObjectsBuffer
 
CMathEventQueuempProcessQueue
 
const CDataObjectmpQuantity2NumberFactor
 
CRandommpRandomGenerator
 
CCore::CUpdateSequence mPrioritySequence
 
CVectorCore< C_FLOAT64mPropensities
 
C_FLOAT64mpValuesBuffer
 
CDataObjectReference< C_FLOAT64mRandom
 
CVectorCore< C_FLOAT64mRate
 
CVectorCore< C_FLOAT64mRateReduced
 
CVectorCore< C_FLOAT64mReactionNoise
 
CVectorCore< C_FLOAT64mReactionParticleNoise
 
CVectorCore< CMathReactionmReactions
 
CObjectInterface::ObjectSet mReducedStateValues
 
std::multimap< size_t, size_t > mRootCount2Events
 
CVector< C_FLOAT64mRootDerivatives
 
CVector< C_FLOAT64mRootDerivativesState
 
CVector< bool > mRootIsDiscrete
 
CVector< bool > mRootIsTimeDependent
 
CVector< CMathEvent::CTrigger::CRootProcessor * > mRootProcessors
 
CCore::CUpdateSequence mRootSequence
 
CCore::CUpdateSequence mRootSequenceReduced
 
CObjectInterface::ObjectSet mSimulationRequiredValues
 
CCore::CUpdateSequence mSimulationValuesSequence
 
CCore::CUpdateSequence mSimulationValuesSequenceReduced
 
sSize mSize
 
CVectorCore< C_FLOAT64mState
 
CVectorCore< C_FLOAT64mStateReduced
 
CObjectInterface::ObjectSet mStateValues
 
CCore::CUpdateSequence mSynchronizeInitialValuesSequenceExtensive
 
CCore::CUpdateSequence mSynchronizeInitialValuesSequenceIntensive
 
CVectorCore< C_FLOAT64mTotalMasses
 
CCore::CUpdateSequence mTransientDataObjectSequence
 
CMathDependencyGraph mTransientDependencies
 
CVectorCore< C_FLOAT64mTransitionTimes
 
std::map< std::string, CMathEvent * > mTriggerInfix2Event
 
std::set< CMathUpdateSequence * > mUpdateSequences
 
CObjectInterface::ObjectSet mValueChangeProhibited
 
CVectorCore< C_FLOAT64mValues
 

Additional Inherited Members

- 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 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 *)
 
- Static Public Attributes inherited from CDataContainer
static const CObjectInterface::ContainerList EmptyList
 
- 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 inherited from CDataContainer
objectMap mObjects
 
- Protected Attributes inherited from CDataObject
ObjectSet mPrerequisits
 
std::set< CDataContainer * > mReferences
 
- Protected Attributes inherited from CObjectInterface
CValidity mValidity
 

Constructor & Destructor Documentation

◆ CMathContainer() [1/3]

CMathContainer::CMathContainer ( )
private

Default Constructor

Referenced by copy().

◆ CMathContainer() [2/3]

CMathContainer::CMathContainer ( CModel model)

Specific Constructor

Parameters
CModel& model

◆ CMathContainer() [3/3]

CMathContainer::CMathContainer ( const CMathContainer src)

Copy constructor

Parameters
constCMathContainer & src

◆ ~CMathContainer()

Member Function Documentation

◆ addAnalysisEvent()

CMathEvent * CMathContainer::addAnalysisEvent ( const CEvent pDataEvent)

Add an event to the container. The dataEvent must remain in memory while in the math container.

Parameters
constCEvent * pDataEvent
Returns
const CMathEvent * pMathEvent

References CMathDependencyGraph::addObject(), CMathEvent::allocate(), analyzeRoots(), CVectorCore< CType >::array(), CMathEvent::compile(), createUpdateSequences(), finishResize(), CMathEvent::getAssignments(), getMathObject(), CMathEvent::CTrigger::getRoots(), CMathEvent::CAssignment::getTarget(), CMathEvent::getTrigger(), CMathEvent::initialize(), initializePointers(), map(), mEvents, mExtensiveRates, mExtensiveValues, mInitialDependencies, mInitialExtensiveRates, mInitialExtensiveValues, mObjects, mSize, mTransientDependencies, mValues, CMathContainer::sSize::nAssignment, CMathContainer::sSize::nEventAssignments, CMathContainer::sSize::nEventRoots, CMathContainer::sSize::nEvents, CMathContainer::sSize::nFixed, CMathContainer::sSize::nFixedEventTargets, CMath::sRelocate::offset, CMath::sPointers::pEventAssignments, CMath::sPointers::pEventAssignmentsObject, CMath::sPointers::pEventDelays, CMath::sPointers::pEventDelaysObject, CMath::sPointers::pEventPriorities, CMath::sPointers::pEventPrioritiesObject, CMath::sPointers::pEventRoots, CMath::sPointers::pEventRootsObject, CMath::sPointers::pEventRootStates, CMath::sPointers::pEventRootStatesObject, CMath::sPointers::pEventTriggers, CMath::sPointers::pEventTriggersObject, CMath::sPointers::pInitialEventTriggers, CMath::sPointers::pInitialEventTriggersObject, CMath::sRelocate::pNewObject, CMath::sRelocate::pNewValue, CMath::sRelocate::pObjectEnd, CMath::sRelocate::pObjectStart, CMath::sRelocate::pOldObject, CMath::sRelocate::pOldValue, CMath::sRelocate::pValueEnd, CMath::sRelocate::pValueStart, relocate(), and resize().

Referenced by CAnalyticsTask::createEvent(), and CCrossSectionTask::createEvent().

◆ addAnalysisObject()

◆ addNoiseInputObject()

void CMathContainer::addNoiseInputObject ( const CMathObject pObject)

Add a noise input object

Parameters
constCMathObject * pObject

References mNoiseInputObjects.

Referenced by CMathObject::compileNoise(), and CMathObject::compileReactionParticleNoise().

◆ allocate()

void CMathContainer::allocate ( )
private

Allocate the memory for objects and values

References CObjectLists::ALL_LOCAL_PARAMETER_VALUES, CMathEvent::allocate(), CVectorCore< CType >::array(), CModelEntity::ASSIGNMENT, CDataVector< CType >::begin(), CStateTemplate::beginFixed(), CMathDependencyGraph::clear(), CMathUpdateSequence::clear(), createDiscontinuityEvents(), CDataVector< CType >::end(), CStateTemplate::endFixed(), finishResize(), CMathEvent::getAssignments(), CModel::getEvents(), CObjectLists::getEventTargets(), CObjectLists::getListOfConstObjects(), CModel::getMoieties(), CStateTemplate::getNumDependent(), CModel::getNumDependentReactionMetabs(), CStateTemplate::getNumFixed(), CStateTemplate::getNumIndependent(), CModel::getNumIndependentReactionMetabs(), CModel::getNumMetabs(), CModel::getNumODEMetabs(), CModel::getReactions(), CMathEvent::CTrigger::getRoots(), CModel::getStateTemplate(), CMathEvent::getTrigger(), CVectorCore< CType >::initialize(), mApplyInitialValuesSequence, mDataObject2MathObject, mDataValue2DataObject, mDataValue2MathObject, mDelays, mDiscontinuityEvents, mEvents, mInitialDependencies, mInitialStateValueAll, mInitialStateValueExtensive, mInitialStateValueIntensive, mNoiseSequence, mNoiseSequenceReduced, mObjects, mpModel, mPrioritySequence, mReactions, mReducedStateValues, mRootCount2Events, mSimulationRequiredValues, mSimulationValuesSequence, mSimulationValuesSequenceReduced, mSize, mStateValues, mSynchronizeInitialValuesSequenceExtensive, mSynchronizeInitialValuesSequenceIntensive, mTransientDataObjectSequence, mTransientDependencies, mUpdateSequences, mValues, CMathContainer::sSize::nAssignment, CMathContainer::sSize::nDelayLags, CMathContainer::sSize::nDelayValues, CMathContainer::sSize::nDiscontinuities, CMathContainer::sSize::nEventAssignments, CMathContainer::sSize::nEventRoots, CMathContainer::sSize::nEvents, CMathContainer::sSize::nFixed, CMathContainer::sSize::nFixedEventTargets, CMathContainer::sSize::nIntensiveValues, CMathContainer::sSize::nMoieties, CMathContainer::sSize::nODE, CMathContainer::sSize::nODESpecies, CMathContainer::sSize::nReactions, CMathContainer::sSize::nReactionSpecies, CMathContainer::sSize::nTime, CMathContainer::sSize::pObject, CMathContainer::sSize::pValue, resize(), and CDataVector< CType >::size().

Referenced by compile().

◆ analyzeRoots()

◆ applyInitialValues()

◆ applyUpdateSequence()

void CMathContainer::applyUpdateSequence ( const CCore::CUpdateSequence updateSequence)

Apply the given update sequence to the mathematical objects in the container

Parameters
constCCore::CUpdateSequence & updateSequence

References CMathUpdateSequence::begin(), CObjectInterface::calculateValue(), and CMathUpdateSequence::end().

Referenced by COptProblem::adjustStartValue(), applyInitialValues(), ResultData::applyToModelStateFromOptTask(), COptProblem::calculate(), CScanMethod::calculate(), CFitProblem::calculate(), CTimeSensMethod::calculate_dAssignments_dPar(), CTimeSensMethod::calculate_dAssignments_dState(), CTimeSensMethod::calculate_dRate_dPar(), CFitProblem::calculateCrossValidation(), CMathDelay::calculateDelayValues(), COptProblem::calculateStatistics(), COptProblem::checkFunctionalConstraints(), COptProblem::checkIntervals(), CFitProblem::createParameterSets(), CSensMethod::do_target_calculation(), CTrajAdaptiveSA::doSingleSSAStep(), CStochDirectMethod::doSingleStep(), CStochNextReactionMethod::doSingleStep(), CHybridMethodODE45::evalF(), COptProblem::evalMinimizeIntervals(), CStochasticRungeKuttaRI5::evalNoise(), CTrajectoryMethodDsaLsodar::fireReaction(), CMathEvent::getCalculationTime(), CMathEvent::getExecutionTime(), CMathEvent::getTargetValues(), COptProblem::restore(), CFitProblem::restore(), CStochDirectMethod::rootValue(), CMathEvent::setTargetValues(), CExperiment::storeExtendedTimeSeriesData(), CExperiment::sumOfSquares(), CExperiment::sumOfSquaresStore(), CNewtonMethod::targetFunction(), updateInitialValues(), CModel::updateInitialValues(), CExperiment::updateModelWithIndependentData(), updateNoiseValues(), CHybridMethod::updatePriorityQueue(), updatePriorityValues(), updateRootValues(), updateSimulatedValues(), and updateTransientDataValues().

◆ areObjectsConstant()

bool CMathContainer::areObjectsConstant ( const CObjectInterface::ObjectSet objects) const

Check whether all objects are constant, i.e., do never change during simulation

Parameters
constCObjectInterface::ObjectSet & objects
Returns
bool areObjectsConstant

References CMathUpdateSequence::empty(), CCore::EventHandling, CMathDependencyGraph::getUpdateSequence(), mStateValues, mTransientDependencies, and CCore::UpdateMoieties.

Referenced by CEvaluationNodeOperator::getUnit().

◆ calculateElasticityDependencies()

void CMathContainer::calculateElasticityDependencies ( CMatrix< C_INT32 > &  elasticityDependencies,
const bool &  reduced 
)

◆ calculateJacobian()

void CMathContainer::calculateJacobian ( CMatrix< C_FLOAT64 > &  jacobian,
const C_FLOAT64 derivationFactor,
const bool &  reduced,
const bool &  includeTime = false 
)

Calculates the Jacobian of the full model for the current state and stores it in the provided matrix. needs to be called before.

Parameters
CMatrix<C_FLOAT64 > & Jacobian
constC_FLOAT64 & derivationFactor,
constbool & reduced
constbool & includeTime (default: false)

References CMatrix< CType >::array(), CVectorCore< CType >::array(), C_FLOAT64, getState(), max, mRate, mSize, mState, CMathContainer::sSize::nFixedEventTargets, CMatrix< CType >::resize(), CMatrix< CType >::size(), CVectorCore< CType >::size(), and updateSimulatedValues().

Referenced by CLNAMethod::calculateCovarianceMatrixReduced(), CSteadyStateMethod::calculateJacobian(), CSteadyStateMethod::doJacobian(), CLyapWolfMethod::evalF(), CTimeSensLsodaMethod::evalF(), CCSPMethod::step(), CILDMMethod::step(), CILDMModifiedMethod::step(), and CNewtonMethod::targetFunctionDistance().

◆ calculateJacobianDependencies()

void CMathContainer::calculateJacobianDependencies ( CMatrix< C_INT32 > &  jacobianDependencies,
const bool &  reduced 
)

Calculates whether matrix elements in the Jacobian are identical to zero or not and stored it in the provided matrix. needs to be called before.

Parameters
CMatrix<C_FLOAT64 > & jacobianDependencies
constbool & reduced

References CVectorCore< CType >::array(), CMathUpdateSequence::begin(), CCore::Default, CMathUpdateSequence::end(), getMathObject(), getState(), CMathDependencyGraph::getUpdateSequence(), CMathUpdateSequence::insert(), mRate, mSize, mState, mTransientDependencies, CMathContainer::sSize::nFixedEventTargets, CMathContainer::sSize::nTime, CMatrix< CType >::resize(), CVectorCore< CType >::size(), and CCore::UseMoieties.

◆ calculateRootDerivatives()

◆ calculateRootJacobian() [1/2]

void CMathContainer::calculateRootJacobian ( CMatrix< C_FLOAT64 > &  jacobian)
private

◆ calculateRootJacobian() [2/2]

void CMathContainer::calculateRootJacobian ( CMatrix< C_FLOAT64 > &  jacobian,
const CVector< C_FLOAT64 > &  rates 
)
private

Calculate the Jacobian for the roots.

Parameters
CMatrix<C_FLOAT64 > & jacobian
constCVector< C_FLOAT64 > & rates

◆ compile()

◆ compileDiscreteChanges()

bool CMathContainer::compileDiscreteChanges ( )
private

Convert nodes which generate discrete changes into events and compiles them.

◆ compileEvents()

◆ compileObjects()

bool CMathContainer::compileObjects ( )
private

◆ copy()

CMathContainer * CMathContainer::copy ( ) const

References CMathContainer().

Referenced by CMathContext::sync().

◆ copyBranch() [1/2]

CEvaluationNode * CMathContainer::copyBranch ( const CEvaluationNode pSrc,
const bool &  replaceDiscontinuousNodes 
)

Copy a node and all its children. Nodes are converted to suite the math container, i.e., objects nodes point to math object or numbers, function calls are expanded and discrete nodes are replaced by object node pointing to newly created math objects, which are and targets of automatically generated events.

Parameters
constCEvaluationNode * pSrc
constbool & replaceDiscontinuousNodes
Returns
CEvaluationNode * pCopy

Referenced by addAnalysisObject(), CMathExpression::CMathExpression(), CMathEvent::CTrigger::compile(), copyBranch(), and createDiscontinuityEvents().

◆ copyBranch() [2/2]

CEvaluationNode * CMathContainer::copyBranch ( const CEvaluationNode pSrc,
const CMath::Variables< CEvaluationNode * > &  variables,
const bool &  replaceDiscontinuousNodes 
)

Copy a node and all its children. Nodes are converted to suite the math container, i.e., objects nodes point to math object or numbers, function calls are expanded and discrete nodes are replaced by object node pointing to newly created math objects, which are and targets of automatically generated events.

Parameters
constCEvaluationNode * pSrc
constCMath::Variables & variables
constbool & replaceDiscontinuousNodes
Returns
CEvaluationNode * pCopy

References CEvaluationNode::AVOGADRO, C_INVALID_INDEX, CEvaluationNode::CALL, CEvaluationNode::CEIL, CEvaluationNode::CHOICE, CEvaluationNode::CN, CNodeContextIterator< Node, Context >::context(), copyBranch(), CEvaluationNode::copyNode(), createNodeFromObject(), CObjectInterface::DataObject(), CEvaluationNode::DEFAULT, CNodeContextIterator< Node, Context >::end(), CEvaluationNode::EXPRESSION, CEvaluationNode::FLOOR, CEvaluationNode::FUNCTION, CEvaluationNodeCall::getCalledTree(), CEvaluationNodeVariable::getIndex(), getMathObject(), getObject(), CEvaluationNodeObject::getObjectCN(), CEvaluationNodeObject::getObjectInterfacePtr(), CEvaluationNodeObject::getObjectValuePtr(), CEvaluationTree::getRoot(), CEvaluationNode::IF, CEvaluationNode::MODULUS, mpAvogadro, CEvaluationNode::NaN, CNodeContextIterator< Node, Context >::next(), CEvaluationNode::OBJECT, CEvaluationNode::OPERATOR, CNodeContextIterator< Node, Context >::parentContextPtr(), CEvaluationNode::POINTER, CEvaluationNode::REMAINDER, replaceDiscontinuousNode(), and CEvaluationNode::VARIABLE.

◆ createApplyInitialValuesSequence()

◆ createDelays()

◆ createDependencyGraphs()

◆ createDiscontinuityDataEvent()

void CMathContainer::createDiscontinuityDataEvent ( const CEvaluationNode pNode)
private

◆ createDiscontinuityEvents() [1/2]

void CMathContainer::createDiscontinuityEvents ( )
private

Create an event of type CEvent::Discontinuity for each discontinuity in the model

References CModel::getTreesWithDiscontinuities(), mpModel, and CEvaluationNode::NaN.

Referenced by allocate().

◆ createDiscontinuityEvents() [2/2]

◆ createDiscontinuityTriggerInfix()

std::string CMathContainer::createDiscontinuityTriggerInfix ( const CEvaluationNode pNode)
private

◆ createNodeFromObject()

CEvaluationNode * CMathContainer::createNodeFromObject ( const CObjectInterface pMathObject)
private

Create a node based on the given pointer to the math object

Parameters
constCObjectInterface * pMathObject
Returns
CEvaluationNode * pNode

References C_FLOAT64, CObjectInterface::getDataObject(), CObjectInterface::getValuePointer(), mDataValue2DataObject, and CEvaluationNode::NaN.

Referenced by copyBranch().

◆ createNodeFromValue()

CEvaluationNode * CMathContainer::createNodeFromValue ( const C_FLOAT64 pDataValue)
private

Create a node based on the given pointer to a data value

Parameters
constC_FLOAT64 * pDataValue
Returns
CEvaluationNode * pNode

References C_FLOAT64, getMathObject(), CMathObject::getValuePointer(), and CEvaluationNode::NaN.

◆ createRelocation()

void CMathContainer::createRelocation ( const size_t &  oldSize,
const size_t &  newSize,
CMath::sRelocate relocate,
std::vector< CMath::sRelocate > &  relocations,
const bool &  modifiedAtEnd = true 
)
staticprivate

Modify the current relocation information based on old and new sizes. If appropriate append the relocation information to the vector of relocations. The size modification can appear at the beginning or the end of the current section.

Parameters
constsize_t & oldSize
constsize_t & newSize
CMath::sRelocate& currentRelocation
std::vector<CMath::sRelocate > & relocations
constbool & modifiedAtEnd (Default: true)

References min, CMath::sRelocate::offset, CMath::sRelocate::pObjectEnd, CMath::sRelocate::pObjectStart, CMath::sRelocate::pValueEnd, and CMath::sRelocate::pValueStart.

Referenced by createRelocations(), and ignoreDiscontinuityEvent().

◆ createRelocations()

◆ createSynchronizeInitialValuesSequence()

◆ createUpdateAllTransientDataValuesSequence()

void CMathContainer::createUpdateAllTransientDataValuesSequence ( )
private

◆ createUpdateSequences()

◆ createUpdateSimulationValuesSequence()

◆ createValueChangeProhibited()

◆ deregisterUpdateSequence()

void CMathContainer::deregisterUpdateSequence ( CMathUpdateSequence pUpdateSequence)

◆ fetchInitialState()

◆ fetchState()

void CMathContainer::fetchState ( )

◆ finishResize()

void CMathContainer::finishResize ( )
private

◆ getApplyInitialValuesSequence()

const CCore::CUpdateSequence & CMathContainer::getApplyInitialValuesSequence ( ) const

Retrieve the sequence for applying the initial values to the transient values.

Returns
CCore::CUpdateSequence & applyInitialValuesSequence

References mApplyInitialValuesSequence.

◆ getCN()

CCommonName CMathContainer::getCN ( ) const
virtual

Retrieve the CN of the math container The math container provides values for the numerical values of model objects. For the CN mechanism to work properly it has to pretend to be the model.

Returns
CCommonName

Reimplemented from CDataObject.

References CDataObject::getCN(), and mpModel.

◆ getCompartment()

CMathObject * CMathContainer::getCompartment ( const CMathObject pObject) const

◆ getCompleteInitialState()

const CVectorCore< C_FLOAT64 > & CMathContainer::getCompleteInitialState ( ) const

Retrieves the complete initial state values, i.e., all initial values including all internal values.

Returns
const CVectorCore< C_FLOAT64 > & initialState

References mCompleteInitialState.

Referenced by COptProblem::adjustStartValuesForIntervals(), CFitProblem::calculate(), CFitProblem::calculateCrossValidation(), CFitProblem::createParameterSets(), CFitProblem::initialize(), and CFitProblem::updateInitialState().

◆ getCountAssignments()

const size_t & CMathContainer::getCountAssignments ( ) const

Retrieve the count of assignments

Returns
const size_t & countDependentSpecies

References mSize, and CMathContainer::sSize::nAssignment.

Referenced by CTimeSeries::compile().

◆ getCountDependentSpecies()

◆ getCountFixed()

const size_t & CMathContainer::getCountFixed ( ) const

Retrieve the count of fixed values, i.e., parameters

Returns
const size_t & countDependentSpecies

References mSize, and CMathContainer::sSize::nFixed.

Referenced by CTimeSensMethod::calculate_dInitialState_dPar(), CTimeSeries::compile(), CFitProblem::initialize(), and CCopasiTask::restore().

◆ getCountFixedEventTargets()

const size_t & CMathContainer::getCountFixedEventTargets ( ) const

Retrieve the count of fixed values which are changed through events

Returns
const size_t & countFixedEventTargets

References mSize, and CMathContainer::sSize::nFixedEventTargets.

Referenced by CSteadyStateMethod::allPositive(), CTimeSensMethod::calculate_dAssignments_dState(), CTimeSensMethod::calculate_dInitialState_dPar(), CTimeSensMethod::calculate_dRate_dPar(), CLNAMethod::calculateCovarianceMatrixReduced(), CMCAMethod::calculateUnscaledElasticities(), CTimeSeries::compile(), CMathEvent::compile(), CAnalyticsTask::eventCallBack(), CCrossSectionTask::eventCallBack(), CTimeSensLsodaMethod::hasStateChanged(), CLsodaMethod::hasStateChanged(), CRadau5Method::hasStateChanged(), CFitProblem::initialize(), CNewtonMethod::initialize(), CSteadyStateMethod::initialize(), CTSSATask::initialize(), CTimeSensMethod::initResult(), CTrajectoryMethodDsaLsodar::CPartition::intialize(), CLyapTask::process(), CSteadyStateTask::process(), CTimeSensTask::processStart(), CTrajectoryTask::processStart(), CAnalyticsTask::relativeDifferenceOfStates(), CCrossSectionTask::relativeDifferenceOfStates(), CCopasiTask::restore(), CMCAMethod::scaleMCA(), CTimeSensMethod::signalMathContainerChanged(), CTimeSensTask::signalMathContainerChanged(), CTrajectoryMethod::signalMathContainerChanged(), CTrajectoryTask::signalMathContainerChanged(), CLyapWolfMethod::start(), CMathEventQueue::start(), CTimeSensLsodaMethod::start(), CHybridMethod::start(), CHybridMethodODE45::start(), CLsodaMethod::start(), CLsodaMethod2::start(), CRadau5Method::start(), CStochasticRungeKuttaRI5::start(), CStochMethod::start(), CTauLeapMethod::start(), CTrajAdaptiveSA::start(), CTrajectoryMethod::start(), CTrajectoryMethodDsaLsodar::start(), CTSSAMethod::start(), CTimeSensLsodaMethod::stateChange(), CLsodaMethod::stateChange(), CLsodaMethod2::stateChange(), CRadau5Method::stateChange(), CStochDirectMethod::stateChange(), CTimeSensLsodaMethod::step(), CLsodaMethod::step(), CRadau5Method::step(), and CSteadyStateTask::updateMatrices().

◆ getCountIndependentSpecies()

◆ getCountNoise()

size_t CMathContainer::getCountNoise ( ) const

Retrieve the count of noise added to the system

Returns
size_t countNoise

References mNoiseInputObjects.

Referenced by CStochasticRungeKuttaRI5::start().

◆ getCountODEs()

◆ getDataObject()

CDataObject * CMathContainer::getDataObject ( const C_FLOAT64 pDataValue) const

Retrieve a pointer to the data object for a data value pointer

Parameters
constC_FLOAT64 * pDataValue
Returns
CDataObject * pDataObject

References C_FLOAT64, and mDataValue2DataObject.

Referenced by CEvaluationNodeObject::compile().

◆ getDelayLags()

const CVectorCore< C_FLOAT64 > & CMathContainer::getDelayLags ( ) const

Retrieve the vector of delay lags

Returns
const CVectorCore< C_FLOAT64 > & delayLags

References mDelayLags.

◆ getEntityType()

CMath::EntityType CMathContainer::getEntityType ( const CModelEntity pEntity)
staticprivate

Determine the entity type of an entity

Parameters
constCModelEntity * pEntity
Returns
CMath::EntityType entityType

References CMath::Compartment, CMath::GlobalQuantity, CMath::Species, and CMath::Undefined.

Referenced by initializeMathObjects().

◆ getEvents()

◆ getFluxes()

const CVectorCore< C_FLOAT64 > & CMathContainer::getFluxes ( ) const

Retrieve reaction fluxes.

Returns
const CVectorCore< C_FLOAT64 > & fluxes

References mFluxes.

Referenced by CHybridMethodODE45::partitionSystem(), and CMCAMethod::scaleMCA().

◆ getHistory()

const CMathHistoryCore & CMathContainer::getHistory ( const bool &  reduced) const

Retrieves the state values, i.e., all values of objects of simulation type EventTarget, Time, ODE, Dependent, and Independent. It includes only extensive values for species.

Parameters
constbool & reduced
Returns
const CMathHistoryCore & history

References mHistory, and mHistoryReduced.

◆ getInitialDependencies()

◆ getInitialState() [1/2]

CVectorCore< C_FLOAT64 > & CMathContainer::getInitialState ( )

Retrieves the initial state values, i.e., all initial values of objects of simulation type Fixed, Time, ODE, Dependent, and Independent. It includes only extensive values for species.

Returns
CVectorCore< C_FLOAT64 > & initialState

References mInitialState.

◆ getInitialState() [2/2]

const CVectorCore< C_FLOAT64 > & CMathContainer::getInitialState ( ) const

Retrieves the initial state values, i.e., all initial values of objects of simulation type Fixed, Time, ODE, Dependent, and Independent. It includes only extensive values for species.

Returns
const CVectorCore< C_FLOAT64 > & initialState

References mInitialState.

Referenced by CScanMethod::calculate(), CTimeSensMethod::calculate_dInitialState_dPar(), CFitProblem::createParameterSets(), CScanMethod::init(), CFitProblem::initialize(), CCopasiTask::initialize(), and CCopasiTask::restore().

◆ getInitialStateObjects()

const CObjectInterface::ObjectSet & CMathContainer::getInitialStateObjects ( ) const

◆ getInitialValueObject()

CMathObject * CMathContainer::getInitialValueObject ( const CMathObject pObject) const

Retrieve the pointer to the corresponding initial value

Parameters
constCMathObject * pObject
Returns
CMathObject * pInitialValueObject

References getInitialValuePointer(), getMathObject(), and CMathObject::getValue().

Referenced by CModel::appendAllDependents(), CMathObject::compileParticleFlux(), and removeDataObject().

◆ getInitialValuePointer()

◆ getLargestReactionCompartment()

CMathObject * CMathContainer::getLargestReactionCompartment ( const CMathReaction pReaction) const

Retrieve the size of the largest compartment of the species changed in the reaction

Parameters
constCMathReaction * pReaction
Returns
CMathObject * pLargestCompartment

References C_FLOAT64, getCompartment(), CMathReaction::getObjectBalance(), and CMathObject::getValuePointer().

Referenced by CMCAMethod::scaleMCA().

◆ getMathObject() [1/3]

CMathObject * CMathContainer::getMathObject ( const C_FLOAT64 pDataValue) const

Retrieve a pointer to the mathematical object for data value pointer

Parameters
constC_FLOAT64 * pDataValue
Returns
CMathObject * pMathObject

References CVectorCore< CType >::array(), C_FLOAT64, mDataValue2MathObject, mObjects, mValues, and CVectorCore< CType >::size().

◆ getMathObject() [2/3]

CMathObject * CMathContainer::getMathObject ( const CCommonName cn) const

Retrieve a pointer to the mathematical object for the given CN

Parameters
constCCommonName & cn
Returns
CMathObject * pMathObject

References getMathObject(), CDataContainer::getObject(), and mpModel.

◆ getMathObject() [3/3]

CMathObject * CMathContainer::getMathObject ( const CObjectInterface pObject) const

Retrieve a pointer to the corresponding the mathematical object for the given object if it exists otherwise NULL

Parameters
constCObjectInterface * pObject
Returns
CMathObject * pMathObject

References mDataObject2MathObject.

Referenced by addAnalysisEvent(), CSteadyStateMethod::allPositive(), analyzeRoots(), CModel::appendAllDependents(), CModel::appendDirectDependents(), applyInitialValues(), CModel::buildInitialRefreshSequence(), CLNAMethod::calculateCovarianceMatrixReduced(), calculateElasticityDependencies(), calculateJacobianDependencies(), CMCAMethod::calculateUnscaledElasticities(), compile(), CEvaluationNodeObject::compile(), CMathObject::compile(), CTimeSeries::compile(), CMathEvent::CAssignment::compile(), CExperiment::compile(), CMathObject::compileDependentMass(), CMathObject::compileInitialValue(), CMathObject::compileParticleFlux(), CMathObject::compilePropensity(), CMathObject::compileReactionNoise(), CMathObject::compileTotalMass(), CMathObject::compileTransitionTime(), CMathObject::compileValue(), copyBranch(), createApplyInitialValuesSequence(), createDelays(), CAnalyticsTask::createEvent(), CMathObject::createExtensiveReactionNoiseExpression(), CMathObject::createExtensiveReactionRateExpression(), CMathObject::createIntensiveRateExpression(), createNodeFromValue(), createSynchronizeInitialValuesSequence(), CMathEvent::createUpdateSequences(), createUpdateSimulationValuesSequence(), createValueChangeProhibited(), CCSPMethod::cspstep(), fetchState(), getCompartment(), getInitialValueObject(), getMathObject(), getMathReaction(), getObject(), CModelParameterGroup::getObjectUnit(), CUnitValidator::getObjectUnit(), CEvaluationNodeObject::getUnit(), CEvaluationNodeOperator::getUnit(), getValueObject(), CMathReaction::initialize(), CNewtonMethod::initialize(), CSensMethod::initialize(), initializeAtolVector(), CTimeSensMethod::initializeDerivativesCalculations(), CMathDerive::initOneVar(), CTimeSensMethod::initResult(), CMCAMethod::isValidProblem(), processRoots(), pushAllTransientValues(), pushInitialState(), pushState(), removeAnalysisEvent(), removeDataObject(), sanitizeDataValue2DataObject(), CMCAMethod::scaleMCA(), CStochasticRungeKuttaRI5::start(), CStochDirectMethod::start(), CStochMethod::start(), CTauLeapMethod::start(), CTrajAdaptiveSA::start(), CTrajectoryMethodDsaLsodar::start(), and CSteadyStateTask::updateMatrices().

◆ getMathReaction()

CMathReaction * CMathContainer::getMathReaction ( const CReaction pReaction) const

Retrieve a pointer to the corresponding the mathematical reaction for the given reaction if it exists otherwise NULL

Parameters
constCObjectInterface * pObject
Returns
CMathReaction * pMathReaction

References CVectorCore< CType >::array(), C_FLOAT64, CReaction::getFluxReference(), getMathObject(), CMathObject::getValuePointer(), mFluxes, and mReactions.

Referenced by CHybridMethodODE45::partitionSystem().

◆ getModel()

const CModel & CMathContainer::getModel ( ) const

Retrieve the model for the container

Returns
const CModel & model

References mpModel.

Referenced by CSteadyStateMethod::allPositive(), CLNAMethod::calculateCovarianceMatrixFull(), CTimeSeries::compile(), CMathObject::compilePropensity(), CMathObject::compileTransitionTime(), COutputAssistant::createDefaultOutput(), CAnalyticsTask::createEvent(), CCrossSectionTask::createEvent(), CMathObject::createExtensiveReactionNoiseExpression(), CMathObject::createExtensiveReactionRateExpression(), CMCAMethod::createLinkMatrix(), CFitProblem::createParameterSet(), CCSPMethod::CSPOutput(), CILDMMethod::deuflhard(), CEFMTask::getInternalSpecies(), CMCAMethod::getModel(), CEFMTask::getNetReaction(), CEvaluationNodeDelay::getUnit(), CBitPatternMethod::initialize(), CBitPatternTreeMethod::initialize(), CEFMAlgorithm::initialize(), CCSPMethod::initializeOutput(), CEFMMethod::isValidProblem(), CLNAMethod::isValidProblem(), CMCAMethod::isValidProblem(), CHybridMethod::isValidProblem(), CStochDirectMethod::isValidProblem(), CStochMethod::isValidProblem(), CTauLeapMethod::isValidProblem(), CTrajAdaptiveSA::isValidProblem(), CTrajectoryMethodDsaLsodar::isValidProblem(), CTSSAMethod::isValidProblem(), CILDMMethod::newton(), CCSPMethod::printResult(), CILDMModifiedMethod::printResult(), CEFMProblem::printResult(), CMoietiesProblem::printResult(), CMoietiesMethod::process(), CLNAMethod::resizeAllMatrices(), CMCAMethod::resizeAllMatrices(), CCSPMethod::setAnnotationM(), CILDMMethod::setAnnotationM(), CILDMModifiedMethod::setAnnotationM(), CEvaluationNodeDelay::setUnit(), CTrajectoryMethodDsaLsodar::start(), CCSPMethod::start(), CTSSAMethod::start(), and CILDMMethod::step().

◆ getNoise()

const CVectorCore< C_FLOAT64 > & CMathContainer::getNoise ( const bool &  reduced) const

Retrieve the noise simulation type EventTarget, Time, ODE, Dependent, (and Independent).

Parameters
constbool & reduced
Returns
const CVectorCore< C_FLOAT64 > & noise

References mExtensiveNoise, and mNoiseReduced.

Referenced by CStochasticRungeKuttaRI5::start().

◆ getNoiseInputObjects()

const CObjectInterface::ObjectSet & CMathContainer::getNoiseInputObjects ( ) const

ARetrieve the set of noise input objects

Returns
const CObjectInterface::ObjectSet & noiseInputObjects

References mNoiseInputObjects.

Referenced by CStochasticRungeKuttaRI5::start().

◆ getNoiseSequence()

const CCore::CUpdateSequence & CMathContainer::getNoiseSequence ( const bool &  useMoieties) const

Retrieve the sequence for calculating all noise values.

Parameters
constbool & useMoieties
Returns
CCore::CUpdateSequence & synchronizeInitialValuesSequence

References mNoiseSequence, and mNoiseSequenceReduced.

◆ getObject()

◆ getObjectFromCN()

const CObjectInterface * CMathContainer::getObjectFromCN ( const CCommonName cn) const
virtual

Retrieve a object by its full CN.

Parameters
constCCommonName & cn
Returns
const CObjectInterface * pObject

References CDataObject::getObjectDataModel(), CObjectInterface::GetObjectFromCN(), and mpModel.

◆ getParticleFluxes()

const CVectorCore< C_FLOAT64 > & CMathContainer::getParticleFluxes ( ) const

◆ getProcessQueue()

CMathEventQueue & CMathContainer::getProcessQueue ( )

Retrieve the event processing queue.

Returns
CMathEventQueue & eventQueue

References mpProcessQueue.

Referenced by CMathEvent::fire().

◆ getProcessQueueExecutionTime()

C_FLOAT64 CMathContainer::getProcessQueueExecutionTime ( ) const

Retrieve the next execution time scheduled in the process queue

Returns
C_FLOAT64 processQueueExecutionTime

References CMathEventQueue::getProcessQueueExecutionTime(), and mpProcessQueue.

Referenced by CTimeSensTask::processStep(), and CTrajectoryTask::processStep().

◆ getPropensities()

const CVectorCore< C_FLOAT64 > & CMathContainer::getPropensities ( ) const

◆ getQuantity2NumberFactor()

const C_FLOAT64 & CMathContainer::getQuantity2NumberFactor ( ) const

Retrieve the Quantity to Number conversion factor

Returns
C_FLOAT64 & quantity2NumberFactor

References C_FLOAT64, CDataObject::getValuePointer(), and mpQuantity2NumberFactor.

Referenced by CMathEvent::CAssignment::compile(), CNewtonMethod::targetFunctionDistance(), and CNewtonMethod::targetFunctionRate().

◆ getQuantity2NumberFactorObject()

const CObjectInterface * CMathContainer::getQuantity2NumberFactorObject ( ) const

Retrieve the Quantity to Number conversion factor

Returns
const CObjectInterface * quantity2NumberFactorObject

References mpQuantity2NumberFactor.

Referenced by CMathObject::compile().

◆ getRandomGenerator()

◆ getRandomObject()

const CDataObject * CMathContainer::getRandomObject ( ) const

Retrieve the object which triggers recalculation of random functions

References mRandom.

Referenced by CMathDependencyGraph::getUpdateSequence().

◆ getRate()

const CVectorCore< C_FLOAT64 > & CMathContainer::getRate ( const bool &  reduced) const

Retrieve the rate of state values, i.e., all initial values of objects of simulation type EventTarget, Time, ODE, Dependent, and Independent. It includes only extensive values for species.

Parameters
constbool & reduced
Returns
const CVectorCore< C_FLOAT64 > & rate

References mRate, and mRateReduced.

Referenced by CTimeSensMethod::calculate_dRate_dPar(), CAnalyticsTask::createEvent(), CLsodaMethod::evalF(), CLsodaMethod2::evalF(), CRadau5Method::evalF(), CTrajectoryMethodDsaLsodar::evalF(), CNewtonMethod::initialize(), CLyapWolfMethod::start(), CTimeSensLsodaMethod::start(), CHybridMethod::start(), CHybridMethodODE45::start(), CLsodaMethod::start(), CLsodaMethod2::start(), CRadau5Method::start(), CStochasticRungeKuttaRI5::start(), and CTSSAMethod::start().

◆ getReactions() [1/2]

◆ getReactions() [2/2]

const CVectorCore< CMathReaction > & CMathContainer::getReactions ( ) const

Retrieve the reactions

Returns
const CVectorCore< CMathReaction > & reactions

References mReactions.

◆ getRootIsDiscrete()

◆ getRootIsTimeDependent()

const CVectorCore< bool > & CMathContainer::getRootIsTimeDependent ( ) const

Retrieve a vector of Boolean values indicating whether a root time dependent

References mRootIsTimeDependent.

Referenced by CHybridMethodODE45::checkRoots(), and CStochDirectMethod::checkRoots().

◆ getRootProcessors()

CVector< CMathEvent::CTrigger::CRootProcessor * > & CMathContainer::getRootProcessors ( )

Retrieve a vector of pointers to root processors

References mRootProcessors.

Referenced by CMathEventQueue::rootsFound().

◆ getRoots()

◆ getSimulationUpToDateObjects()

◆ getSimulationValuesSequence()

const CCore::CUpdateSequence & CMathContainer::getSimulationValuesSequence ( const bool &  useMoieties) const

Retrieve the sequence for calculating all values needed for the simulation.

Parameters
constbool & useMoieties
Returns
CCore::CUpdateSequence & synchronizeInitialValuesSequence

References mSimulationValuesSequence, and mSimulationValuesSequenceReduced.

Referenced by CODEExporter::exportObjectNodesFromModel().

◆ getState()

const CVectorCore< C_FLOAT64 > & CMathContainer::getState ( const bool &  reduced) const

Retrieves the state values, i.e., all values of objects of simulation type EventTarget, Time, ODE, Dependent, and Independent. It includes only extensive values for species.

Parameters
constbool & reduced
Returns
const CVectorCore< C_FLOAT64 > & state

References mState, and mStateReduced.

Referenced by CTimeSensMethod::calculate_dAssignments_dState(), CLNAMethod::calculateCovarianceMatrixReduced(), calculateElasticityDependencies(), calculateJacobian(), calculateJacobianDependencies(), CMCAMethod::calculateUnscaledElasticities(), CTimeSeries::compile(), CMathEvent::compile(), CAnalyticsTask::createEvent(), CTrajAdaptiveSA::doSingleTauLeapStep(), CLsodaMethod::evalF(), CLsodaMethod2::evalF(), CRadau5Method::evalF(), CTimeSensLsodaMethod::evalR(), CLsodaMethod::evalR(), CRadau5Method::evalR(), CAnalyticsTask::eventCallBack(), CAnalyticsTask::finish(), CScanMethod::init(), CSteadyStateMethod::initialize(), CTSSATask::initialize(), CSteadyStateTask::initialize(), initializeAtolVector(), CTimeSensMethod::initResult(), CTrajectoryMethodDsaLsodar::CPartition::intialize(), CMathEventQueue::process(), CLyapTask::process(), CTimeSensTask::process(), CAnalyticsTask::process(), CSteadyStateTask::process(), CTimeSensTask::processStart(), CTrajectoryTask::processStart(), CTSSATask::processStart(), CTimeSensTask::processStep(), CTrajectoryTask::processStep(), CTrajectoryTask::processTrajectory(), CTrajectoryTask::processValues(), CCopasiTask::restore(), CSteadyStateTask::restore(), CSteadyStateMethod::returnProcess(), CMCAMethod::scaleMCA(), CTimeSensMethod::signalMathContainerChanged(), CTimeSensTask::signalMathContainerChanged(), CTrajectoryMethod::signalMathContainerChanged(), CTrajectoryTask::signalMathContainerChanged(), CLyapWolfMethod::start(), CMathEventQueue::start(), CHybridMethod::start(), CTrajectoryMethod::start(), CTSSAMethod::start(), CModel::stateToIntialState(), CLsodaMethod2::step(), CTimeSensLsodaMethod::step(), CLsodaMethod::step(), CRadau5Method::step(), and CSteadyStateTask::updateMatrices().

◆ getStateObjects()

◆ getStoichiometry()

const CMatrix< C_FLOAT64 > & CMathContainer::getStoichiometry ( const bool &  reduced = false) const

Retrieve the stoichiometry matrix

Parameters
constbool & reduced (default: false)
Returns
const CMatrix< C_FLOAT64 > & stoichiometry

References CModel::getRedStoi(), CModel::getStoi(), and mpModel.

Referenced by CCSPMethod::CSPImportanceIndex(), CCSPMethod::CSPParticipationIndex(), and CCSPMethod::CSPradicalPointer().

◆ getSynchronizeInitialValuesSequence()

const CCore::CUpdateSequence & CMathContainer::getSynchronizeInitialValuesSequence ( const CCore::Framework framework) const

Retrieve the sequence for synchronizing all transient values for the given framework.

Parameters
constCCore::Framework & framework
Returns
CCore::CUpdateSequence & synchronizeInitialValuesSequence

References CCore::__SIZE, CCore::Concentration, mSynchronizeInitialValuesSequenceExtensive, mSynchronizeInitialValuesSequenceIntensive, and CCore::ParticleNumbers.

◆ getTotalMasses()

const CVectorCore< C_FLOAT64 > & CMathContainer::getTotalMasses ( ) const

Retrieve the total masses of the moieties.

Returns
const CVectorCore< C_FLOAT64 > & totalMasses

References mTotalMasses.

Referenced by CMathEvent::createUpdateSequences().

◆ getTransientDataValueSequence()

const CCore::CUpdateSequence & CMathContainer::getTransientDataValueSequence ( ) const

Retrieve the sequence for updating all transient values.

Returns
CCore::CUpdateSequence & transientDataValueSequence

References mTransientDataObjectSequence.

◆ getTransientDependencies()

◆ getValueChangeProhibited()

const CObjectInterface::ObjectSet & CMathContainer::getValueChangeProhibited ( ) const

Retrieve the objects for which the intial value change is prohibitied.

Returns
CObjectInterface::ObjectSet & initialValueChangeProhibited

References mValueChangeProhibited.

◆ getValueObject()

CMathObject * CMathContainer::getValueObject ( const CMathObject pInitialObject) const

Retrieve the pointer to the corresponding value object

Parameters
constCMathObject * pInitialObject
Returns
CMathObject * pValueObject

References getMathObject(), CMathObject::getValue(), and CDataObject::getValuePointer().

◆ getValuePointer()

C_FLOAT64 * CMathContainer::getValuePointer ( const C_FLOAT64 pInitialValue) const

Retrieve the pointer to the corresponding value

Parameters
constC_FLOAT64 * pInitialValue
Returns
C_FLOAT64 * pvalue

References CVectorCore< CType >::begin(), C_FLOAT64, CVectorCore< CType >::end(), CDataObject::getDataObject(), mExtensiveValues, and mValues.

◆ getValues() [1/2]

CVectorCore< C_FLOAT64 > & CMathContainer::getValues ( )

Retrieve the values of all mathematical objects

Returns
CVectorCore< C_FLOAT64 > & values

References mValues.

◆ getValues() [2/2]

const CVectorCore< C_FLOAT64 > & CMathContainer::getValues ( ) const

Retrieve the values of all mathematical objects

Returns
const CVectorCore< C_FLOAT64 > & values

References mValues.

Referenced by CScanMethod::calculate(), CTSSAMethod::calculateDerivatives(), and CMathDerive::initOneVar().

◆ ignoreDiscontinuityEvent()

◆ initializeAtolVector()

◆ initializeDiscontinuousCreationPointer()

void CMathContainer::initializeDiscontinuousCreationPointer ( )
private

◆ initializeEvents()

void CMathContainer::initializeEvents ( CMath::sPointers pointers)
private

◆ initializeMathObjects() [1/4]

void CMathContainer::initializeMathObjects ( const CDataVector< CMoiety > &  moieties,
CMath::sPointers p 
)
private

◆ initializeMathObjects() [2/4]

◆ initializeMathObjects() [3/4]

void CMathContainer::initializeMathObjects ( const std::vector< const CDataObject * > &  parameters,
CMath::sPointers p 
)
private

◆ initializeMathObjects() [4/4]

void CMathContainer::initializeMathObjects ( const std::vector< const CModelEntity * > &  entities,
const CMath::SimulationType simulationType,
CMath::sPointers pointers 
)
private

Initialize several mathematical objects of a common simulation type and advance relevant pointers

Parameters
conststd::vector<const CModelEntity*> & entities
constCMath::SimulationType & simulationType
sPointers& pointers

References CMath::Assignment, CMath::Conversion, CMath::Dependent, CMath::EventTarget, CMath::Fixed, CMetab::getConcentrationRateReference(), CMetab::getConcentrationReference(), getEntityType(), CMetab::getInitialConcentrationReference(), CModelEntity::getInitialExpression(), CMetab::getIntensiveNoiseReference(), CMetab::getTransitionTimeReference(), CMath::Independent, CMathObject::initialize(), CMath::Noise, CMath::ODE, CMath::sPointers::pExtensiveNoise, CMath::sPointers::pExtensiveNoiseObject, CMath::sPointers::pExtensiveRates, CMath::sPointers::pExtensiveRatesObject, CMath::sPointers::pExtensiveValues, CMath::sPointers::pExtensiveValuesObject, CMath::sPointers::pInitialExtensiveRates, CMath::sPointers::pInitialExtensiveRatesObject, CMath::sPointers::pInitialExtensiveValues, CMath::sPointers::pInitialExtensiveValuesObject, CMath::sPointers::pInitialIntensiveRates, CMath::sPointers::pInitialIntensiveRatesObject, CMath::sPointers::pInitialIntensiveValues, CMath::sPointers::pInitialIntensiveValuesObject, CMath::sPointers::pIntensiveNoise, CMath::sPointers::pIntensiveNoiseObject, CMath::sPointers::pIntensiveRates, CMath::sPointers::pIntensiveRatesObject, CMath::sPointers::pIntensiveValues, CMath::sPointers::pIntensiveValuesObject, CMath::sPointers::pTransitionTime, CMath::sPointers::pTransitionTimeObject, CMath::Rate, CMath::Species, CMath::TransitionTime, and CMath::Value.

Referenced by initializeObjects().

◆ initializeObjects()

void CMathContainer::initializeObjects ( CMath::sPointers pointers)
private

Initialize the objects

Parameters
sPointers& pointers

References CObjectLists::ALL_LOCAL_PARAMETER_VALUES, CMath::Assignment, CModelEntity::ASSIGNMENT, CStateTemplate::beginDependent(), CStateTemplate::beginFixed(), CStateTemplate::beginIndependent(), CMath::Dependent, CMath::Discontinuous, CStateTemplate::endDependent(), CStateTemplate::endFixed(), CStateTemplate::endIndependent(), CMath::Event, CMath::EventTarget, CMath::Fixed, CObjectLists::getEventTargets(), CModelEntity::getInitialValueReference(), CObjectLists::getListOfConstObjects(), CModel::getMoieties(), CModelEntity::getRateReference(), CModel::getReactions(), CModel::getStateTemplate(), CModelEntity::getStatus(), CModelEntity::getValueReference(), CMath::Independent, CMathObject::initialize(), initializeMathObjects(), mDiscontinuous, CMath::Model, mpModel, mSize, CMathContainer::sSize::nAssignment, CMathContainer::sSize::nDiscontinuities, CMathContainer::sSize::nFixed, CMathContainer::sSize::nFixedEventTargets, CMathContainer::sSize::nMoieties, CMathContainer::sSize::nODE, CMathContainer::sSize::nODESpecies, CMathContainer::sSize::nReactionSpecies, CMath::ODE, CModelEntity::ODE, CMath::sPointers::pDiscontinuous, CMath::sPointers::pDiscontinuousObject, CMath::sPointers::pExtensiveRates, CMath::sPointers::pExtensiveRatesObject, CMath::sPointers::pExtensiveValues, CMath::sPointers::pExtensiveValuesObject, CMath::sPointers::pInitialExtensiveRates, CMath::sPointers::pInitialExtensiveRatesObject, CMath::sPointers::pInitialExtensiveValues, CMath::sPointers::pInitialExtensiveValuesObject, CMath::Rate, CModelEntity::REACTIONS, CVectorCore< CType >::size(), CMath::Time, CMath::Undefined, and CMath::Value.

Referenced by compile().

◆ initializePointers()

void CMathContainer::initializePointers ( CMath::sPointers pointers)
private

Initialize the pointers

Parameters
sPointers& pointers

References CVectorCore< CType >::array(), C_FLOAT64, mDelayLags, mDelayValues, mDependentMasses, mDiscontinuous, mEventAssignments, mEventDelays, mEventPriorities, mEventRoots, mEventRootStates, mEventTriggers, mExtensiveNoise, mExtensiveRates, mExtensiveValues, mFluxes, mInitialEventTriggers, mInitialExtensiveRates, mInitialExtensiveValues, mInitialFluxes, mInitialIntensiveRates, mInitialIntensiveValues, mInitialParticleFluxes, mInitialTotalMasses, mIntensiveNoise, mIntensiveRates, mIntensiveValues, mObjects, mParticleFluxes, mPropensities, mReactionNoise, mReactionParticleNoise, mTotalMasses, mTransitionTimes, mValues, CMath::sPointers::pDelayLag, CMath::sPointers::pDelayLagObject, CMath::sPointers::pDelayValue, CMath::sPointers::pDelayValueObject, CMath::sPointers::pDependentMasses, CMath::sPointers::pDependentMassesObject, CMath::sPointers::pDiscontinuous, CMath::sPointers::pDiscontinuousObject, CMath::sPointers::pEventAssignments, CMath::sPointers::pEventAssignmentsObject, CMath::sPointers::pEventDelays, CMath::sPointers::pEventDelaysObject, CMath::sPointers::pEventPriorities, CMath::sPointers::pEventPrioritiesObject, CMath::sPointers::pEventRoots, CMath::sPointers::pEventRootsObject, CMath::sPointers::pEventRootStates, CMath::sPointers::pEventRootStatesObject, CMath::sPointers::pEventTriggers, CMath::sPointers::pEventTriggersObject, CMath::sPointers::pExtensiveNoise, CMath::sPointers::pExtensiveNoiseObject, CMath::sPointers::pExtensiveRates, CMath::sPointers::pExtensiveRatesObject, CMath::sPointers::pExtensiveValues, CMath::sPointers::pExtensiveValuesObject, CMath::sPointers::pFluxes, CMath::sPointers::pFluxesObject, CMath::sPointers::pInitialEventTriggers, CMath::sPointers::pInitialEventTriggersObject, CMath::sPointers::pInitialExtensiveRates, CMath::sPointers::pInitialExtensiveRatesObject, CMath::sPointers::pInitialExtensiveValues, CMath::sPointers::pInitialExtensiveValuesObject, CMath::sPointers::pInitialFluxes, CMath::sPointers::pInitialFluxesObject, CMath::sPointers::pInitialIntensiveRates, CMath::sPointers::pInitialIntensiveRatesObject, CMath::sPointers::pInitialIntensiveValues, CMath::sPointers::pInitialIntensiveValuesObject, CMath::sPointers::pInitialParticleFluxes, CMath::sPointers::pInitialParticleFluxesObject, CMath::sPointers::pInitialTotalMasses, CMath::sPointers::pInitialTotalMassesObject, CMath::sPointers::pIntensiveNoise, CMath::sPointers::pIntensiveNoiseObject, CMath::sPointers::pIntensiveRates, CMath::sPointers::pIntensiveRatesObject, CMath::sPointers::pIntensiveValues, CMath::sPointers::pIntensiveValuesObject, CMath::sPointers::pParticleFluxes, CMath::sPointers::pParticleFluxesObject, CMath::sPointers::pPropensities, CMath::sPointers::pPropensitiesObject, CMath::sPointers::pReactionNoise, CMath::sPointers::pReactionNoiseObject, CMath::sPointers::pReactionParticleNoise, CMath::sPointers::pReactionParticleNoiseObject, CMath::sPointers::pTotalMasses, CMath::sPointers::pTotalMassesObject, CMath::sPointers::pTransitionTime, and CMath::sPointers::pTransitionTimeObject.

Referenced by addAnalysisEvent(), compile(), and removeAnalysisEvent().

◆ isAutonomous()

const bool & CMathContainer::isAutonomous ( ) const

Check whether the model is autonomous

Returns
const bool &isAutonomous

References mIsAutonomous.

Referenced by CModel::compile(), CNewtonMethod::isValidProblem(), CSteadyStateTask::process(), CCopasiTask::restore(), and CNewtonMethod::targetFunctionDistance().

◆ isStateValid()

◆ map()

void CMathContainer::map ( )
private

◆ move()

◆ operator==()

bool CMathContainer::operator== ( const CMathContainer rhs)

Check whether 2 container would genereate equivalent results

References mCompileTime, and mpModel.

◆ processQueue()

CMath::StateChange CMathContainer::processQueue ( const bool &  equality)

Process events scheduled at the given which a are checked for equality or not

Parameters
constbool & equality
Returns
CMath::StateChange stateChange

References mpProcessQueue, and CMathEventQueue::process().

Referenced by CTimeSensTask::process(), CTimeSensTask::processStep(), CTrajectoryTask::processStep(), CTrajectoryTask::processTrajectory(), and CTrajectoryTask::processValues().

◆ processRoots() [1/2]

void CMathContainer::processRoots ( const bool &  equality,
const CVector< C_INT > &  rootsFound 
)

◆ processRoots() [2/2]

void CMathContainer::processRoots ( const CVector< C_INT > &  rootsFound)

Check whether the roots which have value 1 lead to firing of events and schedule them if needed.

Parameters
constCVector< C_INT > & rootsFound

References CVectorCore< CType >::array(), C_FLOAT64, C_INT, CMathObject::calculateValue(), CMathEvent::fire(), getMathObject(), mEvents, mEventTriggers, mRootProcessors, mSize, mState, CMathContainer::sSize::nFixedEventTargets, and CVectorCore< CType >::size().

◆ pushAllTransientValues()

◆ pushInitialState()

◆ pushState()

void CMathContainer::pushState ( )

◆ registerUpdateSequence()

void CMathContainer::registerUpdateSequence ( CMathUpdateSequence pUpdateSequence)

Register and update sequence.

Parameters
CMathUpdateSequence* pUpdateSequence

References mUpdateSequences, and CMathUpdateSequence::setMathContainer().

Referenced by CMathUpdateSequence::setMathContainer().

◆ relocate()

void CMathContainer::relocate ( const sSize size,
const std::vector< CMath::sRelocate > &  Relocations 
)
private

Relocate the objects. This works only if you relocate objects down in the existing location or out of space.

Parameters
constsSize & size
conststd::vector< CMath::sRelocate > & Relocations

References CVectorCore< CType >::array(), CMathHistoryCore::array(), C_FLOAT64, CMathHistoryCore::initialize(), CVectorCore< CType >::initialize(), mCompleteInitialState, mDelayLags, mDelays, mDelayValues, mDependentMasses, mDiscontinuous, mEventAssignments, mEventDelays, mEventPriorities, mEventRoots, mEventRootStates, mEvents, mEventTriggers, mExtensiveNoise, mExtensiveRates, mExtensiveValues, mFluxes, mHistory, mHistoryReduced, mInitialDependencies, mInitialEventTriggers, mInitialExtensiveRates, mInitialExtensiveValues, mInitialFluxes, mInitialIntensiveRates, mInitialIntensiveValues, mInitialParticleFluxes, mInitialState, mInitialStateValueAll, mInitialStateValueExtensive, mInitialStateValueIntensive, mInitialTotalMasses, mIntensiveNoise, mIntensiveRates, mIntensiveValues, mNoiseInputObjects, mNoiseReduced, mOldObjects, mOldValues, mParticleFluxes, mpProcessQueue, mPropensities, mRate, mRateReduced, mReactionNoise, mReactionParticleNoise, mReactions, mReducedStateValues, mRootIsDiscrete, mRootIsTimeDependent, mRootProcessors, mSimulationRequiredValues, mSize, mState, mStateReduced, mStateValues, mTotalMasses, mTransientDependencies, mTransitionTimes, mUpdateSequences, mValueChangeProhibited, mValues, CMathContainer::sSize::nAssignment, CMathContainer::sSize::nDelayLags, CMathContainer::sSize::nDelayValues, CMathContainer::sSize::nDiscontinuities, CMathContainer::sSize::nEventAssignments, CMathContainer::sSize::nEventRoots, CMathContainer::sSize::nEvents, CMathContainer::sSize::nFixed, CMathContainer::sSize::nFixedEventTargets, CMathContainer::sSize::nIntensiveValues, CMathContainer::sSize::nMoieties, CMathContainer::sSize::nODE, CMathContainer::sSize::nODESpecies, CMathContainer::sSize::nReactions, CMathContainer::sSize::nReactionSpecies, CMathContainer::sSize::nTime, CMathContainer::sSize::pValue, CMathObject::relocate(), CMathDependencyGraph::relocate(), relocateObject(), relocateObjectSet(), relocateUpdateSequence(), relocateValue(), relocateVector(), CMathHistory::resize(), CVector< CType >::resize(), CVectorCore< CType >::size(), and CMathEventQueue::start().

Referenced by addAnalysisEvent(), ignoreDiscontinuityEvent(), move(), and removeAnalysisEvent().

◆ relocateObject() [1/4]

void CMathContainer::relocateObject ( CMathObject *&  pObject,
const std::vector< CMath::sRelocate > &  relocations 
) const

◆ relocateObject() [2/4]

◆ relocateObject() [3/4]

void CMathContainer::relocateObject ( const CMathObject *&  pObject,
const std::vector< CMath::sRelocate > &  relocations 
) const

References relocateObject().

◆ relocateObject() [4/4]

void CMathContainer::relocateObject ( const CObjectInterface *&  pObject,
const std::vector< CMath::sRelocate > &  relocations 
) const

References relocateObject().

◆ relocateObjectSet()

void CMathContainer::relocateObjectSet ( CObjectInterface::ObjectSet objectSet,
const std::vector< CMath::sRelocate > &  relocations 
) const

◆ relocateUpdateSequence()

void CMathContainer::relocateUpdateSequence ( CCore::CUpdateSequence sequence,
const std::vector< CMath::sRelocate > &  relocations 
) const

◆ relocateValue() [1/2]

◆ relocateValue() [2/2]

void CMathContainer::relocateValue ( const C_FLOAT64 *&  pValue,
const std::vector< CMath::sRelocate > &  relocations 
) const

References C_FLOAT64, and relocateValue().

◆ relocateVector()

template<class CType >
void CMathContainer::relocateVector ( CVectorCore< CType > &  vector,
size_t  size,
const std::vector< CMath::sRelocate > &  relocations 
)
inlineprivate

◆ removeAnalysisEvent()

bool CMathContainer::removeAnalysisEvent ( CMathEvent *&  pMathEvent)

◆ removeAnalysisObject()

◆ removeDataObject()

void CMathContainer::removeDataObject ( const CDataObject pObject)

◆ replaceDiscontinuousNode()

◆ resetNoise()

void CMathContainer::resetNoise ( )

◆ resize()

◆ sanitizeDataValue2DataObject()

void CMathContainer::sanitizeDataValue2DataObject ( )
private

Remove data objects which have a representation in the math container

References getMathObject(), and mDataValue2DataObject.

Referenced by createUpdateSequences().

◆ setCompleteInitialState()

void CMathContainer::setCompleteInitialState ( const CVectorCore< C_FLOAT64 > &  initialState)

Set the complete initial state values, i.e., all initial values including all internal values.

Parameters
constCVectorCore< C_FLOAT64 > & initialState

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

Referenced by COptProblem::adjustStartValuesForIntervals(), CFitProblem::calculate(), CFitProblem::calculateCrossValidation(), and CFitProblem::createParameterSets().

◆ setHistory()

void CMathContainer::setHistory ( const CMathHistoryCore history)

Set all the history values needed for calculation.

Parameters
constCMathHistoryCore & history

References CMathHistoryCore::cols(), mHistory, mHistoryReduced, CMathHistoryCore::rows(), and CMathHistoryCore::size().

◆ setInitialState()

void CMathContainer::setInitialState ( const CVectorCore< C_FLOAT64 > &  initialState)

Set the initial state values, i.e., all initial values of objects of simulation type Fixed, Time, ODE, Dependent, and Independent. It includes only extensive values for species.

Parameters
constCVectorCore< C_FLOAT64 > & initialState

References CVectorCore< CType >::array(), C_FLOAT64, mInitialState, mSize, mState, CMathContainer::sSize::nFixed, and CVectorCore< CType >::size().

Referenced by CScanMethod::calculate(), CFitProblem::createParameterSets(), CCopasiTask::restore(), CSteadyStateTask::restore(), and CModel::stateToIntialState().

◆ setState()

◆ setValues()

void CMathContainer::setValues ( const CVectorCore< C_FLOAT64 > &  values)

Set the values of all mathematical objects

Parameters
constCVectorCore< C_FLOAT64 > & values

References mValues, and CVectorCore< CType >::size().

Referenced by CTSSAMethod::calculateDerivatives().

◆ updateHistoryValues()

void CMathContainer::updateHistoryValues ( const bool &  useMoieties)

Calculate all historic values required for delayed differential equations

Parameters
constbool & useMoieties

References CVectorCore< CType >::array(), CMathDelay::calculateDelayValues(), CMathHistoryCore::getRow(), mDelays, mHistory, mHistoryReduced, setState(), and CVectorCore< CType >::size().

◆ updateInitialValues()

◆ updateNoiseValues()

void CMathContainer::updateNoiseValues ( const bool &  useMoieties)

Calculate all noise valuse based on the current state

Parameters
constbool & useMoieties

References applyUpdateSequence(), mNoiseSequence, and mNoiseSequenceReduced.

◆ updatePriorityValues()

void CMathContainer::updatePriorityValues ( )

Calculate all dependent initial values based on initial extensive or intensive values

References applyUpdateSequence(), and mPrioritySequence.

Referenced by CMathEventQueue::process().

◆ updateRootValues()

◆ updateSimulatedValues()

void CMathContainer::updateSimulatedValues ( const bool &  useMoieties)

Calculate all values required for simulation based on the current state

Parameters
constbool & useMoieties

References applyUpdateSequence(), mSimulationValuesSequence, and mSimulationValuesSequenceReduced.

Referenced by CSteadyStateMethod::allPositive(), CModel::applyInitialValues(), CLyapWolfMethod::calculate(), CHybridMethod::calculateDerivative(), CTSSAMethod::calculateDerivatives(), CNewtonMethod::calculateDerivativesX(), calculateJacobian(), CMCAMethod::calculateUnscaledElasticities(), CLsodaMethod2::createRootMask(), CStochasticRungeKuttaRI5::createRootMask(), CLsodaMethod2::destroyRootMask(), CStochasticRungeKuttaRI5::destroyRootMask(), CILDMMethod::deuflhard(), CTrajAdaptiveSA::doSingleTauLeapStep(), CLyapWolfMethod::evalF(), CTimeSensLsodaMethod::evalF(), CHybridMethodODE45::evalF(), CLsodaMethod::evalF(), CLsodaMethod2::evalF(), CRadau5Method::evalF(), CTrajectoryMethodDsaLsodar::evalF(), CStochasticRungeKuttaRI5::evalRate(), CLsodaMethod2::evalRoot(), CAnalyticsTask::eventCallBack(), CCrossSectionTask::eventCallBack(), CHybridMethodODE45::fireReaction(), CHybridMethodODE45::integrateDeterministicPart(), CHybridNextReactionRKMethod::integrateDeterministicPart(), CTrajectoryMethodDsaLsodar::integrateDeterministicPart(), CTimeSensMethod::output(), CTrajectoryMethod::output(), CLyapTask::process(), CTimeSensTask::process(), CTSSATask::process(), CAnalyticsTask::process(), CCrossSectionTask::process(), CSteadyStateTask::process(), CTSSATask::processStep(), CTimeSensTask::processStep(), CTrajectoryTask::processStep(), CTrajectoryTask::processTrajectory(), CTrajectoryTask::processValues(), CCopasiTask::restore(), CSteadyStateTask::restore(), CMathEvent::setTargetValues(), CStochMethod::start(), CTauLeapMethod::start(), CTrajAdaptiveSA::start(), CTrajectoryMethodDsaLsodar::start(), CCSPMethod::start(), CTimeSensLsodaMethod::stateChange(), CLsodaMethod::stateChange(), CRadau5Method::stateChange(), CStochDirectMethod::stateChange(), CCSPMethod::step(), CILDMMethod::step(), CILDMModifiedMethod::step(), CTimeSensLsodaMethod::step(), CHybridMethod::step(), CLsodaMethod::step(), CTauLeapMethod::step(), CNewtonMethod::targetFunction(), and CHybridMethod::updatePriorityQueue().

◆ updateTransientDataValues()

Member Data Documentation

◆ mApplyInitialValuesSequence

CCore::CUpdateSequence CMathContainer::mApplyInitialValuesSequence
private

The sequence of updates needed to apply the initial values

Referenced by allocate(), applyInitialValues(), createApplyInitialValuesSequence(), and getApplyInitialValuesSequence().

◆ mCompileTime

std::chrono::steady_clock::time_point CMathContainer::mCompileTime
private

The compile time of the container needed to indicate whther copies are out sync.

Referenced by compile(), and operator==().

◆ mCompleteInitialState

CVectorCore< C_FLOAT64 > CMathContainer::mCompleteInitialState
private

The initial state contains additionally all computed internal values

Referenced by getCompleteInitialState(), relocate(), and setCompleteInitialState().

◆ mCreateDiscontinuousPointer

sDiscontinuous CMathContainer::mCreateDiscontinuousPointer
private

Structure of pointers used for creating discontinuities.

Referenced by compileEvents(), initializeDiscontinuousCreationPointer(), and replaceDiscontinuousNode().

◆ mDataObject2MathObject

std::map< const CDataObject *, CMathObject * > CMathContainer::mDataObject2MathObject
private

A map from data objects to math objects

Referenced by allocate(), getMathObject(), initializeAtolVector(), map(), and move().

◆ mDataValue2DataObject

std::map< C_FLOAT64 *, CDataObject * > CMathContainer::mDataValue2DataObject
private

◆ mDataValue2MathObject

std::map< C_FLOAT64 *, CMathObject * > CMathContainer::mDataValue2MathObject
private

A map from data objects values to math objects

Referenced by allocate(), getMathObject(), map(), and move().

◆ mDelayLags

◆ mDelays

CVectorCore< CMathDelay > CMathContainer::mDelays
private

◆ mDelayValues

CVectorCore< C_FLOAT64 > CMathContainer::mDelayValues
private

◆ mDependentMasses

CVectorCore< C_FLOAT64 > CMathContainer::mDependentMasses
private

Referenced by initializePointers(), and relocate().

◆ mDiscontinuityEvents

CDataVector< CEvent > CMathContainer::mDiscontinuityEvents
private

A vector of data events for discontinuities

Referenced by allocate(), compile(), compileEvents(), createDiscontinuityDataEvent(), and initializeEvents().

◆ mDiscontinuityInfix2Object

std::map< std::string, CMathObject * > CMathContainer::mDiscontinuityInfix2Object
private

A map from the infix of the expression of a discontinuity to the object representing it.

Referenced by compile(), and replaceDiscontinuousNode().

◆ mDiscontinuous

◆ mEventAssignments

CVectorCore< C_FLOAT64 > CMathContainer::mEventAssignments
private

Referenced by initializePointers(), and relocate().

◆ mEventDelays

◆ mEventPriorities

CVectorCore< C_FLOAT64 > CMathContainer::mEventPriorities
private

◆ mEventRoots

◆ mEventRootStates

◆ mEvents

◆ mEventTriggers

◆ mExtensiveNoise

◆ mExtensiveRates

◆ mExtensiveValues

◆ mFluxes

◆ mHistory

CMathHistory CMathContainer::mHistory
private

The full history needed for the calculation of delayed differential equations

Referenced by createDelays(), getHistory(), relocate(), setHistory(), and updateHistoryValues().

◆ mHistoryReduced

CMathHistoryCore CMathContainer::mHistoryReduced
private

The reduced history needed for the calculation of delayed differential equations

Referenced by getHistory(), relocate(), setHistory(), and updateHistoryValues().

◆ mInitialDependencies

◆ mInitialEventTriggers

CVectorCore< C_FLOAT64 > CMathContainer::mInitialEventTriggers
private

◆ mInitialExtensiveRates

CVectorCore< C_FLOAT64 > CMathContainer::mInitialExtensiveRates
private

◆ mInitialExtensiveValues

◆ mInitialFluxes

CVectorCore< C_FLOAT64 > CMathContainer::mInitialFluxes
private

Referenced by initializePointers(), and relocate().

◆ mInitialIntensiveRates

CVectorCore< C_FLOAT64 > CMathContainer::mInitialIntensiveRates
private

Referenced by initializePointers(), and relocate().

◆ mInitialIntensiveValues

CVectorCore< C_FLOAT64 > CMathContainer::mInitialIntensiveValues
private

◆ mInitialParticleFluxes

CVectorCore< C_FLOAT64 > CMathContainer::mInitialParticleFluxes
private

Referenced by initializePointers(), and relocate().

◆ mInitialState

CVectorCore< C_FLOAT64 > CMathContainer::mInitialState
private

The initial state contains also all fixed values

Referenced by fetchInitialState(), getInitialState(), initializeAtolVector(), relocate(), and setInitialState().

◆ mInitialStateValueAll

CObjectInterface::ObjectSet CMathContainer::mInitialStateValueAll
private

All initial state values (intensive and extensive)

Referenced by allocate(), createSynchronizeInitialValuesSequence(), getInitialStateObjects(), and relocate().

◆ mInitialStateValueExtensive

CObjectInterface::ObjectSet CMathContainer::mInitialStateValueExtensive
private

The set of objects which determine the initial state of the model based on extensive values

Referenced by allocate(), createApplyInitialValuesSequence(), createSynchronizeInitialValuesSequence(), and relocate().

◆ mInitialStateValueIntensive

CObjectInterface::ObjectSet CMathContainer::mInitialStateValueIntensive
private

The set of objects which determine the initial state of the model based on intensive values

Referenced by allocate(), createSynchronizeInitialValuesSequence(), and relocate().

◆ mInitialTotalMasses

CVectorCore< C_FLOAT64 > CMathContainer::mInitialTotalMasses
private

◆ mIntensiveNoise

CVectorCore< C_FLOAT64 > CMathContainer::mIntensiveNoise
private

◆ mIntensiveRates

CVectorCore< C_FLOAT64 > CMathContainer::mIntensiveRates
private

Referenced by initializePointers(), and relocate().

◆ mIntensiveValues

CVectorCore< C_FLOAT64 > CMathContainer::mIntensiveValues
private

Referenced by initializePointers(), and relocate().

◆ mIsAutonomous

bool CMathContainer::mIsAutonomous
private

A flag indicating whether the model is autonomous.

Referenced by createUpdateSimulationValuesSequence(), and isAutonomous().

◆ mNoiseInputObjects

CObjectInterface::ObjectSet CMathContainer::mNoiseInputObjects
private

The objects from which the noise originates

Referenced by addNoiseInputObject(), compileObjects(), getCountNoise(), getNoiseInputObjects(), and relocate().

◆ mNoiseReduced

CVectorCore< C_FLOAT64 > CMathContainer::mNoiseReduced
private

The noise contains the mean values for entities of type ODE, Independent

Referenced by getNoise(), and relocate().

◆ mNoiseSequence

CCore::CUpdateSequence CMathContainer::mNoiseSequence
private

The sequence of updates needed to calculate all noise values based on the assumption that all state values may have changed

Referenced by allocate(), createUpdateSimulationValuesSequence(), getNoiseSequence(), and updateNoiseValues().

◆ mNoiseSequenceReduced

CCore::CUpdateSequence CMathContainer::mNoiseSequenceReduced
private

The sequence of updates needed to calculate all noise values based on the assumption that all reduced state values may have changed

Referenced by allocate(), createUpdateSimulationValuesSequence(), getNoiseSequence(), and updateNoiseValues().

◆ mNumTotalRootsIgnored

size_t CMathContainer::mNumTotalRootsIgnored
private

The total number of ignored event roots.

Referenced by compileEvents(), and ignoreDiscontinuityEvent().

◆ mObjects

◆ mOldObjects

CVectorCore< CMathObject > CMathContainer::mOldObjects
private

◆ mOldValues

CVectorCore< C_FLOAT64 > CMathContainer::mOldValues
private

◆ mParticleFluxes

CVectorCore< C_FLOAT64 > CMathContainer::mParticleFluxes
private

◆ mpAvogadro

const CDataObject* CMathContainer::mpAvogadro
private

◆ mpModel

◆ mpObjectsBuffer

CMathObject* CMathContainer::mpObjectsBuffer
private

Referenced by move(), and ~CMathContainer().

◆ mpProcessQueue

◆ mpQuantity2NumberFactor

◆ mpRandomGenerator

CRandom* CMathContainer::mpRandomGenerator
private

◆ mPrioritySequence

CCore::CUpdateSequence CMathContainer::mPrioritySequence
private

The sequence of updates needed to calculate all priorities on the assumption that all state values may have changed

Referenced by allocate(), createUpdateSimulationValuesSequence(), and updatePriorityValues().

◆ mPropensities

CVectorCore< C_FLOAT64 > CMathContainer::mPropensities
private

◆ mpValuesBuffer

C_FLOAT64* CMathContainer::mpValuesBuffer
private

Referenced by move(), and ~CMathContainer().

◆ mRandom

CDataObjectReference< C_FLOAT64 > CMathContainer::mRandom
private

Referenced by getRandomObject().

◆ mRate

CVectorCore< C_FLOAT64 > CMathContainer::mRate
private

The rate contains derivatives for values of type EventTarget, Time, ODE, Independent, and Dependent

Referenced by calculateJacobian(), calculateJacobianDependencies(), calculateRootDerivatives(), calculateRootJacobian(), getRate(), and relocate().

◆ mRateReduced

CVectorCore< C_FLOAT64 > CMathContainer::mRateReduced
private

The reduced rate derivatives for contains values of type EventTarget, Time, ODE, Independent

Referenced by getRate(), and relocate().

◆ mReactionNoise

CVectorCore< C_FLOAT64 > CMathContainer::mReactionNoise
private

◆ mReactionParticleNoise

CVectorCore< C_FLOAT64 > CMathContainer::mReactionParticleNoise
private

◆ mReactions

CVectorCore< CMathReaction > CMathContainer::mReactions
private

A vector containing all math reactions.

Referenced by allocate(), compile(), getMathReaction(), getReactions(), relocate(), and ~CMathContainer().

◆ mReducedStateValues

CObjectInterface::ObjectSet CMathContainer::mReducedStateValues
private

The set of objects which determine the transient state of the reduced model

Referenced by allocate(), createUpdateSimulationValuesSequence(), getStateObjects(), and relocate().

◆ mRootCount2Events

std::multimap< size_t, size_t > CMathContainer::mRootCount2Events
private

A map of root counts to math events.

Referenced by allocate(), compile(), compileEvents(), and replaceDiscontinuousNode().

◆ mRootDerivatives

CVector< C_FLOAT64 > CMathContainer::mRootDerivatives
private

The root derivatives calculated for mRootDerivativesState

Referenced by analyzeRoots(), and applyInitialValues().

◆ mRootDerivativesState

CVector< C_FLOAT64 > CMathContainer::mRootDerivativesState
private

The state for which the root derivatives are calculated

Referenced by analyzeRoots(), and applyInitialValues().

◆ mRootIsDiscrete

CVector< bool > CMathContainer::mRootIsDiscrete
private

A vector of Boolean values indicating whether a root is changing continuously or only during discrete event processing.

Referenced by analyzeRoots(), getRootIsDiscrete(), ignoreDiscontinuityEvent(), and relocate().

◆ mRootIsTimeDependent

CVector< bool > CMathContainer::mRootIsTimeDependent
private

A vector of Boolean values indicating whether a root is non time dependent.

Referenced by analyzeRoots(), getRootIsTimeDependent(), ignoreDiscontinuityEvent(), and relocate().

◆ mRootProcessors

CVector< CMathEvent::CTrigger::CRootProcessor * > CMathContainer::mRootProcessors
private

A vector of pointers to all objects values CMathEventN::CTrigger::CRootProcessor

Referenced by analyzeRoots(), applyInitialValues(), getRootProcessors(), ignoreDiscontinuityEvent(), processRoots(), and relocate().

◆ mRootSequence

CCore::CUpdateSequence CMathContainer::mRootSequence
private

The sequence of updates needed to calculate all roots on the assumption that all state values may have changed

Referenced by createUpdateSimulationValuesSequence(), and updateRootValues().

◆ mRootSequenceReduced

CCore::CUpdateSequence CMathContainer::mRootSequenceReduced
private

The sequence of updates needed to calculate all roots on the assumption that all state values may have changed

Referenced by createUpdateSimulationValuesSequence(), and updateRootValues().

◆ mSimulationRequiredValues

CObjectInterface::ObjectSet CMathContainer::mSimulationRequiredValues
private

The objects which are required to be up to date for simulation of the full model, i.e., the right hand side of ODEs, rates of species determined by reaction, and event roots.

Referenced by allocate(), createUpdateAllTransientDataValuesSequence(), createUpdateSimulationValuesSequence(), getSimulationUpToDateObjects(), and relocate().

◆ mSimulationValuesSequence

CCore::CUpdateSequence CMathContainer::mSimulationValuesSequence
private

The sequence of updates needed to calculate all simulation required values based on the assumption that all state values may have changed

Referenced by allocate(), createUpdateSimulationValuesSequence(), getSimulationValuesSequence(), and updateSimulatedValues().

◆ mSimulationValuesSequenceReduced

CCore::CUpdateSequence CMathContainer::mSimulationValuesSequenceReduced
private

The sequence of updates needed to calculate all simulation required values based on the assumption that all state values may have changed

Referenced by allocate(), createUpdateSimulationValuesSequence(), getSimulationValuesSequence(), and updateSimulatedValues().

◆ mSize

◆ mState

◆ mStateReduced

CVectorCore< C_FLOAT64 > CMathContainer::mStateReduced
private

The reduced state contains values of type EventTarget, Time, ODE, Independent

Referenced by getState(), and relocate().

◆ mStateValues

CObjectInterface::ObjectSet CMathContainer::mStateValues
private

The set of objects which determine the transient state of the model

Referenced by allocate(), areObjectsConstant(), createUpdateAllTransientDataValuesSequence(), createUpdateSimulationValuesSequence(), getStateObjects(), and relocate().

◆ mSynchronizeInitialValuesSequenceExtensive

CCore::CUpdateSequence CMathContainer::mSynchronizeInitialValuesSequenceExtensive
private

The sequence of updates needed to synchronize the initial values based on extensive values, i.e., species amounts

Referenced by allocate(), createSynchronizeInitialValuesSequence(), getSynchronizeInitialValuesSequence(), and updateInitialValues().

◆ mSynchronizeInitialValuesSequenceIntensive

CCore::CUpdateSequence CMathContainer::mSynchronizeInitialValuesSequenceIntensive
private

The sequence of updates needed to synchronize the initial values based on intensive values, i.e., species concentrations.

Referenced by allocate(), createSynchronizeInitialValuesSequence(), getSynchronizeInitialValuesSequence(), and updateInitialValues().

◆ mTotalMasses

CVectorCore< C_FLOAT64 > CMathContainer::mTotalMasses
private

◆ mTransientDataObjectSequence

CCore::CUpdateSequence CMathContainer::mTransientDataObjectSequence
private

The sequence of updates needed to calculate all objects which have data object associated on the assumption that all state values may have changed

Referenced by allocate(), createUpdateAllTransientDataValuesSequence(), getTransientDataValueSequence(), and updateTransientDataValues().

◆ mTransientDependencies

◆ mTransitionTimes

CVectorCore< C_FLOAT64 > CMathContainer::mTransitionTimes
private

Referenced by initializePointers(), and relocate().

◆ mTriggerInfix2Event

std::map< std::string, CMathEvent * > CMathContainer::mTriggerInfix2Event
private

A map from the discontinuity trigger infix of to event representing it.

Referenced by compile(), and replaceDiscontinuousNode().

◆ mUpdateSequences

std::set< CMathUpdateSequence * > CMathContainer::mUpdateSequences
private

Pointers to all update sequences associated with this container;

Referenced by allocate(), deregisterUpdateSequence(), registerUpdateSequence(), relocate(), and ~CMathContainer().

◆ mValueChangeProhibited

CObjectInterface::ObjectSet CMathContainer::mValueChangeProhibited
private

A set of object for which changing the initial value is prohibeted;

Referenced by createSynchronizeInitialValuesSequence(), createUpdateSimulationValuesSequence(), createValueChangeProhibited(), getValueChangeProhibited(), and relocate().

◆ mValues


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