COPASI API
4.16.103
|
#include <CSteadyStateMethod.h>
Public Member Functions | |
CSteadyStateMethod (const CSteadyStateMethod &src, const CCopasiContainer *pParent=NULL) | |
void | doJacobian (CMatrix< C_FLOAT64 > &jacobian, CMatrix< C_FLOAT64 > &jacobianX) |
bool | elevateChildren () |
std::string | getMethodLog () const |
C_FLOAT64 | getStabilityResolution () |
virtual bool | initialize (const CSteadyStateProblem *pProblem) |
virtual bool | isValidProblem (const CCopasiProblem *pProblem) |
CSteadyStateMethod::ReturnCode | process (CState *pState, CMatrix< C_FLOAT64 > &jacobianX, CProcessReport *handler) |
~CSteadyStateMethod () | |
![]() | |
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 CSteadyStateMethod * | createMethod (CCopasiMethod::SubType subType=CCopasiMethod::Newton) |
![]() | |
static std::vector< Refresh * > | buildUpdateSequence (const DataObjectSet &objects, const DataObjectSet &uptoDateObjects, const DataObjectSet &context=DataObjectSet()) |
static void | setRenameHandler (CRenameHandler *rh) |
Protected Member Functions | |
bool | allPositive () |
void | calculateJacobianX (const C_FLOAT64 &oldMaxRate) |
CSteadyStateMethod (CCopasiMethod::SubType subType, const CCopasiContainer *pParent=NULL) | |
void | initializeParameter () |
bool | isEquilibrium (const C_FLOAT64 &resolution) const |
virtual CSteadyStateMethod::ReturnCode | processInternal () |
virtual CSteadyStateMethod::ReturnCode | returnProcess (bool steadyStateFound) |
![]() | |
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 | |
std::ostringstream | mMethodLog |
C_FLOAT64 * | mpDerivationFactor |
C_FLOAT64 * | mpDerivationResolution |
CMatrix< C_FLOAT64 > * | mpJacobianX |
CModel * | mpModel |
CSteadyStateTask * | mpParentTask |
const CSteadyStateProblem * | mpProblem |
C_FLOAT64 * | mpSSResolution |
CState * | mpSteadyState |
![]() | |
CProcessReport * | mpCallBack |
![]() | |
std::string | mKey |
CCopasiObject * | mpValueReference |
size_t | mSize |
Value | mValue |
![]() | |
objectMap | mObjects |
Private Member Functions | |
CSteadyStateMethod () | |
Additional Inherited Members | |
![]() | |
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 } |
![]() | |
static CRenameHandler * | smpRenameHandler = NULL |
Definition at line 43 of file CSteadyStateMethod.h.
Enumerator | |
---|---|
notFound | |
found | |
foundEquilibrium | |
foundNegative |
Definition at line 46 of file CSteadyStateMethod.h.
|
private |
Default constructor.
|
protected |
Specific constructor.
CCopasiMethod::SubType | subType |
const | CCopasiContainer * pParent (default: NULL) |
Default constructor.
Definition at line 58 of file CSteadyStateMethod.cpp.
References CONSTRUCTOR_TRACE, and initializeParameter().
CSteadyStateMethod::CSteadyStateMethod | ( | const CSteadyStateMethod & | src, |
const CCopasiContainer * | pParent = NULL |
||
) |
Copy constructor.
const CSteadyStateMethod & | src |
const | CCopasiContainer * pParent (default: NULL) |
Copy constructor.
const CSteadyStateMethod & | src |
Definition at line 71 of file CSteadyStateMethod.cpp.
References CONSTRUCTOR_TRACE, and initializeParameter().
CSteadyStateMethod::~CSteadyStateMethod | ( | ) |
|
protected |
Check whether all values make physically sence, i.e., volumes and particle number are positive
Definition at line 190 of file CSteadyStateMethod.cpp.
References CStateTemplate::beginIndependent(), CState::beginIndependent(), C_FLOAT64, CState::endDependent(), CModel::getQuantity2NumberFactor(), CModel::getState(), CModel::getStateTemplate(), mpDerivationResolution, mpModel, and CModel::updateSimulatedValues().
Referenced by CNewtonMethod::doIntegration(), CNewtonMethod::doNewtonStep(), and returnProcess().
Definition at line 285 of file CSteadyStateMethod.cpp.
References CModel::calculateJacobianX(), min, mpDerivationFactor, mpDerivationResolution, mpJacobianX, mpModel, mpSteadyState, CModel::setState(), and CModel::updateSimulatedValues().
Referenced by CNewtonMethod::doNewtonStep(), and CNewtonMethod::targetFunction().
|
static |
Create a trajectory method. Note: the returned object has to be released after use with delete
CSteadyStateMethod class. This class describes the interface to all steady state methods. The various method like Newton have to be derived from this class.
Created for COPASI by Stefan Hoops 2002
Definition at line 37 of file CSteadyStateMethod.cpp.
References fatalError, CCopasiMethod::Newton, and CCopasiMethod::unset.
Referenced by CSteadyStateTask::createMethod().
void CSteadyStateMethod::doJacobian | ( | CMatrix< C_FLOAT64 > & | jacobian, |
CMatrix< C_FLOAT64 > & | jacobianX | ||
) |
calls the CModel methods to calculate the jacobians (at the steady state). This trivial method is implemented in the method because it may need to know about some method parameters
Definition at line 267 of file CSteadyStateMethod.cpp.
References CModel::calculateJacobian(), CModel::calculateJacobianX(), mpDerivationResolution, mpModel, mpSteadyState, CModel::setState(), and CModel::updateSimulatedValues().
Referenced by CSteadyStateTask::process().
|
virtual |
This methods must be called to elevate subgroups to derived objects. The default implementation does nothing.
Reimplemented from CCopasiParameterGroup.
Definition at line 111 of file CSteadyStateMethod.cpp.
References initializeParameter().
std::string CSteadyStateMethod::getMethodLog | ( | ) | const |
Definition at line 294 of file CSteadyStateMethod.cpp.
References mMethodLog.
Referenced by StateSubwidget::loadAll().
C_FLOAT64 CSteadyStateMethod::getStabilityResolution | ( | ) |
returns the resolution for stability analysis
Definition at line 277 of file CSteadyStateMethod.cpp.
References C_FLOAT64, CCopasiParameter::getValue(), and CCopasiParameter::Value::pUDOUBLE.
Referenced by CSteadyStateTask::process().
|
virtual |
Initialize the method must be called before process
const | CSteadyStateProblem * pProblem |
Reimplemented in CNewtonMethod.
Definition at line 259 of file CSteadyStateMethod.cpp.
References CCopasiProblem::getModel(), mpModel, and mpProblem.
Referenced by CNewtonMethod::initialize(), and CSteadyStateTask::initialize().
|
protected |
initialize parameters and handle parameters of old copasi files
Definition at line 86 of file CSteadyStateMethod.cpp.
References CCopasiParameterGroup::assertParameter(), C_FLOAT64, CCopasiParameterGroup::getParameter(), CCopasiParameter::getValue(), mpDerivationFactor, mpDerivationResolution, mpSSResolution, CCopasiParameter::Value::pUDOUBLE, CCopasiParameterGroup::removeParameter(), CCopasiParameterGroup::setValue(), and CCopasiParameter::UDOUBLE.
Referenced by CSteadyStateMethod(), CNewtonMethod::elevateChildren(), and elevateChildren().
|
protected |
Check whether the steady state is chemical equilibrium
const | C_FLOAT64 & resolution bool isEquilibrium |
Definition at line 173 of file CSteadyStateMethod.cpp.
References CCopasiVector< T >::begin(), CCopasiVector< T >::end(), CCopasiProblem::getModel(), CModel::getReactions(), CModelEntity::getValue(), and mpProblem.
Referenced by returnProcess().
|
virtual |
Check if the method is suitable for this problem
Reimplemented from CCopasiMethod.
Reimplemented in CNewtonMethod.
Definition at line 243 of file CSteadyStateMethod.cpp.
References CCopasiMessage::EXCEPTION, and CCopasiMethod::isValidProblem().
Referenced by CNewtonMethod::isValidProblem().
CSteadyStateMethod::ReturnCode CSteadyStateMethod::process | ( | CState * | pState, |
CMatrix< C_FLOAT64 > & | jacobianX, | ||
CProcessReport * | handler | ||
) |
This instructs the method to calculate a the steady state starting with the initialState given. The steady state is returned in the object pointed to by steadyState.
CState | * steadyState |
CMatrix< | C_FLOAT64 > & jacobianX |
CProcessReport | * handler |
This instructs the method to calculate a the steady state starting with the initialState given. The steady state is returned in the object pointed to by steadyState.
Definition at line 128 of file CSteadyStateMethod.cpp.
References CCopasiObject::getObjectParent(), CCopasiMethod::mpCallBack, mpJacobianX, mpParentTask, mpSteadyState, and processInternal().
Referenced by CSteadyStateTask::process().
|
protectedvirtual |
This instructs the method to calculate a the steady state starting with the initialState given. The steady state is returned in the object pointed to by steadyState.
This instructs the method to calculate a the steady state
Reimplemented in CNewtonMethod.
Definition at line 170 of file CSteadyStateMethod.cpp.
References notFound.
Referenced by process().
|
protectedvirtual |
This function has to be called at the return of any implementation of the protected function process()
This function has to be called at the return of any implementation of the protected function process
bool | success |
const | C_FLOAT64 & factor |
const | C_FLOAT64 & resolution |
Definition at line 151 of file CSteadyStateMethod.cpp.
References allPositive(), found, foundEquilibrium, foundNegative, isEquilibrium(), mpSSResolution, and notFound.
Referenced by CNewtonMethod::processInternal().
|
protected |
Definition at line 95 of file CSteadyStateMethod.h.
Referenced by CNewtonMethod::doIntegration(), CNewtonMethod::doNewtonStep(), getMethodLog(), CNewtonMethod::processInternal(), and CNewtonMethod::processNewton().
|
protected |
The factor for numerical derivation
Definition at line 88 of file CSteadyStateMethod.h.
Referenced by calculateJacobianX(), and initializeParameter().
|
protected |
The resolution of the variable of numerical derivation
Definition at line 93 of file CSteadyStateMethod.h.
Referenced by allPositive(), calculateJacobianX(), doJacobian(), and initializeParameter().
The jacobian of the steadystate
Definition at line 78 of file CSteadyStateMethod.h.
Referenced by calculateJacobianX(), process(), and CNewtonMethod::solveJacobianXeqB().
|
protected |
A pointer to the model.
Definition at line 63 of file CSteadyStateMethod.h.
Referenced by allPositive(), CNewtonMethod::calculateDerivativesX(), calculateJacobianX(), CNewtonMethod::doIntegration(), doJacobian(), CNewtonMethod::initialize(), initialize(), CNewtonMethod::solveJacobianXeqB(), and CNewtonMethod::targetFunction().
|
protected |
|
protected |
A pointer to the problem.
Definition at line 58 of file CSteadyStateMethod.h.
Referenced by CNewtonMethod::initialize(), initialize(), and isEquilibrium().
|
protected |
The concentration rate that is considered zero
Definition at line 83 of file CSteadyStateMethod.h.
Referenced by CNewtonMethod::initialize(), initializeParameter(), CNewtonMethod::isSteadyState(), returnProcess(), and CNewtonMethod::targetFunction().
|
protected |
A pointer to the steady state
Definition at line 73 of file CSteadyStateMethod.h.
Referenced by CNewtonMethod::calculateDerivativesX(), calculateJacobianX(), CNewtonMethod::containsNaN(), CNewtonMethod::doIntegration(), doJacobian(), process(), CNewtonMethod::processInternal(), CNewtonMethod::solveJacobianXeqB(), and CNewtonMethod::targetFunction().