COPASI API  4.16.103
Public Member Functions | Private Member Functions | Private Attributes | Friends | List of all members
CSteadyStateTask Class Reference

#include <CSteadyStateTask.h>

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

Public Member Functions

virtual CCopasiMethodcreateMethod (const int &type) const
 
 CSteadyStateTask (const CCopasiContainer *pParent=NULL)
 
 CSteadyStateTask (const CSteadyStateTask &src, const CCopasiContainer *pParent=NULL)
 
const CEigengetEigenValues () const
 
const CEigengetEigenValuesReduced () const
 
const CMatrix< C_FLOAT64 > & getJacobian () const
 
const CArrayAnnotationgetJacobianAnnotated () const
 
const CMatrix< C_FLOAT64 > & getJacobianReduced () const
 
const CArrayAnnotationgetJacobianXAnnotated () const
 
const
CSteadyStateMethod::ReturnCode
getResult () const
 
const CStategetState () const
 
virtual bool initialize (const OutputFlag &of, COutputHandler *pOutputHandler, std::ostream *pOstream)
 
void load (CReadConfig &configBuffer)
 
virtual void print (std::ostream *ostream) const
 
virtual bool process (const bool &useInitialValues)
 
virtual bool restore ()
 
void setInitialState ()
 
virtual bool updateMatrices ()
 
virtual ~CSteadyStateTask ()
 
- Public Member Functions inherited from CCopasiTask
 CCopasiTask (const std::string &name="NoName", const CCopasiContainer *pParent=NULL, const std::string &type="Task")
 
 CCopasiTask (const Type &taskType, const CCopasiContainer *pParent=NULL, const std::string &type="Task")
 
 CCopasiTask (const CCopasiTask &src, const CCopasiContainer *pParent=NULL)
 
void cleanup ()
 
CProcessReportgetCallBack () const
 
const CDescriptiongetDescription () const
 
virtual const std::string & getKey () const
 
CCopasiMethodgetMethod ()
 
const CCopasiMethodgetMethod () const
 
COutputHandlergetOutputHandler () const
 
const OutputFlaggetOutputMode () const
 
CCopasiProblemgetProblem ()
 
const CCopasiProblemgetProblem () const
 
CReportgetReport ()
 
const CResultgetResult () const
 
CCopasiParameterGroupgetSliders ()
 
Type getType () const
 
const bool & isScheduled () const
 
const bool & isUpdateModel () const
 
virtual void output (const COutputInterface::Activity &activity)
 
virtual void separate (const COutputInterface::Activity &activity)
 
virtual bool setCallBack (CProcessReport *pCallBack)
 
virtual bool setMethodType (const int &type)
 
void setScheduled (const bool &scheduled)
 
void setType (const Type &type)
 
void setUpdateModel (const bool &updateModel)
 
virtual ~CCopasiTask ()
 
- 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 CObjectInterfacegetObject (const CCopasiObjectName &cn) 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 CCopasiObjectName getCN () const
 
virtual const DataObjectSetgetDirectDependencies (const DataObjectSet &context=DataObjectSet()) const
 
CCopasiContainergetObjectAncestor (const std::string &type) const
 
CCopasiDataModelgetObjectDataModel ()
 
const CCopasiDataModelgetObjectDataModel () const
 
virtual std::string getObjectDisplayName (bool regular=true, bool richtext=false) const
 
const std::string & getObjectName () const
 
CCopasiContainergetObjectParent () const
 
const std::string & getObjectType () const
 
virtual const
CObjectInterface::ObjectSet
getPrerequisites () const
 
virtual RefreshgetRefresh () const
 
UpdateMethodgetUpdateMethod () const
 
virtual voidgetValuePointer () 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 ()
 

Private Member Functions

void cleanup ()
 
void initObjects ()
 

Private Attributes

bool mCalculateReducedSystem
 
CEigen mEigenValues
 
CMatrix< C_FLOAT64mEigenvaluesMatrix
 
CEigen mEigenValuesX
 
CMatrix< C_FLOAT64mEigenvaluesXMatrix
 
CMatrix< C_FLOAT64mJacobian
 
CMatrix< C_FLOAT64mJacobianX
 
CArrayAnnotationmpEigenvaluesJacobianAnn
 
CArrayAnnotationmpEigenvaluesJacobianXAnn
 
CArrayAnnotationmpJacobianAnn
 
CArrayAnnotationmpJacobianXAnn
 
CStatempSteadyState
 
CSteadyStateMethod::ReturnCode mResult
 

Friends

std::ostream & operator<< (std::ostream &os, const CSteadyStateTask &A)
 

Additional Inherited Members

- Public Types inherited from CCopasiTask
enum  eOutputFlagBase {
  INITIALIZE = 0x01, STREAM = 0x02, FINISH = 0x04, REPORT = 0x10,
  PLOT = 0x20, TIME_SERIES = 0x40
}
 
enum  OutputFlag {
  NO_OUTPUT = 0, OUTPUT_BEFORE = INITIALIZE, OUTPUT_AFTER = FINISH, OUTPUT = REPORT | PLOT | STREAM,
  OUTPUT_SE = REPORT | PLOT | INITIALIZE | STREAM | FINISH, OUTPUT_UI = REPORT | PLOT | TIME_SERIES | INITIALIZE | STREAM | FINISH, ONLY_TIME_SERIES = TIME_SERIES | INITIALIZE | STREAM | FINISH
}
 
enum  Type {
  steadyState = 0, timeCourse, scan, fluxMode,
  optimization, parameterFitting, mca, lyap,
  tssAnalysis, sens, moieties, crosssection,
  lna, unset
}
 
- 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
 
- Static Public Member Functions inherited from CCopasiTask
static bool isValidMethod (const unsigned int &method, const unsigned int *validMethods)
 
- 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)
 
- Public Attributes inherited from CCopasiTask
std::string Error
 
std::string Warning
 
- Static Public Attributes inherited from CCopasiTask
static const std::string TypeName []
 
static const unsigned int ValidMethods []
 
static const char * XMLType []
 
- Static Public Attributes inherited from CCopasiContainer
static const std::vector
< CCopasiContainer * > 
EmptyList
 
