COPASI API
4.16.103
|
#include <CTauLeapMethod.h>
Classes | |
class | CReactionDependencies |
Public Member Functions | |
CTauLeapMethod (const CTauLeapMethod &src, const CCopasiContainer *pParent=NULL) | |
virtual bool | elevateChildren () |
virtual bool | isValidProblem (const CCopasiProblem *pProblem) |
virtual void | start (const CState *initialState) |
virtual Status | step (const double &deltaT) |
~CTauLeapMethod () | |
![]() | |
CTrajectoryMethod (const CTrajectoryMethod &src, const CCopasiContainer *pParent=NULL) | |
const CVector< C_INT > & | getRoots () const |
void | setCurrentState (CState *currentState) |
void | setProblem (CTrajectoryProblem *problem) |
virtual void | stateChanged () |
~CTrajectoryMethod () | |
![]() | |
CCopasiMethod (const CCopasiMethod &src, const CCopasiContainer *pParent=NULL) | |
const CCopasiMethod::SubType & | getSubType () const |
const CCopasiTask::Type & | getType () const |
virtual void | load (CReadConfig &configBuffer, CReadConfig::Mode mode=CReadConfig::SEARCH) |
virtual void | print (std::ostream *ostream) const |
virtual void | printResult (std::ostream *ostream) const |
virtual bool | setCallBack (CProcessReport *pCallBack) |
virtual | ~CCopasiMethod () |
![]() | |
bool | addGroup (const std::string &name) |
bool | addParameter (const CCopasiParameter ¶meter) |
bool | addParameter (const std::string &name, const CCopasiParameter::Type type) |
template<class CType > | |
bool | addParameter (const std::string &name, const CCopasiParameter::Type type, const CType &value) |
void | addParameter (CCopasiParameter *pParameter) |
CCopasiParameterGroup * | assertGroup (const std::string &name) |
template<class CType > | |
CCopasiParameter * | assertParameter (const std::string &name, const CCopasiParameter::Type type, const CType &defaultValue) |
index_iterator | beginIndex () const |
name_iterator | beginName () const |
CCopasiParameterGroup (const CCopasiParameterGroup &src, const CCopasiContainer *pParent=NULL) | |
CCopasiParameterGroup (const std::string &name, const CCopasiContainer *pParent=NULL, const std::string &objectType="ParameterGroup") | |
void | clear () |
index_iterator | endIndex () const |
name_iterator | endName () const |
CCopasiParameterGroup * | getGroup (const std::string &name) |
const CCopasiParameterGroup * | getGroup (const std::string &name) const |
CCopasiParameterGroup * | getGroup (const size_t &index) |
const CCopasiParameterGroup * | getGroup (const size_t &index) const |
size_t | getIndex (const std::string &name) const |
std::string | getKey (const std::string &name) const |
std::string | getKey (const size_t &index) const |
virtual const std::string & | getName (const size_t &index) const |
virtual const CObjectInterface * | getObject (const CCopasiObjectName &cn) const |
CCopasiParameter * | getParameter (const std::string &name) |
const CCopasiParameter * | getParameter (const std::string &name) const |
CCopasiParameter * | getParameter (const size_t &index) |
const CCopasiParameter * | getParameter (const size_t &index) const |
CCopasiParameter::Type | getType (const std::string &name) const |
CCopasiParameter::Type | getType (const size_t &index) const |
std::string | getUniqueParameterName (const CCopasiParameter *pParameter) const |
const CCopasiParameter::Value & | getValue (const std::string &name) const |
const CCopasiParameter::Value & | getValue (const size_t &index) const |
CCopasiParameter::Value & | getValue (const std::string &name) |
CCopasiParameter::Value & | getValue (const size_t &index) |
CCopasiParameterGroup & | operator= (const CCopasiParameterGroup &rhs) |
bool | removeParameter (const std::string &name) |
bool | removeParameter (const size_t &index) |
template<class CType > | |
bool | setValue (const std::string &name, const CType &value) |
template<class CType > | |
bool | setValue (const size_t &index, const CType &value) |
size_t | size () const |
bool | swap (const size_t &iFrom, const size_t &iTo) |
bool | swap (index_iterator &from, index_iterator &to) |
virtual | ~CCopasiParameterGroup () |
![]() | |
CCopasiParameter (const CCopasiParameter &src, const CCopasiContainer *pParent=NULL) | |
CCopasiParameter (const std::string &name, const Type &type, const void *pValue=NULL, const CCopasiContainer *pParent=NULL, const std::string &objectType="Parameter") | |
virtual CCopasiObjectName | getCN () const |
virtual const std::string & | getKey () const |
virtual std::string | getObjectDisplayName (bool regular=true, bool richtext=false) const |
const CCopasiParameter::Type & | getType () const |
const Value & | getValue () const |
Value & | getValue () |
virtual void * | getValuePointer () const |
CCopasiObject * | getValueReference () const |
bool | isValidValue (const C_FLOAT64 &value) const |
bool | isValidValue (const C_INT32 &value) const |
bool | isValidValue (const unsigned C_INT32 &value) const |
bool | isValidValue (const bool &value) const |
bool | isValidValue (const std::string &value) const |
bool | isValidValue (const CCopasiObjectName &value) const |
bool | isValidValue (const std::vector< CCopasiParameter * > &value) const |
CCopasiParameter & | operator= (const CCopasiParameter &rhs) |
template<class CType > | |
bool | setValue (const CType &value) |
bool | setValue (const std::vector< CCopasiParameter * > &value) |
virtual | ~CCopasiParameter () |
![]() | |
virtual bool | add (CCopasiObject *pObject, const bool &adopt=true) |
CCopasiContainer (const std::string &name, const CCopasiContainer *pParent=NULL, const std::string &type="CN", const unsigned C_INT32 &flag=CCopasiObject::Container) | |
CCopasiContainer (const CCopasiContainer &src, const CCopasiContainer *pParent=NULL) | |
virtual std::string | getChildObjectUnits (const CCopasiObject *pObject) const |
virtual const objectMap & | getObjects () const |
virtual std::string | getUnits () const |
virtual const CCopasiObject * | getValueObject () const |
virtual bool | remove (CCopasiObject *pObject) |
virtual | ~CCopasiContainer () |
![]() | |
void | addDirectDependency (const CCopasiObject *pObject) |
CCopasiObject (const CCopasiObject &src, const CCopasiContainer *pParent=NULL) | |
void | clearDirectDependencies () |
void | clearRefresh () |
bool | dependsOn (DataObjectSet candidates, const DataObjectSet &context=DataObjectSet()) const |
void | getAllDependencies (DataObjectSet &dependencies, const DataObjectSet &context) const |
virtual const DataObjectSet & | getDirectDependencies (const DataObjectSet &context=DataObjectSet()) const |
CCopasiContainer * | getObjectAncestor (const std::string &type) const |
CCopasiDataModel * | getObjectDataModel () |
const CCopasiDataModel * | getObjectDataModel () const |
const std::string & | getObjectName () const |
CCopasiContainer * | getObjectParent () const |
const std::string & | getObjectType () const |
virtual const CObjectInterface::ObjectSet & | getPrerequisites () const |
virtual Refresh * | getRefresh () const |
UpdateMethod * | getUpdateMethod () const |
bool | hasCircularDependencies (DataObjectSet &candidates, DataObjectSet &verified, const DataObjectSet &context) const |
bool | hasUpdateMethod () const |
bool | isArray () const |
bool | isContainer () const |
bool | isDataModel () const |
bool | isMatrix () const |
bool | isNameVector () const |
bool | isNonUniqueName () const |
virtual bool | isPrerequisiteForContext (const CObjectInterface *pObject, const CMath::SimulationContextFlag &context, const CObjectInterface::ObjectSet &changedObjects) const |
bool | isReference () const |
bool | isRoot () const |
bool | isSeparator () const |
bool | isStaticString () const |
bool | isValueBool () const |
bool | isValueDbl () const |
bool | isValueInt () const |
bool | isValueInt64 () const |
bool | isValueString () const |
bool | isVector () const |
virtual bool | mustBeDeleted (const DataObjectSet &deletedObjects) const |
void | removeDirectDependency (const CCopasiObject *pObject) |
void | setDirectDependencies (const DataObjectSet &directDependencies) |
bool | setObjectName (const std::string &name) |
virtual bool | setObjectParent (const CCopasiContainer *pParent) |
void | setObjectValue (const C_FLOAT64 &value) |
void | setObjectValue (const C_INT32 &value) |
void | setObjectValue (const bool &value) |
template<class CType > | |
void | setRefresh (CType *pType, void(CType::*method)(void)) |
template<class CType > | |
void | setUpdateMethod (CType *pType, void(CType::*method)(const C_FLOAT64 &)) |
template<class CType > | |
void | setUpdateMethod (CType *pType, void(CType::*method)(const C_INT32 &)) |
template<class CType > | |
void | setUpdateMethod (CType *pType, void(CType::*method)(const bool &)) |
virtual | ~CCopasiObject () |
![]() | |
CObjectInterface () | |
virtual | ~CObjectInterface () |
Protected Member Functions | |
const C_FLOAT64 & | calculateAmu (const size_t &index) |
void | cleanup () |
CTauLeapMethod (const CCopasiContainer *pParent=NULL) | |
C_FLOAT64 | doSingleStep (C_FLOAT64 ds) |
void | updatePropensities () |
bool | updateSystem () |
![]() | |
CTrajectoryMethod (const CCopasiMethod::SubType &subType, const CCopasiContainer *pParent=NULL) | |
![]() | |
CCopasiMethod (const CCopasiTask::Type &taskType, const SubType &subType, const CCopasiContainer *pParent=NULL) | |
![]() | |
CCopasiParameterGroup () | |
![]() | |
template<class CType > | |
CCopasiObject * | addMatrixReference (const std::string &name, CType &reference, const unsigned C_INT32 &flag=0) |
template<class CType > | |
CCopasiObject * | addObjectReference (const std::string &name, CType &reference, const unsigned C_INT32 &flag=0) |
template<class CType > | |
CCopasiObject * | addVectorReference (const std::string &name, CType &reference, const unsigned C_INT32 &flag=0) |
void | initObjects () |
![]() | |
CCopasiObject () | |
CCopasiObject (const std::string &name, const CCopasiContainer *pParent=NULL, const std::string &type="CN", const unsigned C_INT32 &flag=0) | |
Protected Attributes | |
C_FLOAT64 | mA0 |
CVector< C_FLOAT64 > | mAmu |
CVector< C_FLOAT64 > | mAvgDX |
bool | mDoCorrection |
C_FLOAT64 | mEpsilon |
size_t | mFirstReactionSpeciesIndex |
CVector< C_FLOAT64 > | mK |
unsigned C_INT32 | mMaxSteps |
CState | mMethodState |
size_t | mNumReactions |
size_t | mNumReactionSpecies |
CModel * | mpModel |
CRandom * | mpRandomGenerator |
unsigned C_INT32 | mRandomSeed |
std::vector < CReactionDependencies > | mReactionDependencies |
CVector< C_FLOAT64 > | mSigDX |
bool | mUseRandomSeed |
![]() | |
CState * | mpCurrentState |
CTrajectoryProblem * | mpProblem |
CVector< C_INT > | mRoots |
![]() | |
CProcessReport * | mpCallBack |
![]() | |
std::string | mKey |
CCopasiObject * | mpValueReference |
size_t | mSize |
Value | mValue |
![]() | |
objectMap | mObjects |
Private Member Functions | |
void | initializeParameter () |
Friends | |
CTrajectoryMethod * | CTrajectoryMethod::createMethod (CCopasiMethod::SubType subType) |
Definition at line 47 of file CTauLeapMethod.h.
CTauLeapMethod::CTauLeapMethod | ( | const CTauLeapMethod & | src, |
const CCopasiContainer * | pParent = NULL |
||
) |
Copy constructor
const | CTauLeapMethod & src |
const | CCopasiContainer * pParent (default: NULL) |
Definition at line 112 of file CTauLeapMethod.cpp.
References CRandom::createGenerator(), initializeParameter(), mpRandomGenerator, and CRandom::mt19937.
CTauLeapMethod::~CTauLeapMethod | ( | ) |
Destructor.
Definition at line 124 of file CTauLeapMethod.cpp.
References cleanup(), and DESTRUCTOR_TRACE.
|
protected |
Default constructor.
const | CCopasiContainer * pParent (default: NULL) |
Default constructor.
Definition at line 104 of file CTauLeapMethod.cpp.
References CRandom::createGenerator(), initializeParameter(), mpRandomGenerator, and CRandom::mt19937.
|
protected |
Calculate one of the propensities
const | size_t & index |
Definition at line 473 of file CTauLeapMethod.cpp.
References CVectorCore< CType >::array(), C_FLOAT64, mAmu, mDoCorrection, CTauLeapMethod::CReactionDependencies::mMethodSubstrates, CTauLeapMethod::CReactionDependencies::mModelSubstrates, CTauLeapMethod::CReactionDependencies::mpParticleFlux, mReactionDependencies, CTauLeapMethod::CReactionDependencies::mSubstrateMultiplier, and CVectorCore< CType >::size().
Referenced by updatePropensities().
|
protected |
Cleans up memory, etc.
Initializes the solver and sets the model to be used.
model | A reference to an instance of a CModel Cleans up memory, etc. |
Definition at line 357 of file CTauLeapMethod.cpp.
References mpModel, and mpRandomGenerator.
Referenced by ~CTauLeapMethod().
Simulates the system over the next interval of time. The timestep is given as argument.
ds | A C_FLOAT64 specifying the timestep |
Definition at line 371 of file CTauLeapMethod.cpp.
References CVectorCore< CType >::array(), CState::beginIndependent(), C_FLOAT64, CCopasiMessage::EXCEPTION, CRandom::getRandomCC(), CRandom::getRandomPoisson(), mAmu, mAvgDX, MCTrajectoryMethod, mEpsilon, mFirstReactionSpeciesIndex, min, mK, mMethodState, mNumReactions, mNumReactionSpecies, mpRandomGenerator, mReactionDependencies, mSigDX, updatePropensities(), and updateSystem().
Referenced by step().
|
virtual |
This methods must be called to elevate subgroups to derived objects. The default implementation does nothing.
Reimplemented from CCopasiParameterGroup.
Definition at line 158 of file CTauLeapMethod.cpp.
References initializeParameter().
|
private |
Initialize the method parameter
Definition at line 130 of file CTauLeapMethod.cpp.
References CCopasiParameterGroup::assertParameter(), CCopasiParameter::BOOL, C_FLOAT64, C_INT32, CCopasiParameter::DOUBLE, CCopasiParameterGroup::getParameter(), CCopasiParameter::getValue(), CCopasiParameter::Value::pBOOL, CCopasiParameter::Value::pUINT, CCopasiParameterGroup::removeParameter(), CCopasiParameterGroup::setValue(), and CCopasiParameter::UINT.
Referenced by CTauLeapMethod(), and elevateChildren().
|
virtual |
Check if the method is suitable for this problem
Reimplemented from CTrajectoryMethod.
Definition at line 585 of file CTauLeapMethod.cpp.
References CCopasiMessage::ERROR, CModel::getCompartments(), CTrajectoryProblem::getDuration(), CModel::getEvents(), CModel::getMetabolites(), CCopasiProblem::getModel(), CModel::getModelValues(), CModel::getNumMetabs(), CModel::getNumModelValues(), CModel::getTotSteps(), CTrajectoryMethod::isValidProblem(), MCTrajectoryMethod, CModelEntity::ODE, CCopasiVector< T >::size(), and CModel::suitableForStochasticSimulation().
This instructs the method to prepare for integration starting with the initialState given.
const CState * | initialState |
Reimplemented from CTrajectoryMethod.
Definition at line 195 of file CTauLeapMethod.cpp.
References CCopasiVector< T >::begin(), CStateTemplate::beginIndependent(), CState::beginIndependent(), C_FLOAT64, C_INT32, CModel::deterministic, CCopasiVector< T >::end(), CStateTemplate::endFixed(), CStateTemplate::getIndex(), CCopasiProblem::getModel(), CModel::getModelType(), CModel::getNumDependentReactionMetabs(), CModel::getNumIndependentReactionMetabs(), CModel::getReactions(), CModel::getState(), CModel::getStateTemplate(), CModelEntity::getStatus(), CCopasiParameter::getValue(), CCopasiObject::getValuePointer(), CModelEntity::getValueReference(), CRandom::initialize(), mAmu, mAvgDX, mDoCorrection, mEpsilon, mFirstReactionSpeciesIndex, mK, mMaxSteps, mMethodState, mNumReactions, mNumReactionSpecies, CTrajectoryMethod::mpCurrentState, mpModel, CTrajectoryMethod::mpProblem, mpRandomGenerator, mRandomSeed, mReactionDependencies, mSigDX, mUseRandomSeed, CCopasiParameter::Value::pBOOL, CCopasiParameter::Value::pDOUBLE, CCopasiParameter::Value::pUINT, CModelEntity::REACTIONS, CVector< CType >::resize(), CModel::setState(), CCopasiVector< T >::size(), and CModel::updateSimulatedValues().
|
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.
const double & | deltaT |
Reimplemented from CTrajectoryMethod.
Definition at line 164 of file CTauLeapMethod.cpp.
References C_FLOAT64, doSingleStep(), CCopasiMessage::EXCEPTION, CCopasiProblem::getModel(), CModel::getState(), CState::getTime(), MCTrajectoryMethod, mMaxSteps, mMethodState, CTrajectoryMethod::mpCurrentState, mpModel, CTrajectoryMethod::mpProblem, CTrajectoryMethod::NORMAL, CModel::setState(), CState::setTime(), and CModel::updateSimulatedValues().
|
protected |
Calculate the propensities for all reactions
Definition at line 460 of file CTauLeapMethod.cpp.
References calculateAmu(), mA0, and mNumReactions.
Referenced by doSingleStep().
|
protected |
Updates the system according to the probabilistic number of firings mK[i] of each reaction i
Definition at line 546 of file CTauLeapMethod.cpp.
References CVectorCore< CType >::array(), CState::beginIndependent(), C_FLOAT64, mFirstReactionSpeciesIndex, mK, mMethodState, mNumReactions, mNumReactionSpecies, and mReactionDependencies.
Referenced by doSingleStep().
|
friend |
|
protected |
Total propensity (sum over mAmu[i])
Definition at line 252 of file CTauLeapMethod.h.
Referenced by updatePropensities().
A vector of reaction propensities
Definition at line 247 of file CTauLeapMethod.h.
Referenced by calculateAmu(), doSingleStep(), and start().
For tau-selection method
Definition at line 263 of file CTauLeapMethod.h.
Referenced by doSingleStep(), and start().
|
protected |
indicates if the correction N^2 -> N*(N-1) should be performed
Definition at line 299 of file CTauLeapMethod.h.
Referenced by calculateAmu(), and start().
|
protected |
The tolerance ratio x(t+t')< eps*x(t)
Definition at line 273 of file CTauLeapMethod.h.
Referenced by doSingleStep(), and start().
|
protected |
index of first species in a CState
Definition at line 304 of file CTauLeapMethod.h.
Referenced by doSingleStep(), start(), and updateSystem().
The k-values of the reactions, that is the probabilistic number of firings within one leap.
Definition at line 258 of file CTauLeapMethod.h.
Referenced by doSingleStep(), start(), and updateSystem().
|
protected |
The maximum number of tau leap steps allowed for an integrations step
Definition at line 278 of file CTauLeapMethod.h.
|
protected |
The method internal state which contains particle rounded particle numbers.
Definition at line 227 of file CTauLeapMethod.h.
Referenced by doSingleStep(), start(), step(), and updateSystem().
|
protected |
Number of reactions.
Definition at line 232 of file CTauLeapMethod.h.
Referenced by doSingleStep(), start(), updatePropensities(), and updateSystem().
|
protected |
Number of variable metabolites.
Definition at line 242 of file CTauLeapMethod.h.
Referenced by doSingleStep(), start(), and updateSystem().
|
protected |
Pointer to the model.
Definition at line 222 of file CTauLeapMethod.h.
|
protected |
The random number generator.
Definition at line 294 of file CTauLeapMethod.h.
Referenced by cleanup(), CTauLeapMethod(), doSingleStep(), and start().
|
protected |
|
protected |
A vector containing dependency information to minimize the required updates.
Definition at line 237 of file CTauLeapMethod.h.
Referenced by calculateAmu(), doSingleStep(), start(), and updateSystem().
For tau-selection method
Definition at line 268 of file CTauLeapMethod.h.
Referenced by doSingleStep(), and start().
|
protected |
Specifies if the mRandomSeed should be used. otherwise a randomly chosen seed is used.
Definition at line 284 of file CTauLeapMethod.h.
Referenced by start().