COPASI API
4.16.103
|
#include <CLyapWolfMethod.h>
Classes | |
struct | Data |
Public Member Functions | |
bool | calculate () |
CLyapWolfMethod (const CLyapWolfMethod &src, const CCopasiContainer *pParent=NULL) | |
virtual bool | elevateChildren () |
void | evalF (const C_FLOAT64 *t, const C_FLOAT64 *y, C_FLOAT64 *ydot) |
virtual bool | isValidProblem (const CCopasiProblem *pProblem) |
virtual void | start () |
virtual double | step (const double &deltaT) |
~CLyapWolfMethod () | |
![]() | |
CLyapMethod (const CLyapMethod &src, const CCopasiContainer *pParent=NULL) | |
void | setProblem (CLyapProblem *problem) |
virtual void | start (const CState *initialState) |
~CLyapMethod () | |
![]() | |
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 () |
Static Public Member Functions | |
static void | EvalF (const C_INT *n, const C_FLOAT64 *t, const C_FLOAT64 *y, C_FLOAT64 *ydot) |
![]() | |
static CLyapMethod * | createMethod (CCopasiMethod::SubType subType=CCopasiMethod::lyapWolf) |
static bool | isValidSubType (const CCopasiMethod::SubType &subType) |
![]() | |
static std::vector< Refresh * > | buildUpdateSequence (const DataObjectSet &objects, const DataObjectSet &uptoDateObjects, const DataObjectSet &context=DataObjectSet()) |
static void | setRenameHandler (CRenameHandler *rh) |
Private Member Functions | |
CLyapWolfMethod (const CCopasiContainer *pParent=NULL) | |
void | initializeParameter () |
void | orthonormalize () |
Static Private Member Functions | |
static void | add (C_FLOAT64 *dbl1, const C_FLOAT64 *dbl1End, const C_FLOAT64 &f, const C_FLOAT64 *dbl2) |
static C_FLOAT64 | norm (const C_FLOAT64 *dbl1, const C_FLOAT64 *dbl2) |
static C_FLOAT64 | product (const C_FLOAT64 *dbl1, const C_FLOAT64 *dbl1End, const C_FLOAT64 *dbl2) |
static void | scalarmult (C_FLOAT64 *dbl1, const C_FLOAT64 *dbl2, const C_FLOAT64 &f) |
Private Attributes | |
CVector< C_FLOAT64 > | mAtol |
Data | mData |
bool | mDoDivergence |
CVector< C_FLOAT64 > | mDWork |
C_FLOAT64 | mEndt |
std::ostringstream | mErrorMsg |
CVector< C_INT > | mIWork |
CMatrix< C_FLOAT64 > | mJacobian |
C_INT | mJType |
CLSODA | mLSODA |
C_INT | mLsodaStatus |
CVector< C_FLOAT64 > | mNorms |
unsigned C_INT32 | mNumExp |
CState * | mpState |
CLyapTask * | mpTask |
bool | mReducedModel |
C_FLOAT64 | mRtol |
C_INT | mState |
C_FLOAT64 | mSumDivergence |
CVector< C_FLOAT64 > | mSumExponents |
size_t | mSystemSize |
C_FLOAT64 | mTime |
CVector< C_FLOAT64 > | mVariables |
Friends | |
CLyapMethod * | CLyapMethod::createMethod (CCopasiMethod::SubType subType) |
Additional Inherited Members | |
![]() | |
enum | SubType { unset = 0, RandomSearch, RandomSearchMaster, SimulatedAnnealing, CoranaWalk, DifferentialEvolution, ScatterSearch, GeneticAlgorithm, EvolutionaryProgram, SteepestDescent, HybridGASA, GeneticAlgorithmSR, HookeJeeves, LevenbergMarquardt, NelderMead, SRES, Statistics, ParticleSwarm, Praxis, TruncatedNewton, Newton, deterministic, LSODAR, directMethod, stochastic, tauLeap, adaptiveSA, hybrid, hybridLSODA, hybridODE45, DsaLsodar, tssILDM, tssILDMModified, tssCSP, mcaMethodReder, scanMethod, lyapWolf, sensMethod, EFMAlgorithm, EFMBitPatternTreeAlgorithm, EFMBitPatternAlgorithm, Householder, crossSectionMethod, linearNoiseApproximation } |
![]() | |
typedef parameterGroup::iterator | index_iterator |
typedef CCopasiContainer::objectMap::iterator | name_iterator |
typedef std::vector < CCopasiParameter * > | parameterGroup |
![]() | |
enum | Type { DOUBLE = 0, UDOUBLE, INT, UINT, BOOL, GROUP, STRING, CN, KEY, FILE, EXPRESSION, INVALID } |
![]() | |
typedef std::multimap < std::string, CCopasiObject * > | objectMap |
![]() | |
typedef std::set< const CCopasiObject * > | DataObjectSet |
typedef std::vector< Refresh * > | DataUpdateSequence |
![]() | |
typedef std::set< const CObjectInterface * > | ObjectSet |
typedef std::vector < CObjectInterface * > | UpdateSequence |
![]() | |
static const CLyapValidSubTypes | ValidSubTypes |
![]() | |
static const std::string | SubTypeName [] |
static const char * | XMLSubType [] |
![]() | |
static const std::string | TypeName [] |
static const char * | XMLType [] |
![]() | |
static const std::vector < CCopasiContainer * > | EmptyList |
![]() | |
enum | Flag { Container = 0x1, Vector = 0x2, Matrix = 0x4, NameVector = 0x8, Reference = 0x10, ValueBool = 0x20, ValueInt = 0x40, ValueInt64 = 0x80, ValueDbl = 0x100, NonUniqueName = 0x200, StaticString = 0x400, ValueString = 0x800, Separator = 0x1000, ModelEntity = 0x2000, Array = 0x4000, DataModel = 0x8000, Root = 0x10000, Gui = 0x20000 } |
![]() | |
CLyapMethod (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) | |
![]() | |
CLyapProblem * | mpProblem |
![]() | |
CProcessReport * | mpCallBack |
![]() | |
std::string | mKey |
CCopasiObject * | mpValueReference |
size_t | mSize |
Value | mValue |
![]() | |
objectMap | mObjects |
![]() | |
static CRenameHandler * | smpRenameHandler = NULL |
Definition at line 36 of file CLyapWolfMethod.h.
|
private |
Default constructor.
const | CCopasiContainer * pParent (default: NULL) |
Definition at line 29 of file CLyapWolfMethod.cpp.
References CLyapWolfMethod::Data::dim, initializeParameter(), mData, and CLyapWolfMethod::Data::pMethod.
CLyapWolfMethod::CLyapWolfMethod | ( | const CLyapWolfMethod & | src, |
const CCopasiContainer * | pParent = NULL |
||
) |
Copy constructor.
const CLsodaMethod & | src |
const | CCopasiContainer * pParent (default: NULL) |
Definition at line 39 of file CLyapWolfMethod.cpp.
References CLyapWolfMethod::Data::dim, initializeParameter(), mData, and CLyapWolfMethod::Data::pMethod.
CLyapWolfMethod::~CLyapWolfMethod | ( | ) |
|
staticprivate |
Definition at line 494 of file CLyapWolfMethod.cpp.
Referenced by orthonormalize().
|
virtual |
handles the complete calculation
Implements CLyapMethod.
Definition at line 326 of file CLyapWolfMethod.cpp.
References CVectorCore< CType >::array(), CState::beginIndependent(), C_FLOAT64, CCopasiProblem::getModel(), CCopasiObject::getObjectParent(), CLyapProblem::getTransientTime(), CCopasiParameter::getValue(), CLyapTask::mAverageDivergence, mDoDivergence, CLyapTask::methodCallback(), CLyapTask::mExponents, CLyapTask::mIntervalDivergence, CLyapTask::mLocalExponents, mLsodaStatus, mNorms, mNumExp, CLyapMethod::mpProblem, mpState, mpTask, mReducedModel, mSumDivergence, mSumExponents, mSystemSize, mTime, mVariables, orthonormalize(), CCopasiParameter::Value::pUDOUBLE, CModel::setState(), CState::setTime(), CVectorCore< CType >::size(), start(), step(), and CModel::updateSimulatedValues().
|
virtual |
This methods must be called to elevate subgroups to derived objects. The default implementation does nothing.
Reimplemented from CCopasiParameterGroup.
Definition at line 89 of file CLyapWolfMethod.cpp.
References initializeParameter().
|
static |
Calculate the default absolute tolerance
const | CModel * pModel |
Definition at line 239 of file CLyapWolfMethod.cpp.
References evalF(), and CLyapWolfMethod::Data::pMethod.
Referenced by step().
This evaluates the derivatives for the complete model
Definition at line 242 of file CLyapWolfMethod.cpp.
References CVectorCore< CType >::array(), CMatrix< CType >::array(), CState::beginIndependent(), C_FLOAT64, CModel::calculateDerivatives(), CModel::calculateDerivativesX(), CModel::calculateJacobianX(), CCopasiProblem::getModel(), mDoDivergence, mJacobian, mNumExp, CLyapMethod::mpProblem, mpState, mReducedModel, mSystemSize, mVariables, CModel::setState(), CState::setTime(), and CModel::updateSimulatedValues().
Referenced by EvalF().
|
private |
Intialize the method parameter
Definition at line 55 of file CLyapWolfMethod.cpp.
References CCopasiParameterGroup::assertParameter(), C_FLOAT64, C_INT32, CCopasiParameterGroup::getParameter(), CCopasiParameter::getValue(), CCopasiParameter::Value::pBOOL, CCopasiParameter::Value::pUDOUBLE, CCopasiParameterGroup::removeParameter(), CCopasiParameterGroup::setValue(), CCopasiParameter::UDOUBLE, and CCopasiParameter::UINT.
Referenced by CLyapWolfMethod(), and elevateChildren().
|
virtual |
Check if the method is suitable for this problem
Reimplemented from CLyapMethod.
Definition at line 503 of file CLyapWolfMethod.cpp.
References C_FLOAT64, CCopasiMessage::EXCEPTION, CLyapProblem::getTransientTime(), CCopasiParameter::getValue(), CLyapMethod::isValidProblem(), MCLyap, and CCopasiParameter::Value::pUDOUBLE.
Definition at line 463 of file CLyapWolfMethod.cpp.
References C_FLOAT64.
Referenced by orthonormalize().
|
private |
Definition at line 429 of file CLyapWolfMethod.cpp.
References add(), CVectorCore< CType >::array(), C_FLOAT64, mNorms, mNumExp, mSystemSize, mVariables, norm(), product(), and scalarmult().
Referenced by calculate(), and start().
|
staticprivate |
Definition at line 482 of file CLyapWolfMethod.cpp.
References C_FLOAT64.
Referenced by orthonormalize().
|
staticprivate |
Definition at line 474 of file CLyapWolfMethod.cpp.
Referenced by orthonormalize().
|
virtual |
This instructs the method to prepare for integration starting with the initialState given.
const CState * | initialState |
Definition at line 140 of file CLyapWolfMethod.cpp.
References CVectorCore< CType >::array(), CState::beginIndependent(), C_FLOAT64, C_INT, CLyapWolfMethod::Data::dim, CLyapProblem::divergenceRequested(), CLyapProblem::getExponentNumber(), CCopasiProblem::getModel(), CModel::getNumDependentReactionMetabs(), CState::getNumIndependent(), CModel::getState(), CState::getTime(), CCopasiParameter::getValue(), CModel::initializeAtolVector(), mAtol, CLyapTask::mAverageDivergence, mData, mDoDivergence, mDWork, mErrorMsg, CLyapTask::mExponents, CLyapTask::mIntervalDivergence, mIWork, mJacobian, mJType, CLyapTask::mLocalExponents, mLSODA, mLsodaStatus, mNorms, mNumExp, CLyapMethod::mpProblem, mpState, mpTask, mReducedModel, mRtol, mState, mSumDivergence, mSumExponents, mSystemSize, mTime, mVariables, orthonormalize(), pdelete, CCopasiParameter::Value::pUDOUBLE, CCopasiParameter::Value::pUINT, CMatrix< CType >::resize(), CVector< CType >::resize(), and CInternalSolver::setOstream().
Referenced by calculate().
|
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 CLyapMethod.
Definition at line 95 of file CLyapWolfMethod.cpp.
References CVectorCore< CType >::array(), C_FLOAT64, C_INT, CLyapWolfMethod::Data::dim, EvalF(), CCopasiMessage::EXCEPTION, mAtol, MCTrajectoryMethod, mData, mDWork, mErrorMsg, mIWork, mJType, mLSODA, mLsodaStatus, mpState, mRtol, mState, mTime, mVariables, CState::setTime(), and CVectorCore< CType >::size().
Referenced by calculate().
|
friend |
Absolute tolerance.
Definition at line 124 of file CLyapWolfMethod.h.
|
private |
mData.dim is the dimension of the ODE system. mData.pMethod contains CLsodaMethod * this to be used in the static method EvalF
Definition at line 65 of file CLyapWolfMethod.h.
Referenced by CLyapWolfMethod(), start(), and step().
|
private |
Definition at line 77 of file CLyapWolfMethod.h.
Referenced by calculate(), evalF(), and start().
Definition at line 133 of file CLyapWolfMethod.h.
|
private |
Requested end time.
Definition at line 99 of file CLyapWolfMethod.h.
|
private |
Definition at line 129 of file CLyapWolfMethod.h.
Definition at line 134 of file CLyapWolfMethod.h.
Definition at line 79 of file CLyapWolfMethod.h.
|
private |
Definition at line 141 of file CLyapWolfMethod.h.
|
private |
Definition at line 131 of file CLyapWolfMethod.h.
|
private |
LSODA state.
Definition at line 104 of file CLyapWolfMethod.h.
Referenced by calculate(), start(), and step().
Definition at line 84 of file CLyapWolfMethod.h.
Referenced by calculate(), orthonormalize(), and start().
|
private |
Number of exponents to calculate
Definition at line 75 of file CLyapWolfMethod.h.
Referenced by calculate(), evalF(), orthonormalize(), and start().
|
private |
A pointer to the current state in complete model view.
Definition at line 59 of file CLyapWolfMethod.h.
Referenced by calculate(), evalF(), start(), step(), and ~CLyapWolfMethod().
|
private |
Definition at line 143 of file CLyapWolfMethod.h.
Referenced by calculate(), and start().
|
private |
Definition at line 109 of file CLyapWolfMethod.h.
Referenced by calculate(), evalF(), and start().
|
private |
Relative tolerance.
Definition at line 114 of file CLyapWolfMethod.h.
|
private |
Definition at line 132 of file CLyapWolfMethod.h.
|
private |
integrated divergence
Definition at line 89 of file CLyapWolfMethod.h.
Referenced by calculate(), and start().
Definition at line 82 of file CLyapWolfMethod.h.
Referenced by calculate(), and start().
|
private |
Number of variables in the model
Definition at line 70 of file CLyapWolfMethod.h.
Referenced by calculate(), evalF(), orthonormalize(), and start().
|
private |
Current time.
Definition at line 94 of file CLyapWolfMethod.h.
Referenced by calculate(), start(), and step().
the vector that contains the extended system
Definition at line 139 of file CLyapWolfMethod.h.
Referenced by calculate(), evalF(), orthonormalize(), start(), and step().