COPASI API  4.40.278
CStochasticRungeKuttaRI5 Class Reference

#include <CStochasticRungeKuttaRI5.h>

Inheritance diagram for CStochasticRungeKuttaRI5:
[legend]

Public Member Functions

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

Private Member Functions

void buildStage1 ()
 
void buildStage2 ()
 
void buildStage3 ()
 
C_FLOAT64 calculateSmallestPhysicalValue () const
 
void calculateStateVariables (const double &time)
 
void createRootMask ()
 
 CStochasticRungeKuttaRI5 ()
 
void destroyRootMask ()
 
void evalNoise (C_FLOAT64 *pNoise, const size_t &noiseDimension)
 
void evalRate (C_FLOAT64 *rates)
 
void generateRandomNumbers ()
 
void initializeParameter ()
 
CTrajectoryMethod::Status internalStep ()
 
C_FLOAT64 randomIHat ()
 
C_FLOAT64 randomITilde ()
 

Private Attributes

CMatrix< C_FLOAT64mA
 
CVector< C_FLOAT64mAtol
 
CVector< CMatrix< C_FLOAT64 > > mB
 
CVector< CMatrix< C_FLOAT64 > > mBB
 
CVectorCore< C_FLOAT64mContainerNoise
 
CVectorCore< C_FLOAT64mContainerRates
 
CVectorCore< C_FLOAT64mContainerRoots
 
CVectorCore< C_FLOAT64mContainerVariables
 
CVector< C_FLOAT64mH10
 
CVector< C_FLOAT64mH20
 
CMatrix< C_FLOAT64mH2k
 
CVector< C_FLOAT64mH30
 
CMatrix< C_FLOAT64mH3k
 
CMatrix< C_FLOAT64mHH2k
 
CMatrix< C_FLOAT64mHH3k
 
size_t mInternalSteps
 
C_FLOAT64 mLastCalculatedTime
 
CVector< C_FLOAT64mLastCalculatedVariables
 
CVector< C_FLOAT64 * > mNoiseInputValues
 
CVector< CCore::CUpdateSequencemNoiseUpdateSequences
 
size_t mNumNoise
 
size_t mNumRoots
 
size_t mNumVariables
 
C_FLOAT64mpAbsoluteTolerance
 
bool * mpForcePhysicalCorrectness
 
CVector< bool > mPhysicalValues
 
C_FLOAT64mpInternalStepSize
 
unsigned C_INT32mpMaxInternalSteps
 
C_INTmpPhysicalCorrectnessRootFound
 
CRandommpRandom
 
C_FLOAT64mpRootRelativeTolerance
 
CRootFinder::EvalmpRootValueCalculator
 
CVector< C_FLOAT64mRandomIHat
 
CMatrix< C_FLOAT64mRandomIMatrix
 
CVector< C_FLOAT64mRandomITilde
 
size_t mRootCounter
 
CRootFinder mRootFinder
 
CVector< C_INTmRootMask
 
CRootFinder::RootMasking mRootMasking
 
CVectorCore< C_FLOAT64mRoots
 
C_FLOAT64 mSqrtStepSize
 
C_FLOAT64 mStepSize
 
CVector< C_FLOAT64mSumAll1
 
CVector< C_FLOAT64mSumAll2
 
CMatrix< C_FLOAT64mSumPartial1
 
CMatrix< C_FLOAT64mSumPartial2
 
C_FLOAT64 mTargetDelta
 
C_FLOAT64 mTargetTime
 
C_FLOAT64 mTime
 

Additional Inherited Members

- Public Types inherited from CTrajectoryMethod
enum  Status { FAILURE = -1 , NORMAL = 0 , ROOT = 1 }
 
- Public Types inherited from CCopasiParameterGroup
typedef CDataObjectMap::const_type_iterator< CCopasiParameterconst_name_iterator
 
typedef std::vector< CCopasiParameter * > elements
 
typedef elements::iterator index_iterator
 
typedef CDataObjectMap::type_iterator< CCopasiParametername_iterator
 
- Public Types inherited from CCopasiParameter
enum class  eUserInterfaceFlag { editable , basic , unsupported , __SIZE }
 
enum class  Type {
  DOUBLE = 0 , UDOUBLE , INT , UINT ,
  BOOL , GROUP , STRING , CN ,
  KEY , FILE , EXPRESSION , INVALID ,
  __SIZE
}
 
typedef CFlags< eUserInterfaceFlagUserInterfaceFlag
 
