COPASI API  4.16.103
Public Member Functions | Static Public Member Functions | Static Public Attributes | Protected Member Functions | Protected Attributes | Private Member Functions | List of all members
CLyapMethod Class Referenceabstract

#include <CLyapMethod.h>

Inheritance diagram for CLyapMethod:
Inheritance graph
[legend]
Collaboration diagram for CLyapMethod:
Collaboration graph
[legend]

Public Member Functions

virtual bool calculate ()=0
 
 CLyapMethod (const CLyapMethod &src, const CCopasiContainer *pParent=NULL)
 
virtual bool isValidProblem (const CCopasiProblem *pProblem)
 
void setProblem (CLyapProblem *problem)
 
virtual void start (const CState *initialState)
 
virtual double step (const double &deltaT)
 
 ~CLyapMethod ()
 
- Public Member Functions inherited from CCopasiMethod
 CCopasiMethod (const CCopasiMethod &src, const CCopasiContainer *pParent=NULL)
 
const CCopasiMethod::SubTypegetSubType () const
 
const CCopasiTask::TypegetType () 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 ()
 
- Public Member Functions inherited from CCopasiParameterGroup
bool addGroup (const std::string &name)
 
bool addParameter (const CCopasiParameter &parameter)
 
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)
 
CCopasiParameterGroupassertGroup (const std::string &name)
 