- 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
}
 
- 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 inherited from CCopasiTask
CDescription mDescription
 
OutputFlag mDoOutput
 
std::string mKey
 
unsigned C_INT32 mOutputCounter
 
CProcessReportmpCallBack
 
CStatempInitialState
 
CCopasiMethodmpMethod
 
COutputHandlermpOutputHandler
 
CCopasiProblemmpProblem
 
CCopasiParameterGroupmpSliders
 
CReport mReport
 
CResult mResult
 
bool mScheduled
 
Type mType
 
bool mUpdateModel
 
- Protected Attributes inherited from CCopasiContainer
objectMap mObjects
 
- Static Protected Attributes inherited from CCopasiObject
static CRenameHandlersmpRenameHandler = NULL
 

Detailed Description

Definition at line 49 of file CSteadyStateTask.h.

Constructor & Destructor Documentation

CSteadyStateTask::CSteadyStateTask ( const CCopasiContainer pParent = NULL)

Default constructor

Parameters
constCCopasiContainer * pParent (default: NULL)

Definition at line 40 of file CSteadyStateTask.cpp.

References CCopasiContainer::add(), createMethod(), initObjects(), CCopasiTask::mpMethod, CCopasiTask::mpProblem, and CCopasiMethod::Newton.

40  :
42  mpSteadyState(NULL),
43  mJacobian(),
44  mJacobianX(),
45  mpJacobianAnn(NULL),
46  mpJacobianXAnn(NULL),
47  mEigenValues("Eigenvalues of Jacobian", this),
48  mEigenValuesX("Eigenvalues of reduced system Jacobian", this)
49 {
50  mpProblem = new CSteadyStateProblem(this);
51 
53  this->add(mpMethod, true);
54 
55  initObjects();
56 }
CCopasiMethod * mpMethod
Definition: CCopasiTask.h:239
virtual CCopasiMethod * createMethod(const int &type) const
CCopasiTask(const std::string &name="NoName", const CCopasiContainer *pParent=NULL, const std::string &type="Task")
CMatrix< C_FLOAT64 > mJacobianX
CArrayAnnotation * mpJacobianAnn
CCopasiProblem * mpProblem
Definition: CCopasiTask.h:234
CArrayAnnotation * mpJacobianXAnn
virtual bool add(CCopasiObject *pObject, const bool &adopt=true)
CMatrix< C_FLOAT64 > mJacobian
CSteadyStateTask::CSteadyStateTask ( const CSteadyStateTask src,
const CCopasiContainer pParent = NULL 
)

Copy constructor

Parameters
constCSteadyStateTask & src
constCCopasiContainer * pParent (default: NULL)

Definition at line 58 of file CSteadyStateTask.cpp.

References CCopasiContainer::add(), createMethod(), CCopasiMethod::getSubType(), initObjects(), CCopasiTask::mpMethod, and CCopasiTask::mpProblem.

59  :
60  CCopasiTask(src, pParent),
62  mJacobian(src.mJacobian),
64  mpJacobianAnn(NULL),
65  mpJacobianXAnn(NULL),
66  mEigenValues(src.mEigenValues, this),
67  mEigenValuesX(src.mEigenValuesX, this)
68 {
69  mpProblem =
71 
73  this->add(mpMethod, true);
74 
75  initObjects();
76 }
CCopasiMethod * mpMethod
Definition: CCopasiTask.h:239
virtual CCopasiMethod * createMethod(const int &type) const
CCopasiTask(const std::string &name="NoName", const CCopasiContainer *pParent=NULL, const std::string &type="Task")
CMatrix< C_FLOAT64 > mJacobianX
CArrayAnnotation * mpJacobianAnn
const CCopasiMethod::SubType & getSubType() const
CCopasiProblem * mpProblem
Definition: CCopasiTask.h:234
CArrayAnnotation * mpJacobianXAnn
virtual bool add(CCopasiObject *pObject, const bool &adopt=true)
CMatrix< C_FLOAT64 > mJacobian
CSteadyStateTask::~CSteadyStateTask ( )
virtual

Destructor

Definition at line 78 of file CSteadyStateTask.cpp.

References mpSteadyState, and pdelete.

79 {
81 }
#define pdelete(p)
Definition: copasi.h:215

Member Function Documentation

void CSteadyStateTask::cleanup ( )
private

cleanup()

Definition at line 91 of file CSteadyStateTask.cpp.

92 {}
CCopasiMethod * CSteadyStateTask::createMethod ( const int &  type) const
virtual

Create a method of the specified type to solve the task. It is the duty of the caller to release the CCopasiMethod.

Parameters
constCCopasiMethod::SubType & type
Returns
CCopasiMethod *

Reimplemented from CCopasiTask.

Definition at line 84 of file CSteadyStateTask.cpp.

References CSteadyStateMethod::createMethod().

Referenced by CSteadyStateTask().

85 {
87 
89 }
static CSteadyStateMethod * createMethod(CCopasiMethod::SubType subType=CCopasiMethod::Newton)
const CEigen & CSteadyStateTask::getEigenValues ( ) const

Retrieves a the eigenvalues of the steady state.

Returns
const CEigen & eigenValues

Definition at line 156 of file CSteadyStateTask.cpp.

References mEigenValues.

Referenced by StateSubwidget::loadJacobian().

157 {
158  return mEigenValues;
159 }
const CEigen & CSteadyStateTask::getEigenValuesReduced ( ) const

Retrieves a the eigenvalues of the steady state.

Returns
const CEigen & eigenValues

Definition at line 160 of file CSteadyStateTask.cpp.

References mEigenValuesX.

Referenced by StateSubwidget::loadJacobian(), and CLNATask::process().

161 {
162  return mEigenValuesX;
163 }
const CMatrix< C_FLOAT64 > & CSteadyStateTask::getJacobian ( ) const

Retrieves a the jacobian of the steady state.

Returns
const CMatrix< C_FLOAT64 > jacobian

Definition at line 141 of file CSteadyStateTask.cpp.

References mJacobian.

Referenced by CMCAMethod::createLinkMatrix().