- Public Types inherited from CDataContainer
typedef CDataObjectMap objectMap
 
- Public Types inherited from CDataObject
typedef std::set< const CDataObject * > DataObjectSet
 
enum  Flag {
  Container , Vector , Matrix , NameVector ,
  Reference , ValueBool , ValueInt , ValueInt64 ,
  ValueDbl , NonUniqueName , StaticString , ValueString ,
  Separator , DisplayName , ModelEntity , Array ,
  DataModel , Root , Gui , __SIZE
}
 
- Public Types inherited from CObjectInterface
typedef std::vector< const CDataContainer * > ContainerList
 
typedef std::set< const CObjectInterface * > ObjectSet
 
- Static Public Member Functions inherited from CCopasiParameter
static void allocateValidValues (const Type &type, void *&pValidValues)
 
static void allocateValue (const Type &type, void *&pValue)
 
static void assignValue (const Type &type, void *&pValue, const void *pNewValue)
 
static void deleteValidValues (const Type &type, void *&pValidValues)
 
static void deleteValue (const Type &type, void *&pValue)
 
static CCopasiParameterfromData (const CData &data, CUndoObjectInterface *pParent)
 
- Static Public Member Functions inherited from CDataContainer
static CDataContainerfromData (const CData &data, CUndoObjectInterface *pParent)
 
- Static Public Member Functions inherited from CDataObject
static CDataObjectfromData (const CData &data, CUndoObjectInterface *pParent)
 
static void sanitizeObjectName (std::string &name)
 
- Static Public Member Functions inherited from CObjectInterface
static const CDataObjectDataObject (const CObjectInterface *pInterface)
 
static CObjectInterfaceGetObjectFromCN (const ContainerList &listOfContainer, const CCommonName &objName)
 
- Static Public Member Functions inherited from CUndoObjectInterface
template<class CType >
static CType * fromData (const CData &, CUndoObjectInterface *)
 
- Static Public Attributes inherited from CCopasiParameter
static const CEnumAnnotation< std::string, TypeTypeName
 
static const CEnumAnnotation< std::string, TypeXMLType
 
- Static Public Attributes inherited from CDataContainer
static const CObjectInterface::ContainerList EmptyList
 
- Protected Member Functions inherited from CTrajectoryMethod
void output (const bool &useMoieties)
 
virtual void signalMathContainerChanged ()
 
- Protected Member Functions inherited from CCopasiMethod
 CCopasiMethod (const CCopasiMethod &src)
 
 CCopasiMethod (const CDataContainer *pParent, const CTaskEnum::Method &methodType, const CTaskEnum::Task &taskType)
 
- Protected Member Functions inherited from CCopasiParameterGroup
 CCopasiParameterGroup ()
 
- Protected Member Functions inherited from CCopasiParameter
 CCopasiParameter (const CCopasiParameter &src)
 
- Protected Member Functions inherited from CDataContainer
template<class CType >
CDataMatrixReference< CType > * addMatrixReference (const std::string &name, CType &reference, const CFlags< Flag > &flag=CFlags< Flag >::None)
 
template<class CType >
CDataObjectReference< CType > * addObjectReference (const std::string &name, CType &reference, const CFlags< Flag > &flag=CFlags< Flag >::None)
 
template<class CType >
CDataVectorReference< CType > * addVectorReference (const std::string &name, CType &reference, const CFlags< Flag > &flag=CFlags< Flag >::None)
 
 CDataContainer (const CDataContainer &src)
 
void initObjects ()
 
- Protected Member Functions inherited from CDataObject
 CDataObject ()
 
 CDataObject (const std::string &name, const CDataContainer *pParent=static_cast< CDataContainer * >((void *) 0), const std::string &type="CN", const CFlags< Flag > &flag=CFlags< Flag >::None)
 
- Protected Attributes inherited from CTrajectoryMethod
CVectorCore< C_FLOAT64mContainerState
 
C_FLOAT64mpContainerStateTime
 
CTrajectoryProblemmpProblem
 
const bool * mpReducedModel
 
CTrajectoryTaskmpTask
 
CVectorCore< C_INTmRootsFound
 
- Protected Attributes inherited from CCopasiMethod
CMathContainermpContainer
 
CProcessReportLevel mProcessReport
 
- Protected Attributes inherited from CCopasiParameter
std::string mKey
 
void * mpDefault
 
void * mpValidValues
 
void * mpValue
 
CDataObjectmpValueReference
 
UserInterfaceFlag mUserInterfaceFlag
 