template<class CType >
CCopasiParameterassertParameter (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 ()
 
virtual bool elevateChildren ()
 
index_iterator endIndex () const
 
name_iterator endName () const
 
CCopasiParameterGroupgetGroup (const std::string &name)
 
const CCopasiParameterGroupgetGroup (const std::string &name) const
 
CCopasiParameterGroupgetGroup (const size_t &index)
 
const CCopasiParameterGroupgetGroup (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 CObjectInterfacegetObject (const CCopasiObjectName &cn) const
 
CCopasiParametergetParameter (const std::string &name)
 
const CCopasiParametergetParameter (const std::string &name) const
 
CCopasiParametergetParameter (const size_t &index)
 
const CCopasiParametergetParameter (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::ValuegetValue (const std::string &name) const
 
const CCopasiParameter::ValuegetValue (const size_t &index) const
 
CCopasiParameter::ValuegetValue (const std::string &name)
 
CCopasiParameter::ValuegetValue (const size_t &index)
 
CCopasiParameterGroupoperator= (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 ()
 
- Public Member Functions inherited from CCopasiParameter
 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::TypegetType () const
 
const ValuegetValue () const
 
ValuegetValue ()
 
virtual voidgetValuePointer () const
 
CCopasiObjectgetValueReference () 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
 
CCopasiParameteroperator= (const CCopasiParameter &rhs)
 
template<class CType >
bool setValue (const CType &value)
 
bool setValue (const std::vector< CCopasiParameter * > &value)
 
virtual ~CCopasiParameter ()
 
- Public Member Functions inherited from CCopasiContainer
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 objectMapgetObjects () const
 
virtual std::string getUnits () const
 
virtual const CCopasiObjectgetValueObject () const
 
virtual bool remove (CCopasiObject *pObject)
 
virtual ~CCopasiContainer ()
 
- Public Member Functions inherited from CCopasiObject
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 DataObjectSetgetDirectDependencies (const DataObjectSet &context=DataObjectSet()) const
 
CCopasiContainergetObjectAncestor (const std::string &type) const
 
CCopasiDataModelgetObjectDataModel ()
 
const CCopasiDataModelgetObjectDataModel () const
 
const std::string & getObjectName () const
 
CCopasiContainergetObjectParent () const
 
const std::string & getObjectType () const
 
virtual const
CObjectInterface::ObjectSet
getPrerequisites () const
 
virtual RefreshgetRefresh () const
 
UpdateMethodgetUpdateMethod () 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 ()
 
- Public Member Functions inherited from CObjectInterface
 CObjectInterface ()
 
virtual ~CObjectInterface ()
 

Static Public Member Functions

static CLyapMethodcreateMethod (CCopasiMethod::SubType subType=CCopasiMethod::lyapWolf)
 
static bool isValidSubType (const CCopasiMethod::SubType &subType)
 
- Static Public Member Functions inherited from CCopasiObject
static std::vector< Refresh * > buildUpdateSequence (const DataObjectSet &objects, const DataObjectSet &uptoDateObjects, const DataObjectSet &context=DataObjectSet())
 
static void setRenameHandler (CRenameHandler *rh)
 

Static Public Attributes

static const CLyapValidSubTypes ValidSubTypes
 
- Static Public Attributes inherited from CCopasiMethod
static const std::string SubTypeName []
 
static const char * XMLSubType []
 
- Static Public Attributes inherited from CCopasiParameter
static const std::string TypeName []
 
static const char * XMLType []
 
- Static Public Attributes inherited from CCopasiContainer
static const std::vector
< CCopasiContainer * > 
EmptyList
 

Protected Member Functions

 CLyapMethod (const CCopasiMethod::SubType &subType, const CCopasiContainer *pParent=NULL)
 
- Protected Member Functions inherited from CCopasiMethod
 CCopasiMethod (const CCopasiTask::Type &taskType, const SubType &subType, const CCopasiContainer *pParent=NULL)
 
- Protected Member Functions inherited from CCopasiParameterGroup
 CCopasiParameterGroup ()
 
- Protected Member Functions inherited from CCopasiContainer
template<class CType >
CCopasiObjectaddMatrixReference (const std::string &name, CType &reference, const unsigned C_INT32 &flag=0)
 
template<class CType >
CCopasiObjectaddObjectReference (const std::string &name, CType &reference, const unsigned C_INT32 &flag=0)
 
template<class CType >
CCopasiObjectaddVectorReference (const std::string &name, CType &reference, const unsigned C_INT32 &flag=0)
 
void initObjects ()
 
- Protected Member Functions inherited from CCopasiObject
 CCopasiObject ()
 
 CCopasiObject (const std::string &name, const CCopasiContainer *pParent=NULL, const std::string &type="CN", const unsigned C_INT32 &flag=0)
 

Protected Attributes

CLyapProblemmpProblem
 
- Protected Attributes inherited from CCopasiMethod
CProcessReportmpCallBack
 
- Protected Attributes inherited from CCopasiParameter
std::string mKey
 
CCopasiObjectmpValueReference
 
size_t mSize
 
Value mValue
 
- Protected Attributes inherited from CCopasiContainer
objectMap mObjects
 

Private Member Functions

 CLyapMethod ()
 

Additional Inherited Members

- Public Types inherited from CCopasiMethod
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
}
 
- Public Types inherited from CCopasiParameterGroup
typedef parameterGroup::iterator index_iterator
 
typedef
CCopasiContainer::objectMap::iterator 
name_iterator
 
typedef std::vector
< CCopasiParameter * > 
parameterGroup
 
- Public Types inherited from CCopasiParameter
enum  Type {
  DOUBLE = 0, UDOUBLE, INT, UINT,
  BOOL, GROUP, STRING, CN,
  KEY, FILE, EXPRESSION, INVALID
}
 
- Public Types inherited from CCopasiContainer
typedef std::multimap
< std::string, CCopasiObject * > 
objectMap
 
- Public Types inherited from CCopasiObject
typedef std::set< const
CCopasiObject * > 
DataObjectSet
 
typedef std::vector< Refresh * > DataUpdateSequence
 
- Public Types inherited from CObjectInterface
typedef std::set< const
CObjectInterface * > 
ObjectSet
 
typedef std::vector
< CObjectInterface * > 
UpdateSequence
 
- Protected Types inherited from CCopasiObject
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
}
 
- Static Protected Attributes inherited from CCopasiObject
static CRenameHandlersmpRenameHandler = NULL
 

Detailed Description

Definition at line 47 of file CLyapMethod.h.

Constructor & Destructor Documentation

CLyapMethod::CLyapMethod ( )
private

Default constructor.

CLyapMethod::CLyapMethod ( const CCopasiMethod::SubType subType,
const CCopasiContainer pParent = NULL 
)
protected

Default constructor.

Parameters
constCCopasiMethod::SubType & subType
constCCopasiContainer * pParent (default: NULL)

Default constructor.

Definition at line 79 of file CLyapMethod.cpp.

References CONSTRUCTOR_TRACE.

80  :
81  CCopasiMethod(CCopasiTask::lyap, subType, pParent),
82  //mpCurrentState(NULL),
83  mpProblem(NULL)
CLyapProblem * mpProblem
Definition: CLyapMethod.h:74
#define CONSTRUCTOR_TRACE
Definition: copasi.h:202
CLyapMethod::CLyapMethod ( const CLyapMethod src,
const CCopasiContainer pParent = NULL 
)

Copy constructor.

Parameters
const CLyapMethod &src
constCCopasiContainer * pParent (default: NULL)

Copy constructor.

Parameters
const CLyapMethod &src

Definition at line 90 of file CLyapMethod.cpp.

References CONSTRUCTOR_TRACE.

91  :
92  CCopasiMethod(src, pParent),
93  //mpCurrentState(src.mpCurrentState),
94  mpProblem(src.mpProblem)
CLyapProblem * mpProblem
Definition: CLyapMethod.h:74
#define CONSTRUCTOR_TRACE
Definition: copasi.h:202
CLyapMethod::~CLyapMethod ( )

Destructor.

Definition at line 100 of file CLyapMethod.cpp.

References DESTRUCTOR_TRACE.

#define DESTRUCTOR_TRACE
Definition: copasi.h:206

Member Function Documentation

virtual bool CLyapMethod::calculate ( )
pure virtual

Implemented in CLyapWolfMethod.

Referenced by CLyapTask::process().

CLyapMethod * CLyapMethod::createMethod ( CCopasiMethod::SubType  subType = CCopasiMethod::lyapWolf)
static

Create a trajectory method for a special problem. Note: the returned object has to be released after use with delete a problem is also passed so that the method has a chance to choose an appropriate simulation method.

Definition at line 58 of file CLyapMethod.cpp.

References fatalError, CCopasiMethod::lyapWolf, and CCopasiMethod::unset.

Referenced by CLyapTask::CLyapTask(), CQLyapWidget::createMethod(), and CLyapTask::createMethod().

59 {
60  CLyapMethod * pMethod = NULL;
61 
62  switch (subType)
63  {
64  case unset:
65  case lyapWolf:
66  pMethod = new CLyapWolfMethod();
67  break;
68 
69  default:
70  fatalError();
71  }
72 
73  return pMethod;
74 }
#define fatalError()
bool CLyapMethod::isValidProblem ( const CCopasiProblem pProblem)
virtual

Check if the method is suitable for this problem

Returns
bool suitability of the method

Reimplemented from CCopasiMethod.

Reimplemented in CLyapWolfMethod.

Definition at line 140 of file CLyapMethod.cpp.

References C_INT32, CLyapProblem::divergenceRequested(), CCopasiMessage::ERROR, CLyapProblem::getExponentNumber(), CCopasiProblem::getModel(), CState::getNumIndependent(), CModel::getState(), CCopasiMethod::isValidProblem(), and MCLyap.

Referenced by CLyapWolfMethod::isValidProblem().

141 {
142  if (!CCopasiMethod::isValidProblem(pProblem)) return false;
143 
144  const CLyapProblem * pLP = dynamic_cast<const CLyapProblem *>(pProblem);
145 
146  if (!pLP)
147  {
148  //not a LyapProblem
150  return false;
151  }
152 
153  if ((!pLP->divergenceRequested()) && (pLP->getExponentNumber() < 1))
154  {
156  return false;
157  }
158 
159  unsigned C_INT32 tmp = (unsigned C_INT32) pLP->getModel()->getState().getNumIndependent();
160 
161  if (pLP->getExponentNumber() > tmp)
162  {
163  //to few exponents
165  return false;
166  }
167 
168  return true;
169 }
#define C_INT32
Definition: copasi.h:90
virtual bool isValidProblem(const CCopasiProblem *pProblem)
#define MCLyap
size_t getNumIndependent() const
Definition: CState.cpp:342
const unsigned C_INT32 & getExponentNumber() const
bool divergenceRequested() const
const CState & getState() const
Definition: CModel.cpp:1771
CModel * getModel() const
bool CLyapMethod::isValidSubType ( const CCopasiMethod::SubType subType)
static

Checks whether the given sub type is a valid method

Parameters
constCCopasiMethod::SubType & subType
Returns
bool isValidSubType

Definition at line 48 of file CLyapMethod.cpp.

Referenced by CLyapTask::setMethodType().

49 {
50  size_t i, imax = CLyapMethod::ValidSubTypes.size();
51 
52  for (i = 0; i < imax; i++)
53  if (CLyapMethod::ValidSubTypes[i] == subType) return true;
54 
55  return false;
56 }
static const CLyapValidSubTypes ValidSubTypes
Definition: CLyapMethod.h:53
void CLyapMethod::setProblem ( CLyapProblem problem)

Set a pointer to the current state. This method is used by CLyapTask::process() The results of the simulation are passed via this CState variable

Parameters
CState *currentState Set a pointer to the problem. This method is used by CLyap
CLyapProblem *problem

Set a pointer to the problem. This method is used by CLyap

Parameters
CLyapProblem *problem

Definition at line 113 of file CLyapMethod.cpp.

References mpProblem.

Referenced by CLyapTask::initialize().

114 {mpProblem = problem;}
CLyapProblem * mpProblem
Definition: CLyapMethod.h:74
void CLyapMethod::start ( const CState initialState)
virtual

This instructs the method to prepare for integration starting with the initialState given.

Parameters
const CState *initialState

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

Parameters
double &deltaT
const CState *initialState
Returns
"const double &" actualDeltaT

Definition at line 136 of file CLyapMethod.cpp.

137 {return;}
double CLyapMethod::step ( const double &  deltaT)
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
const double &deltaT

This instructs the method to calculate a 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
const double &deltaT

Reimplemented in CLyapWolfMethod.

Definition at line 124 of file CLyapMethod.cpp.

125 {return 0;}

Member Data Documentation

CLyapProblem* CLyapMethod::mpProblem
protected

A pointer to the current state. This is set from outside with the setState() method and never changed anywhere else. It�s used to report the results to the calling LyapTask A pointer to the trajectory problem.

Definition at line 74 of file CLyapMethod.h.

Referenced by CLyapWolfMethod::calculate(), CLyapWolfMethod::evalF(), setProblem(), and CLyapWolfMethod::start().

const CLyapValidSubTypes CLyapMethod::ValidSubTypes
static

A list of valid trajectory method types;

Definition at line 53 of file CLyapMethod.h.


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