142 {return mJacobian;}
CMatrix< C_FLOAT64 > mJacobian
const CArrayAnnotation * CSteadyStateTask::getJacobianAnnotated ( ) const

Definition at line 146 of file CSteadyStateTask.cpp.

References mpJacobianAnn.

Referenced by StateSubwidget::loadJacobian().

147 {
148  return mpJacobianAnn;
149 }
CArrayAnnotation * mpJacobianAnn
const CMatrix< C_FLOAT64 > & CSteadyStateTask::getJacobianReduced ( ) const

Retrieves a the jacobian of the steady state.

Returns
const CMatrix< C_FLOAT64 > jacobian

Definition at line 143 of file CSteadyStateTask.cpp.

References mJacobianX.

144 {return mJacobianX;}
CMatrix< C_FLOAT64 > mJacobianX
const CArrayAnnotation * CSteadyStateTask::getJacobianXAnnotated ( ) const

Definition at line 151 of file CSteadyStateTask.cpp.

References mpJacobianXAnn.

Referenced by StateSubwidget::loadJacobian().

152 {
153  return mpJacobianXAnn;
154 }
CArrayAnnotation * mpJacobianXAnn
const CSteadyStateMethod::ReturnCode& CSteadyStateTask::getResult ( ) const
inline

Converts the eigenvalues vector to matrix

Parameters
CEigen&eigenvalues
Returns
CMatrix<C_FLOAT64> &matrix

Definition at line 230 of file CSteadyStateTask.h.

References mResult.

Referenced by StateSubwidget::loadAll(), operator<<(), CLNATask::process(), CMCAMethod::setSteadyStateTask(), and SteadyStateWidget::taskFinishedEvent().

230 {return mResult;}
CSteadyStateMethod::ReturnCode mResult
const CState * CSteadyStateTask::getState ( ) const

Retrieves a pointer to steady state.

Returns
CState * pSteadyState

Definition at line 138 of file CSteadyStateTask.cpp.

References mpSteadyState.

Referenced by StateSubwidget::loadAll(), CQSteadyStateResult::loadResult(), operator<<(), and CQSteadyStateResult::slotUpdateModel().

139 {return mpSteadyState;}
bool CSteadyStateTask::initialize ( const OutputFlag of,
COutputHandler pOutputHandler,
std::ostream *  pOstream 
)
virtual

Initialize the task. If an ostream is given this ostream is used instead of the target specified in the report. This allows nested tasks to share the same output device.

Parameters
constOutputFlag & of
COutputHandler* pOutputHandler
std::ostream* pOstream (default: NULL)
Returns
bool success

Reimplemented from CCopasiTask.

Definition at line 220 of file CSteadyStateTask.cpp.

References CVectorCore< CType >::array(), CStateTemplate::beginIndependent(), CCopasiObject::getCN(), CStateTemplate::getEntities(), CModel::getInitialState(), CCopasiProblem::getModel(), CState::getNumDependent(), CModel::getNumDependentReactionMetabs(), CState::getNumIndependent(), CModel::getStateTemplate(), CModelEntity::getStatus(), CStateTemplate::getUserOrder(), CSteadyStateProblem::initialize(), CSteadyStateMethod::initialize(), CCopasiTask::initialize(), CCopasiMethod::isValidProblem(), mCalculateReducedSystem, mJacobian, mJacobianX, mpJacobianAnn, mpJacobianXAnn, CCopasiTask::mpMethod, CCopasiTask::mpProblem, mpSteadyState, CModelEntity::ODE, pdelete, CModelEntity::REACTIONS, CMatrix< CType >::resize(), CArrayAnnotation::resize(), CArrayAnnotation::setAnnotationCN(), CVectorCore< CType >::size(), and updateMatrices().

Referenced by CFitProblem::initialize(), CLNATask::initialize(), and CMCATask::initialize().

223 {
224  assert(mpProblem && mpMethod);
225 
226  if (!mpMethod->isValidProblem(mpProblem)) return false;
227 
228  bool success = true;
229 
230  if (!updateMatrices())
231  return false;
232 
233  success &= CCopasiTask::initialize(of, pOutputHandler, pOstream);
234 
237 
239 
240 #ifdef xxxx
241  // init Jacobians
242  size_t sizeX = mpSteadyState->getNumIndependent();
243  mJacobianX.resize(sizeX, sizeX);
244  size_t size = sizeX + mpSteadyState->getNumDependent();
245  mJacobian.resize(size, size);
246 
247  //jacobian annotations
248  CStateTemplate & StateTemplate = mpProblem->getModel()->getStateTemplate();
249 
251  CModelEntity **ppEntities = StateTemplate.getEntities();
252  const size_t * pUserOrder = StateTemplate.getUserOrder().array();
253  const size_t * pUserOrderEnd = pUserOrder + StateTemplate.getUserOrder().size();
254 
255  pUserOrder++; // We skip the time which is the first.
256 
257  size_t i, imax = size;
258 
259  for (i = 0; i < imax && pUserOrder != pUserOrderEnd; pUserOrder++)
260  {
261  const CModelEntity::Status & Status = ppEntities[*pUserOrder]->getStatus();
262 
263  if (Status == CModelEntity::ODE ||
264  (Status == CModelEntity::REACTIONS && ppEntities[*pUserOrder]->isUsed()))
265  {
266  mpJacobianAnn->setAnnotationCN(0 , i, ppEntities[*pUserOrder]->getCN());
267  mpJacobianAnn->setAnnotationCN(1 , i, ppEntities[*pUserOrder]->getCN());
268 
269  i++;
270  }
271  }
272 
274 
275  ppEntities = StateTemplate.beginIndependent();
276  imax = sizeX;
277 
278  for (i = 0; i < imax; ++i, ++ppEntities)
279  {
280  mpJacobianXAnn->setAnnotationCN(0 , i, (*ppEntities)->getCN());
281  mpJacobianXAnn->setAnnotationCN(1 , i, (*ppEntities)->getCN());
282  }
283 
284 #endif
285 
286  CSteadyStateProblem* pProblem =
287  dynamic_cast<CSteadyStateProblem *>(mpProblem);
288  assert(pProblem);
289 
290  success &= pProblem->initialize();
291 
292  CSteadyStateMethod* pMethod =
293  dynamic_cast<CSteadyStateMethod *>(mpMethod);
294  assert(pMethod);
295 
296  success &= pMethod->initialize(pProblem);
297 
298  return success;
299 }
CCopasiMethod * mpMethod
Definition: CCopasiTask.h:239
#define pdelete(p)
Definition: copasi.h:215
virtual CCopasiObjectName getCN() const
virtual bool initialize(const OutputFlag &of, COutputHandler *pOutputHandler, std::ostream *pOstream)
void setAnnotationCN(size_t d, size_t i, const std::string cn)
Definition: CState.h:305
CMatrix< C_FLOAT64 > mJacobianX
CArrayAnnotation * mpJacobianAnn
virtual bool isValidProblem(const CCopasiProblem *pProblem)
CCopasiProblem * mpProblem
Definition: CCopasiTask.h:234
CArrayAnnotation * mpJacobianXAnn
size_t getNumDependent() const
Definition: CState.cpp:344
size_t getNumDependentReactionMetabs() const
Definition: CModel.cpp:1133
virtual bool updateMatrices()
size_t getNumIndependent() const
Definition: CState.cpp:342
CModelEntity ** beginIndependent()
Definition: CState.cpp:208
virtual bool initialize(const CSteadyStateProblem *pProblem)
virtual void resize(size_t rows, size_t cols, const bool &copy=false)
Definition: CMatrix.h:151
size_t size() const
Definition: CVector.h:100
const CState & getInitialState() const
Definition: CModel.cpp:1768
CType * array()
Definition: CVector.h:139
const CStateTemplate & getStateTemplate() const
Definition: CModel.cpp:1172
const CModelEntity::Status & getStatus() const
const CVector< size_t > & getUserOrder() const
Definition: CState.cpp:201
CMatrix< C_FLOAT64 > mJacobian
CModel * getModel() const
CModelEntity ** getEntities()
Definition: CState.cpp:204
void CSteadyStateTask::initObjects ( )
private