- Protected Attributes inherited from CDataContainer
objectMap mObjects
 
- Protected Attributes inherited from CDataObject
ObjectSet mPrerequisits
 
std::set< CDataContainer * > mReferences
 
- Protected Attributes inherited from CObjectInterface
CValidity mValidity
 
- Static Protected Attributes inherited from CTrajectoryMethod
static const bool ReducedModel
 

Constructor & Destructor Documentation

◆ CStochasticRungeKuttaRI5() [1/3]

CStochasticRungeKuttaRI5::CStochasticRungeKuttaRI5 ( )
private

Constructor.

◆ CStochasticRungeKuttaRI5() [2/3]

CStochasticRungeKuttaRI5::CStochasticRungeKuttaRI5 ( const CDataContainer pParent,
const CTaskEnum::Method methodType = CTaskEnum::Method::stochasticRunkeKuttaRI5,
const CTaskEnum::Task taskType = CTaskEnum::Task::timeCourse 
)

Specific constructor

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

References evalRoot(), initializeParameter(), and mpRootValueCalculator.

◆ CStochasticRungeKuttaRI5() [3/3]

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

Copy constructor.

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

References CVectorCore< CType >::initialize(), initializeParameter(), mContainerNoise, mContainerRates, mContainerRoots, mContainerVariables, and mRoots.

◆ ~CStochasticRungeKuttaRI5()

CStochasticRungeKuttaRI5::~CStochasticRungeKuttaRI5 ( )

Destructor.

Member Function Documentation

◆ buildStage1()

◆ buildStage2()

◆ buildStage3()

◆ calculateSmallestPhysicalValue()

C_FLOAT64 CStochasticRungeKuttaRI5::calculateSmallestPhysicalValue ( ) const
private

◆ calculateStateVariables()

◆ createRootMask()

◆ destroyRootMask()

◆ elevateChildren()

bool CStochasticRungeKuttaRI5::elevateChildren ( )
virtual

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

Returns
bool success

Reimplemented from CCopasiParameterGroup.

References initializeParameter().

◆ evalNoise()

void CStochasticRungeKuttaRI5::evalNoise ( C_FLOAT64 pNoise,
const size_t &  noiseDimension 
)
private

◆ evalRate()

void CStochasticRungeKuttaRI5::evalRate ( C_FLOAT64 rates)
private

◆ evalRoot()

◆ generateRandomNumbers()

◆ initializeParameter()

◆ internalStep()

◆ randomIHat()

C_FLOAT64 CStochasticRungeKuttaRI5::randomIHat ( )
private

References CRandom::getRandomU(), and mpRandom.

Referenced by generateRandomNumbers().

◆ randomITilde()

C_FLOAT64 CStochasticRungeKuttaRI5::randomITilde ( )
private

References CRandom::getRandomU(), and mpRandom.

Referenced by generateRandomNumbers().

◆ start()

void CStochasticRungeKuttaRI5::start ( )
virtual

This instructs the method to prepare for integration

Reimplemented from CTrajectoryMethod.

References CVectorCore< CType >::begin(), CMathUpdateSequence::begin(), C_FLOAT64, C_INT, CMath::Compartment, CCore::Default, CRootFinder::DISCRETE, CMathUpdateSequence::empty(), CVectorCore< CType >::end(), CMathUpdateSequence::end(), CMathContainer::getCountFixedEventTargets(), CMathContainer::getCountNoise(), CMathObject::getEntityType(), CMathContainer::getMathObject(), CMathContainer::getNoise(), CMathContainer::getNoiseInputObjects(), CMathContainer::getRandomGenerator(), CMathContainer::getRate(), CMathContainer::getRootIsDiscrete(), CMathContainer::getRoots(), CRootFinder::getRootValues(), CMathContainer::getStateObjects(), CRootFinder::getToggledRoots(), CMathContainer::getTransientDependencies(), CMathDependencyGraph::getUpdateSequence(), CVectorCore< CType >::initialize(), CRootFinder::initialize(), CMathContainer::initializeAtolVector(), CMathUpdateSequence::insert(), mA, mAtol, mB, mBB, mContainerNoise, mContainerRates, mContainerRoots, CTrajectoryMethod::mContainerState, mContainerVariables, mH10, mH20, mH2k, mH30, mH3k, mHH2k, mHH3k, mLastCalculatedTime, mNoiseInputValues, mNoiseUpdateSequences, mNumNoise, mNumRoots, mNumVariables, mpAbsoluteTolerance, CCopasiMethod::mpContainer, CTrajectoryMethod::mpContainerStateTime, mPhysicalValues, mpInternalStepSize, mpPhysicalCorrectnessRootFound, mpRandom, mpRootRelativeTolerance, mpRootValueCalculator, mRandomIHat, mRandomIMatrix, mRandomITilde, mRootFinder, mRootMask, mRoots, CTrajectoryMethod::mRootsFound, mSqrtStepSize, mStepSize, mSumAll1, mSumAll2, mSumPartial1, mSumPartial2, mTargetTime, mTime, CRootFinder::NONE, CMatrix< CType >::resize(), CVector< CType >::resize(), CVectorCore< CType >::size(), CMath::Species, and CTrajectoryMethod::start().