Definition at line 94 of file CSteadyStateTask.cpp.

References mEigenvaluesMatrix, mEigenvaluesXMatrix, mJacobian, mJacobianX, mpEigenvaluesJacobianAnn, mpEigenvaluesJacobianXAnn, mpJacobianAnn, mpJacobianXAnn, CArrayAnnotation::OBJECTS, CArrayAnnotation::setDescription(), CArrayAnnotation::setDimensionDescription(), CArrayAnnotation::setMode(), and CArrayAnnotation::VECTOR.

Referenced by CSteadyStateTask().

95 {
96  mpJacobianAnn = new CArrayAnnotation("Jacobian (complete system)", this,
100  mpJacobianAnn->setDimensionDescription(0, "Variables of the system, including dependent species");
101  mpJacobianAnn->setDimensionDescription(1, "Variables of the system, including dependent species");
102 
103  mpJacobianXAnn = new CArrayAnnotation("Jacobian (reduced system)", this,
107  mpJacobianXAnn->setDimensionDescription(0, "Independent variables of the system");
108  mpJacobianXAnn->setDimensionDescription(1, "Independent variables of the system");
109 
110  mpEigenvaluesJacobianAnn = new CArrayAnnotation("Eigenvalues of Jacobian", this,
115  mpEigenvaluesJacobianAnn->setDimensionDescription(1, "Real/Imaginary part");
116 
117  mpEigenvaluesJacobianXAnn = new CArrayAnnotation("Eigenvalues of reduced system Jacobian", this,
119 // mpEigenvaluesJacobianXAnn->setMode(CArrayAnnotation::VECTOR);
123  mpEigenvaluesJacobianXAnn->setDimensionDescription(1, "Real/Imaginary part");
124 }
CMatrix< C_FLOAT64 > mJacobianX
void setDescription(const std::string &s)
CArrayAnnotation * mpJacobianAnn
CArrayAnnotation * mpJacobianXAnn
void setMode(size_t d, Mode m)
void setDimensionDescription(size_t d, const std::string &s)
CMatrix< C_FLOAT64 > mEigenvaluesXMatrix
CMatrix< C_FLOAT64 > mJacobian
CArrayAnnotation * mpEigenvaluesJacobianXAnn
CMatrix< C_FLOAT64 > mEigenvaluesMatrix
CArrayAnnotation * mpEigenvaluesJacobianAnn
void CSteadyStateTask::load ( CReadConfig configBuffer)

Loads parameters for this solver with data coming from a CReadConfig object. (CReadConfig object reads an input stream)

Parameters
configbufferreference to a CReadConfig object.

Definition at line 128 of file CSteadyStateTask.cpp.

References CReadConfig::getVariable(), CReadConfig::LOOP, CCopasiTask::mpMethod, CCopasiTask::mpProblem, and CCopasiTask::mScheduled.

Referenced by CCopasiDataModel::loadModel().

129 {
130  configBuffer.getVariable("SteadyState", "bool", &mScheduled,
132 
133  ((CSteadyStateProblem *) mpProblem)->load(configBuffer);
134 
135  ((CSteadyStateMethod *) mpMethod)->load(configBuffer);
136 }
CCopasiMethod * mpMethod
Definition: CCopasiTask.h:239
bool mScheduled
Definition: CCopasiTask.h:217
CCopasiProblem * mpProblem
Definition: CCopasiTask.h:234
C_INT32 getVariable(const std::string &name, const std::string &type, void *pout, CReadConfig::Mode mode=CReadConfig::NEXT)
Definition: CReadConfig.cpp:81
void CSteadyStateTask::print ( std::ostream *  ostream) const
virtual

This is the output method for any object. The default implementation provided with CCopasiObject uses the ostream operator<< of the object to print the object.To override this default behavior one needs to reimplement the virtual print function.

Parameters
std::ostream* ostream

Reimplemented from CCopasiObject.

Definition at line 126 of file CSteadyStateTask.cpp.

126 {(*ostream) << (*this);}
bool CSteadyStateTask::process ( const bool &  useInitialValues)
virtual

Process the task with or without initializing to the initial state.

Parameters
constbool & useInitialValues
Returns
bool success

Reimplemented from CCopasiTask.

Definition at line 301 of file CSteadyStateTask.cpp.

References COutputInterface::AFTER, CModel::applyInitialValues(), CMatrix< CType >::array(), COutputInterface::BEFORE, C_FLOAT64, C_INT32, CEigen::calcEigenValues(), CSteadyStateMethod::doJacobian(), CEigen::getI(), CCopasiProblem::getModel(), CEigen::getR(), CSteadyStateMethod::getStabilityResolution(), CModel::getState(), CState::getTime(), CSteadyStateProblem::isJacobianRequested(), CSteadyStateProblem::isStabilityAnalysisRequested(), CState::isValid(), mEigenValues, mEigenvaluesMatrix, mEigenValuesX, mEigenvaluesXMatrix, mJacobian, mJacobianX, CCopasiTask::mpCallBack, CCopasiTask::mpMethod, CCopasiTask::mpProblem, mpSteadyState, mResult, CSteadyStateMethod::notFound, CCopasiTask::output(), CSteadyStateMethod::process(), restore(), CState::setTime(), CVectorCore< CType >::size(), CMatrix< CType >::size(), and CEigen::stabilityAnalysis().

Referenced by CFitProblem::calculate(), CFitProblem::calculateCrossValidation(), CLNATask::process(), and CMCATask::process().

302 {
303  if (useInitialValues)
304  {
306  }
307 
309 
310  // A steady-state makes only sense in an autonomous model,
311  // i.e., the time of the steady-state must not be changed
312  // during simulation.
313  C_FLOAT64 InitialTime = mpSteadyState->getTime();
314 
315  CSteadyStateMethod* pMethod =
316  dynamic_cast<CSteadyStateMethod *>(mpMethod);
317  assert(pMethod);
318 
319  CSteadyStateProblem* pProblem =
320  dynamic_cast<CSteadyStateProblem *>(mpProblem);
321  assert(pMethod);
322 
324 
325  //call the method
326  mResult = pMethod->process(mpSteadyState,
327  mJacobianX,
328  mpCallBack);
329 
331  restore();
332 
333  //update jacobian
334  if (mpSteadyState->isValid())
335  {
336  if (pProblem->isJacobianRequested() ||
337  pProblem->isStabilityAnalysisRequested())
338  {
339  pMethod->doJacobian(mJacobian, mJacobianX);
340  }
341 
342  //mpProblem->getModel()->setState(mpSteadyState);
343  //mpProblem->getModel()->updateRates();
344 
345  //calculate eigenvalues
346  if (pProblem->isStabilityAnalysisRequested())
347  {
350 
353  }
354  }
355 
356  // Reset the time.
357  mpSteadyState->setTime(InitialTime);
358 
359  C_FLOAT64 * pTo;
360  size_t i;
361 
362  // construct Eigenvalues of Jacobian
363  CVector< C_FLOAT64 > vectorEigen_R = mEigenValues.getR();
364  CVector< C_FLOAT64 > vectorEigen_I = mEigenValues.getI();
365 
366 #ifdef DEBUG_UI
367  C_INT32 size = vectorEigen_R.size() + vectorEigen_I.size();
368 
369  std::cout << "vectorEigen_R.size() = " << vectorEigen_R.size() << " + vectorEigen_I.size() = " << vectorEigen_I.size() << " == " << size << std::endl;
370  std::cout << "size = " << mEigenvaluesXMatrix.size() << std::endl;
371 #endif
372  assert(vectorEigen_R.size() == vectorEigen_I.size());
373 
374  pTo = mEigenvaluesMatrix.array();
375 
376  for (i = 0; i < vectorEigen_R.size(); ++i)
377  {
378  *pTo = vectorEigen_R[i]; ++pTo;
379  *pTo = vectorEigen_I[i]; ++pTo;
380  }
381 
382 #ifdef DEBUG_UI
383  std::cout << mEigenvaluesMatrix << std::endl;
384 #endif
385 
386  // construct Eigenvalues of Jacobian of reduced system
387  CVector< C_FLOAT64 > vectorEigenX_R = mEigenValuesX.getR();
388  CVector< C_FLOAT64 > vectorEigenX_I = mEigenValuesX.getI();
389 
390 #ifdef DEBUG_UI
391  C_INT32 sizeX = vectorEigenX_R.size() + vectorEigenX_I.size();
392 
393  std::cout << "vectorEigenX_R.size() = " << vectorEigenX_R.size() << " + vectorEigenX_I.size() = " << vectorEigenX_I.size() << " == " << sizeX << std::endl;
394  std::cout << "size = " << mEigenvaluesXMatrix.size() << std::endl;
395 #endif
396 
397  assert(vectorEigenX_R.size() == vectorEigenX_I.size());
398 
399  pTo = mEigenvaluesXMatrix.array();
400 
401  for (i = 0; i < vectorEigenX_R.size(); ++i)
402  {
403  *pTo = vectorEigenX_R[i]; ++pTo;
404  *pTo = vectorEigenX_I[i]; ++pTo;
405  }
406 
407 #ifdef DEBUG_UI
408  std::cout << mEigenvaluesXMatrix << std::endl;
409 #endif
410 
412 
414 }
CSteadyStateMethod::ReturnCode mResult
CCopasiMethod * mpMethod
Definition: CCopasiTask.h:239
void calcEigenValues(const CMatrix< C_FLOAT64 > &matrix)
Definition: CEigen.cpp:243
CProcessReport * mpCallBack
Definition: CCopasiTask.h:249
CMatrix< C_FLOAT64 > mJacobianX
bool isStabilityAnalysisRequested() const
virtual void output(const COutputInterface::Activity &activity)
#define C_INT32
Definition: copasi.h:90
void applyInitialValues()
Definition: CModel.cpp:1236
const CVector< C_FLOAT64 > & getI() const
Definition: CEigen.cpp:687
void setTime(const C_FLOAT64 &time)
Definition: CState.cpp:326
CCopasiProblem * mpProblem
Definition: CCopasiTask.h:234
void stabilityAnalysis(const C_FLOAT64 &resolution)
Definition: CEigen.cpp:454
const CVector< C_FLOAT64 > & getR() const
Definition: CEigen.cpp:690
bool isValid() const
Definition: CState.cpp:351
size_t size() const
Definition: CVector.h:100
const C_FLOAT64 & getTime() const
Definition: CState.cpp:325
#define C_FLOAT64
Definition: copasi.h:92
virtual size_t size() const
Definition: CMatrix.h:132
CSteadyStateMethod::ReturnCode process(CState *pState, CMatrix< C_FLOAT64 > &jacobianX, CProcessReport *handler)
C_FLOAT64 getStabilityResolution()
void doJacobian(CMatrix< C_FLOAT64 > &jacobian, CMatrix< C_FLOAT64 > &jacobianX)
bool isJacobianRequested() const
const CState & getState() const
Definition: CModel.cpp:1771
CMatrix< C_FLOAT64 > mEigenvaluesXMatrix
virtual bool restore()
CMatrix< C_FLOAT64 > mJacobian
virtual CType * array()
Definition: CMatrix.h:337
CModel * getModel() const
CMatrix< C_FLOAT64 > mEigenvaluesMatrix
bool CSteadyStateTask::restore ( )
virtual

Perform necessary cleanup procedures

Reimplemented from CCopasiTask.

Definition at line 422 of file CSteadyStateTask.cpp.

References CCopasiProblem::getModel(), CModel::getState(), CCopasiTask::mpProblem, mpSteadyState, CCopasiTask::mUpdateModel, CCopasiTask::restore(), CModel::setInitialState(), CModel::setState(), CModel::updateInitialValues(), and CModel::updateSimulatedValues().

Referenced by process(), CFitProblem::restore(), CLNATask::restore(), CMCATask::restore(), and CQSteadyStateResult::slotUpdateModel().

423 {
424  bool success = CCopasiTask::restore();
425 
426  if (mUpdateModel)
427  {
428  CModel * pModel = mpProblem->getModel();
429 
430  pModel->setState(*mpSteadyState);
431  pModel->updateSimulatedValues(true);
432  pModel->setInitialState(pModel->getState());
433  pModel->updateInitialValues();
434  }
435 
436  return success;
437 }
void setInitialState(const CState &state)
Definition: CModel.cpp:1774
void updateSimulatedValues(const bool &updateMoieties)
Definition: CModel.cpp:1851
CCopasiProblem * mpProblem
Definition: CCopasiTask.h:234
void setState(const CState &state)
Definition: CModel.cpp:1785
bool mUpdateModel
Definition: CCopasiTask.h:223
bool updateInitialValues()
Definition: CModel.cpp:1461
Definition: CModel.h:50
const CState & getState() const
Definition: CModel.cpp:1771
virtual bool restore()
CModel * getModel() const
void CSteadyStateTask::setInitialState ( )

Set initial state by taking the current one.

Definition at line 416 of file CSteadyStateTask.cpp.

References CCopasiProblem::getModel(), CModel::getState(), CCopasiTask::mpProblem, and CModel::setInitialState().

417 {
418  CModel * pModel = mpProblem->getModel();
419  pModel->setInitialState(pModel->getState());
420 }
void setInitialState(const CState &state)
Definition: CModel.cpp:1774
CCopasiProblem * mpProblem
Definition: CCopasiTask.h:234
Definition: CModel.h:50
const CState & getState() const
Definition: CModel.cpp:1771
CModel * getModel() const
bool CSteadyStateTask::updateMatrices ( )
virtual

Resizes result matrices and updates array annotations for a specific task. This is used when we need to know about the data structures of a task result without actually performing the task, e.g. when selecting objects for output. For now we assume that this functionality is also performed when initialize() is called.

Reimplemented from CCopasiTask.

Definition at line 165 of file CSteadyStateTask.cpp.

References CVectorCore< CType >::array(), CStateTemplate::beginIndependent(), CCopasiObject::getCN(), CStateTemplate::getEntities(), CCopasiProblem::getModel(), CStateTemplate::getNumDependent(), CStateTemplate::getNumIndependent(), CModel::getStateTemplate(), CModelEntity::getStatus(), CStateTemplate::getUserOrder(), mEigenvaluesMatrix, mEigenvaluesXMatrix, mJacobian, mJacobianX, mpJacobianAnn, mpJacobianXAnn, CCopasiTask::mpProblem, CModelEntity::ODE, CModelEntity::REACTIONS, CMatrix< CType >::resize(), CArrayAnnotation::resize(), CArrayAnnotation::setAnnotationCN(), and CVectorCore< CType >::size().

Referenced by initialize().

166 {
167  if (!mpProblem->getModel()) return false;
168 
169  const CStateTemplate & stateTemplate = mpProblem->getModel()->getStateTemplate();
170 
171  // init Jacobians
172  size_t sizeX = stateTemplate.getNumIndependent();
173  mJacobianX.resize(sizeX, sizeX);
174  size_t size = sizeX + stateTemplate.getNumDependent();
175  mJacobian.resize(size, size);
176 
177  // Jacobian Annotations
178 
180  CModelEntity *const* ppEntities = stateTemplate.getEntities();
181  const size_t * pUserOrder = stateTemplate.getUserOrder().array();
182  const size_t * pUserOrderEnd = pUserOrder + stateTemplate.getUserOrder().size();
183 
184  pUserOrder++; // We skip the time which is the first.
185 
186  size_t i, imax = size;
187 
188  for (i = 0; i < imax && pUserOrder != pUserOrderEnd; pUserOrder++)
189  {
190  const CModelEntity::Status & Status = ppEntities[*pUserOrder]->getStatus();
191 
192  if (Status == CModelEntity::ODE ||
193  (Status == CModelEntity::REACTIONS && ppEntities[*pUserOrder]->isUsed()))
194  {
195  mpJacobianAnn->setAnnotationCN(0 , i, ppEntities[*pUserOrder]->getCN());
196  mpJacobianAnn->setAnnotationCN(1 , i, ppEntities[*pUserOrder]->getCN());
197 
198  i++;
199  }
200  }
201 
203 
204  ppEntities = stateTemplate.beginIndependent();
205  imax = sizeX;
206 
207  for (i = 0; i < imax; ++i, ++ppEntities)
208  {
209  mpJacobianXAnn->setAnnotationCN(0 , i, (*ppEntities)->getCN());
210  mpJacobianXAnn->setAnnotationCN(1 , i, (*ppEntities)->getCN());
211  }
212 
213  // initial dimension of Eigenvalues of Jacobian
214  mEigenvaluesMatrix.resize(size, 2);
215  mEigenvaluesXMatrix.resize(sizeX, 2);
216 
217  return true;
218 }
virtual CCopasiObjectName getCN() const
size_t getNumIndependent() const
Definition: CState.cpp:222
void setAnnotationCN(size_t d, size_t i, const std::string cn)
CMatrix< C_FLOAT64 > mJacobianX
CArrayAnnotation * mpJacobianAnn
CCopasiProblem * mpProblem
Definition: CCopasiTask.h:234
CArrayAnnotation * mpJacobianXAnn
CModelEntity ** beginIndependent()
Definition: CState.cpp:208
virtual void resize(size_t rows, size_t cols, const bool &copy=false)
Definition: CMatrix.h:151
size_t size() const
Definition: CVector.h:100
size_t getNumDependent() const
Definition: CState.cpp:224
CType * array()
Definition: CVector.h:139
const CStateTemplate & getStateTemplate() const
Definition: CModel.cpp:1172
const CModelEntity::Status & getStatus() const
CMatrix< C_FLOAT64 > mEigenvaluesXMatrix
const CVector< size_t > & getUserOrder() const
Definition: CState.cpp:201
CMatrix< C_FLOAT64 > mJacobian
CModel * getModel() const
CModelEntity ** getEntities()
Definition: CState.cpp:204
CMatrix< C_FLOAT64 > mEigenvaluesMatrix

Friends And Related Function Documentation

std::ostream& operator<< ( std::ostream &  os,
const CSteadyStateTask A 
)
friend

Definition at line 439 of file CSteadyStateTask.cpp.

440 {
441  switch (A.getResult())
442  {
444  os << "A steady state with given resolution was found." << std::endl;
445  break;
446 
448  os << "No steady state with given resolution was found!" << std::endl;
449  os << "(below are the last unsuccessful trial values)" << std::endl;
450  break;
451 
453  os << "An equilibrium steady state (zero fluxes) was found." << std::endl;
454  break;
455 
457  os << "An invalid steady state (negative concentrations) was found." << std::endl;
458  }
459 
460  os << std::endl;
461 
462  // Update all necessary values.
463  CState * pState = const_cast<CState *>(A.getState());
464 
465  if (!pState) return os;
466 
467  CModel * pModel = A.mpProblem->getModel();
468 
469  if (!pModel) return os;
470 
471  pModel->setState(*pState);
472  pModel->updateSimulatedValues(true);
473  pModel->updateNonSimulatedValues();
474 
475  // Metabolite Info: Name, Concentration, Concentration Rate, Particle Number, Particle Rate, Transition Time
476  const CCopasiVector<CMetab> & Metabolites = pModel->getMetabolites();
477  const CMetab * pMetab;
478 
479  size_t i, imax = Metabolites.size();
480 
481  os << "Species" << "\t";
482  os << "Concentration";
483 
484  std::string Units = pModel->getConcentrationUnitsDisplayString();
485 
486  if (Units != "")
487  os << " (" << Units << ")";
488 
489  os << "\t";
490 
491  os << "Concentration Rate";
492  Units = pModel->getConcentrationRateUnitsDisplayString();
493 
494  if (Units != "")
495  os << " (" << Units << ")";
496 
497  os << "\t";
498 
499  os << "Particle Number" << "\t";
500 
501  os << "Particle Number Rate";
502  Units = pModel->getFrequencyUnitsDisplayString();
503 
504  if (Units != "")
505  os << " (" << Units << ")";
506 
507  os << "\t";
508 
509  os << "Transition Time";
510  Units = pModel->getTimeUnitsDisplayString();
511 
512  if (Units != "")
513  os << " (" << Units << ")";
514 
515  os << std::endl;
516 
517  for (i = 0; i < imax; ++i)
518  {
519  pMetab = Metabolites[i];
520  os << CMetabNameInterface::getDisplayName(pModel, *pMetab, false) << "\t";
521  os << pMetab->getConcentration() << "\t";
522  os << pMetab->getConcentrationRate() << "\t";
523  os << pMetab->getValue() << "\t";
524  os << pMetab->getRate() << "\t";
525  os << pMetab->getTransitionTime() << std::endl;
526  }
527 
528  os << std::endl;
529 
530  // Reaction Info: Name, Flux, Particle Flux
531  const CCopasiVector<CReaction>& Reactions = pModel->getReactions();
532  const CReaction * pReaction;
533 
534  imax = Reactions.size();
535 
536  os << "Reaction" << "\t";
537 
538  os << "Flux";
539  Units = pModel->getQuantityRateUnitsDisplayString();
540 
541  if (Units != "")
542  os << " (" << Units << ")";
543 
544  os << "\t";
545 
546  os << "Particle Flux";
547  Units = pModel->getFrequencyUnitsDisplayString();;
548 
549  if (Units != "")
550  os << " (" << Units << ")";
551 
552  os << std::endl;
553 
554  for (i = 0; i < imax; ++i)
555  {
556  pReaction = Reactions[i];
557  os << pReaction->getObjectName() << "\t";
558  os << pReaction->getFlux() << "\t";
559  os << pReaction->getParticleFlux() << std::endl;
560  }
561 
562  os << std::endl;
563 
564  if (static_cast<CSteadyStateProblem *>(A.mpProblem)->isJacobianRequested())
565  {
566  os << *A.mpJacobianAnn << std::endl;
567 
568  if (static_cast<CSteadyStateProblem *>(A.mpProblem)->isStabilityAnalysisRequested())
569  {
570  os << "Eigenvalues\treal\timaginary" << std::endl;
571  imax = A.mEigenValues.getR().size();
572 
573  for (i = 0; i < imax; i++)
574  os << "\t" << A.mEigenValues.getR()[i] << "\t" << A.mEigenValues.getI()[i] << std::endl;
575 
576  os << std::endl;
577  }
578 
579  os << *A.mpJacobianXAnn << std::endl;
580 
581  if (static_cast<CSteadyStateProblem *>(A.mpProblem)->isStabilityAnalysisRequested())
582  {
583  os << "Eigenvalues\treal\timaginary" << std::endl;
584  imax = A.mEigenValuesX.getR().size();
585 
586  for (i = 0; i < imax; i++)
587  os << "\t" << A.mEigenValuesX.getR()[i] << "\t" << A.mEigenValuesX.getI()[i] << std::endl;
588 
589  os << std::endl;
590  }
591  }
592 
593  if (static_cast<CSteadyStateProblem *>(A.mpProblem)->isStabilityAnalysisRequested())
594  {
595  os << "Stability Analysis of the Reduced System" << std::endl;
596  os << A.mEigenValuesX << std::endl;
597  }
598 
599  return os;
600 }
const CSteadyStateMethod::ReturnCode & getResult() const
std::string getTimeUnitsDisplayString() const
Definition: CModel.cpp:4531
const C_FLOAT64 & getParticleFlux() const
Definition: CReaction.cpp:201
const C_FLOAT64 & getRate() const
const CCopasiVector< CMetab > & getMetabolites() const
Definition: CModel.cpp:1051
std::string getConcentrationRateUnitsDisplayString() const
Definition: CModel.cpp:4607
const std::string & getObjectName() const
std::string getFrequencyUnitsDisplayString() const
Definition: CModel.cpp:4539
virtual size_t size() const
void updateNonSimulatedValues(void)
Definition: CModel.cpp:1892
void updateSimulatedValues(const bool &updateMoieties)
Definition: CModel.cpp:1851
std::string getQuantityRateUnitsDisplayString() const
Definition: CModel.cpp:4657
Definition: CState.h:305
const CState * getState() const
CArrayAnnotation * mpJacobianAnn
const C_FLOAT64 & getFlux() const
Definition: CReaction.cpp:192
static std::string getDisplayName(const CModel *model, const std::string &key, const bool &quoted)
Definition: CMetab.h:178
const CVector< C_FLOAT64 > & getI() const
Definition: CEigen.cpp:687
CCopasiProblem * mpProblem
Definition: CCopasiTask.h:234
CArrayAnnotation * mpJacobianXAnn
void setState(const CState &state)
Definition: CModel.cpp:1785
const CVector< C_FLOAT64 > & getR() const
Definition: CEigen.cpp:690
size_t size() const
Definition: CVector.h:100
std::string getConcentrationUnitsDisplayString() const
Definition: CModel.cpp:4587
const C_FLOAT64 & getValue() const
CCopasiVectorNS< CReaction > & getReactions()
Definition: CModel.cpp:1039
const C_FLOAT64 & getConcentration() const
Definition: CMetab.cpp:218
Definition: CModel.h:50
const C_FLOAT64 & getTransitionTime() const
Definition: CMetab.cpp:229
C_FLOAT64 getConcentrationRate() const
Definition: CMetab.cpp:870
CModel * getModel() const

Member Data Documentation

bool CSteadyStateTask::mCalculateReducedSystem
private

Whether the model is actually reducible and calculating stability of the reduced steady states makes sense

Definition at line 75 of file CSteadyStateTask.h.

Referenced by initialize().

CEigen CSteadyStateTask::mEigenValues
private

The Eigenvalues of the Jacobian of the system

Definition at line 80 of file CSteadyStateTask.h.

Referenced by getEigenValues(), operator<<(), and process().

CMatrix<C_FLOAT64> CSteadyStateTask::mEigenvaluesMatrix
private

The Eigenvalues matrix of the Jacobian of the system

Definition at line 90 of file CSteadyStateTask.h.

Referenced by initObjects(), process(), and updateMatrices().

CEigen CSteadyStateTask::mEigenValuesX
private

The Eigenvalues of the Jacobian of the reduced system

Definition at line 85 of file CSteadyStateTask.h.

Referenced by getEigenValuesReduced(), operator<<(), and process().

CMatrix<C_FLOAT64> CSteadyStateTask::mEigenvaluesXMatrix
private

The Eigenvalues matrix of the Jacobian of the reduced system

Definition at line 95 of file CSteadyStateTask.h.

Referenced by initObjects(), process(), and updateMatrices().

CMatrix< C_FLOAT64 > CSteadyStateTask::mJacobian
private

The jacobian of the steady state.

Definition at line 61 of file CSteadyStateTask.h.

Referenced by getJacobian(), initialize(), initObjects(), process(), and updateMatrices().

CMatrix< C_FLOAT64 > CSteadyStateTask::mJacobianX
private

The jacobian of the steady state.

Definition at line 66 of file CSteadyStateTask.h.

Referenced by getJacobianReduced(), initialize(), initObjects(), process(), and updateMatrices().

CArrayAnnotation* CSteadyStateTask::mpEigenvaluesJacobianAnn
private

Definition at line 97 of file CSteadyStateTask.h.

Referenced by initObjects().

CArrayAnnotation* CSteadyStateTask::mpEigenvaluesJacobianXAnn
private

Definition at line 98 of file CSteadyStateTask.h.

Referenced by initObjects().

CArrayAnnotation* CSteadyStateTask::mpJacobianAnn
private
CArrayAnnotation* CSteadyStateTask::mpJacobianXAnn
private
CState* CSteadyStateTask::mpSteadyState
private

A pointer to the found steady state.

Definition at line 56 of file CSteadyStateTask.h.

Referenced by getState(), initialize(), process(), restore(), and ~CSteadyStateTask().

CSteadyStateMethod::ReturnCode CSteadyStateTask::mResult
private

The result of the steady state analysis.

Definition at line 103 of file CSteadyStateTask.h.

Referenced by getResult(), and process().


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