◆ stateChange()

void CStochasticRungeKuttaRI5::stateChange ( const CMath::StateChange change)
virtual

Inform the trajectory method that the state has changed outside its control

Parameters
constCMath::StateChange & change

Reimplemented from CTrajectoryMethod.

References CMath::ContinuousSimulation, destroyRootMask(), CFlags< Enum >::isSet(), mContainerVariables, mH10, mLastCalculatedTime, mRootFinder, CRootFinder::restart(), and CMath::State.

◆ step()

CTrajectoryMethod::Status CStochasticRungeKuttaRI5::step ( const double &  deltaT,
const bool &  final = false 
)
virtual

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

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

Reimplemented from CTrajectoryMethod.

References CTrajectoryMethod::FAILURE, CTrajectoryProblem::getAutomaticStepSize(), internalStep(), mInternalSteps, mpInternalStepSize, mpMaxInternalSteps, CTrajectoryMethod::mpProblem, mRootCounter, mTargetDelta, mTargetTime, mTime, and CTrajectoryMethod::NORMAL.

Member Data Documentation

◆ mA

CMatrix< C_FLOAT64 > CStochasticRungeKuttaRI5::mA
private

◆ mAtol

CVector< C_FLOAT64 > CStochasticRungeKuttaRI5::mAtol
private

◆ mB

CVector< CMatrix< C_FLOAT64 > > CStochasticRungeKuttaRI5::mB
private

◆ mBB

CVector< CMatrix< C_FLOAT64 > > CStochasticRungeKuttaRI5::mBB
private

◆ mContainerNoise

CVectorCore< C_FLOAT64 > CStochasticRungeKuttaRI5::mContainerNoise
private

◆ mContainerRates

CVectorCore< C_FLOAT64 > CStochasticRungeKuttaRI5::mContainerRates
private

◆ mContainerRoots

CVectorCore< C_FLOAT64 > CStochasticRungeKuttaRI5::mContainerRoots
private

◆ mContainerVariables

◆ mH10

CVector< C_FLOAT64 > CStochasticRungeKuttaRI5::mH10
private

◆ mH20

CVector< C_FLOAT64 > CStochasticRungeKuttaRI5::mH20
private

Referenced by buildStage2(), and start().

◆ mH2k

CMatrix< C_FLOAT64 > CStochasticRungeKuttaRI5::mH2k
private

Referenced by buildStage2(), and start().

◆ mH30

CVector< C_FLOAT64 > CStochasticRungeKuttaRI5::mH30
private

Referenced by buildStage3(), and start().

◆ mH3k

CMatrix< C_FLOAT64 > CStochasticRungeKuttaRI5::mH3k
private

Referenced by buildStage3(), and start().

◆ mHH2k

CMatrix< C_FLOAT64 > CStochasticRungeKuttaRI5::mHH2k
private

Referenced by buildStage2(), and start().

◆ mHH3k

CMatrix< C_FLOAT64 > CStochasticRungeKuttaRI5::mHH3k
private

Referenced by buildStage3(), and start().

◆ mInternalSteps

size_t CStochasticRungeKuttaRI5::mInternalSteps
private

◆ mLastCalculatedTime

C_FLOAT64 CStochasticRungeKuttaRI5::mLastCalculatedTime
private

◆ mLastCalculatedVariables

CVector< C_FLOAT64 > CStochasticRungeKuttaRI5::mLastCalculatedVariables
private

Referenced by calculateStateVariables().

◆ mNoiseInputValues

CVector< C_FLOAT64 * > CStochasticRungeKuttaRI5::mNoiseInputValues
private

Referenced by start().

◆ mNoiseUpdateSequences

CVector< CCore::CUpdateSequence > CStochasticRungeKuttaRI5::mNoiseUpdateSequences
private

Referenced by evalNoise(), and start().

◆ mNumNoise

size_t CStochasticRungeKuttaRI5::mNumNoise
private

◆ mNumRoots

size_t CStochasticRungeKuttaRI5::mNumRoots
private

◆ mNumVariables

size_t CStochasticRungeKuttaRI5::mNumVariables
private

◆ mpAbsoluteTolerance

C_FLOAT64* CStochasticRungeKuttaRI5::mpAbsoluteTolerance
private

A pointer to to the value "Absolute Tolerance"

Referenced by initializeParameter(), and start().

◆ mpForcePhysicalCorrectness

bool* CStochasticRungeKuttaRI5::mpForcePhysicalCorrectness
private

A pointer to the value "Force Physical Correctness"

Referenced by calculateSmallestPhysicalValue(), initializeParameter(), and internalStep().

◆ mPhysicalValues

CVector< bool > CStochasticRungeKuttaRI5::mPhysicalValues
private

◆ mpInternalStepSize

C_FLOAT64* CStochasticRungeKuttaRI5::mpInternalStepSize
private

A pointer to the value of "Internal Steps Size"

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

◆ mpMaxInternalSteps

unsigned C_INT32* CStochasticRungeKuttaRI5::mpMaxInternalSteps
private

A pointer to the value of "Max Internal Steps"

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

◆ mpPhysicalCorrectnessRootFound

C_INT* CStochasticRungeKuttaRI5::mpPhysicalCorrectnessRootFound
private

A pointer to the value which indicate the physical correctness root was found.

Referenced by internalStep(), and start().

◆ mpRandom

CRandom* CStochasticRungeKuttaRI5::mpRandom
private

A pointer to the random number generator

Referenced by randomIHat(), randomITilde(), and start().

◆ mpRootRelativeTolerance

C_FLOAT64* CStochasticRungeKuttaRI5::mpRootRelativeTolerance
private

A pointer to the value of "Tolerance for Root Finder"

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

◆ mpRootValueCalculator

CRootFinder::Eval* CStochasticRungeKuttaRI5::mpRootValueCalculator
private

Referenced by CStochasticRungeKuttaRI5(), and start().

◆ mRandomIHat

CVector< C_FLOAT64 > CStochasticRungeKuttaRI5::mRandomIHat
private

◆ mRandomIMatrix

CMatrix< C_FLOAT64 > CStochasticRungeKuttaRI5::mRandomIMatrix
private

◆ mRandomITilde

CVector< C_FLOAT64 > CStochasticRungeKuttaRI5::mRandomITilde
private

Referenced by generateRandomNumbers(), and start().

◆ mRootCounter

size_t CStochasticRungeKuttaRI5::mRootCounter
private

Referenced by step().

◆ mRootFinder

CRootFinder CStochasticRungeKuttaRI5::mRootFinder
private

◆ mRootMask

CVector< C_INT > CStochasticRungeKuttaRI5::mRootMask
private

◆ mRootMasking

CRootFinder::RootMasking CStochasticRungeKuttaRI5::mRootMasking
private

◆ mRoots

CVectorCore< C_FLOAT64 > CStochasticRungeKuttaRI5::mRoots
private

Referenced by CStochasticRungeKuttaRI5(), and start().

◆ mSqrtStepSize

C_FLOAT64 CStochasticRungeKuttaRI5::mSqrtStepSize
private

◆ mStepSize

C_FLOAT64 CStochasticRungeKuttaRI5::mStepSize
private

◆ mSumAll1

CVector< C_FLOAT64 > CStochasticRungeKuttaRI5::mSumAll1
private

◆ mSumAll2

CVector< C_FLOAT64 > CStochasticRungeKuttaRI5::mSumAll2
private

Referenced by buildStage2(), buildStage3(), and start().

◆ mSumPartial1

CMatrix< C_FLOAT64 > CStochasticRungeKuttaRI5::mSumPartial1
private

◆ mSumPartial2

CMatrix< C_FLOAT64 > CStochasticRungeKuttaRI5::mSumPartial2
private

Referenced by buildStage2(), buildStage3(), and start().

◆ mTargetDelta

C_FLOAT64 CStochasticRungeKuttaRI5::mTargetDelta
private

Referenced by step().

◆ mTargetTime

C_FLOAT64 CStochasticRungeKuttaRI5::mTargetTime
private

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

◆ mTime

C_FLOAT64 CStochasticRungeKuttaRI5::mTime
private

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