COPASI API
4.16.103
|
#include <CEFMAlgorithm.h>
Classes | |
class | CSpeciesOrderNode |
Public Member Functions | |
virtual bool | calculate () |
void | calculateFluxModes () |
CEFMAlgorithm (const CEFMAlgorithm &src, const CCopasiContainer *pParent=NULL) | |
virtual bool | initialize () |
~CEFMAlgorithm () | |
![]() | |
CEFMMethod (const CEFMMethod &src, const CCopasiContainer *pParent=NULL) | |
virtual bool | isValidProblem (const CCopasiProblem *pProblem) |
virtual | ~CEFMMethod () |
![]() | |
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 () |
virtual bool | elevateChildren () |
index_iterator | endIndex () const |
name_iterator | endName () const |
CCopasiParameterGroup * | getGroup (const std::string &name) |
const CCopasiParameterGroup * | getGroup (const std::string &name) const |
CCopasiParameterGroup * | getGroup (const size_t &index) |
const CCopasiParameterGroup * | getGroup (const size_t &index) const |
size_t | getIndex (const std::string &name) const |
std::string | getKey (const std::string &name) const |
std::string | getKey (const size_t &index) const |
virtual const std::string & | getName (const size_t &index) const |
virtual const CObjectInterface * | getObject (const CCopasiObjectName &cn) const |
CCopasiParameter * | getParameter (const std::string &name) |
const CCopasiParameter * | getParameter (const std::string &name) const |
CCopasiParameter * | getParameter (const size_t &index) |
const CCopasiParameter * | getParameter (const size_t &index) const |
CCopasiParameter::Type | getType (const std::string &name) const |
CCopasiParameter::Type | getType (const size_t &index) const |
std::string | getUniqueParameterName (const CCopasiParameter *pParameter) const |
const CCopasiParameter::Value & | getValue (const std::string &name) const |
const CCopasiParameter::Value & | getValue (const size_t &index) const |
CCopasiParameter::Value & | getValue (const std::string &name) |
CCopasiParameter::Value & | getValue (const size_t &index) |
CCopasiParameterGroup & | operator= (const CCopasiParameterGroup &rhs) |
bool | removeParameter (const std::string &name) |
bool | removeParameter (const size_t &index) |
template<class CType > | |
bool | setValue (const std::string &name, const CType &value) |
template<class CType > | |
bool | setValue (const size_t &index, const CType &value) |
size_t | size () const |
bool | swap (const size_t &iFrom, const size_t &iTo) |
bool | swap (index_iterator &from, index_iterator &to) |
virtual | ~CCopasiParameterGroup () |
![]() | |
CCopasiParameter (const CCopasiParameter &src, const CCopasiContainer *pParent=NULL) | |
CCopasiParameter (const std::string &name, const Type &type, const void *pValue=NULL, const CCopasiContainer *pParent=NULL, const std::string &objectType="Parameter") | |
virtual CCopasiObjectName | getCN () const |
virtual const std::string & | getKey () const |
virtual std::string | getObjectDisplayName (bool regular=true, bool richtext=false) const |
const CCopasiParameter::Type & | getType () const |
const Value & | getValue () const |
Value & | getValue () |
virtual void * | getValuePointer () const |
CCopasiObject * | getValueReference () const |
bool | isValidValue (const C_FLOAT64 &value) const |
bool | isValidValue (const C_INT32 &value) const |
bool | isValidValue (const unsigned C_INT32 &value) const |
bool | isValidValue (const bool &value) const |
bool | isValidValue (const std::string &value) const |
bool | isValidValue (const CCopasiObjectName &value) const |
bool | isValidValue (const std::vector< CCopasiParameter * > &value) const |
CCopasiParameter & | operator= (const CCopasiParameter &rhs) |
template<class CType > | |
bool | setValue (const CType &value) |
bool | setValue (const std::vector< CCopasiParameter * > &value) |
virtual | ~CCopasiParameter () |
![]() | |
virtual bool | add (CCopasiObject *pObject, const bool &adopt=true) |
CCopasiContainer (const std::string &name, const CCopasiContainer *pParent=NULL, const std::string &type="CN", const unsigned C_INT32 &flag=CCopasiObject::Container) | |
CCopasiContainer (const CCopasiContainer &src, const CCopasiContainer *pParent=NULL) | |
virtual std::string | getChildObjectUnits (const CCopasiObject *pObject) const |
virtual const objectMap & | getObjects () const |
virtual std::string | getUnits () const |
virtual const CCopasiObject * | getValueObject () const |
virtual bool | remove (CCopasiObject *pObject) |
virtual | ~CCopasiContainer () |
![]() | |
void | addDirectDependency (const CCopasiObject *pObject) |
CCopasiObject (const CCopasiObject &src, const CCopasiContainer *pParent=NULL) | |
void | clearDirectDependencies () |
void | clearRefresh () |
bool | dependsOn (DataObjectSet candidates, const DataObjectSet &context=DataObjectSet()) const |
void | getAllDependencies (DataObjectSet &dependencies, const DataObjectSet &context) const |
virtual const DataObjectSet & | getDirectDependencies (const DataObjectSet &context=DataObjectSet()) const |
CCopasiContainer * | getObjectAncestor (const std::string &type) const |
CCopasiDataModel * | getObjectDataModel () |
const CCopasiDataModel * | getObjectDataModel () const |
const std::string & | getObjectName () const |
CCopasiContainer * | getObjectParent () const |
const std::string & | getObjectType () const |
virtual const CObjectInterface::ObjectSet & | getPrerequisites () const |
virtual Refresh * | getRefresh () const |
UpdateMethod * | getUpdateMethod () const |
bool | hasCircularDependencies (DataObjectSet &candidates, DataObjectSet &verified, const DataObjectSet &context) const |
bool | hasUpdateMethod () const |
bool | isArray () const |
bool | isContainer () const |
bool | isDataModel () const |
bool | isMatrix () const |
bool | isNameVector () const |
bool | isNonUniqueName () const |
virtual bool | isPrerequisiteForContext (const CObjectInterface *pObject, const CMath::SimulationContextFlag &context, const CObjectInterface::ObjectSet &changedObjects) const |
bool | isReference () const |
bool | isRoot () const |
bool | isSeparator () const |
bool | isStaticString () const |
bool | isValueBool () const |
bool | isValueDbl () const |
bool | isValueInt () const |
bool | isValueInt64 () const |
bool | isValueString () const |
bool | isVector () const |
virtual bool | mustBeDeleted (const DataObjectSet &deletedObjects) const |
void | removeDirectDependency (const CCopasiObject *pObject) |
void | setDirectDependencies (const DataObjectSet &directDependencies) |
bool | setObjectName (const std::string &name) |
virtual bool | setObjectParent (const CCopasiContainer *pParent) |
void | setObjectValue (const C_FLOAT64 &value) |
void | setObjectValue (const C_INT32 &value) |
void | setObjectValue (const bool &value) |
template<class CType > | |
void | setRefresh (CType *pType, void(CType::*method)(void)) |
template<class CType > | |
void | setUpdateMethod (CType *pType, void(CType::*method)(const C_FLOAT64 &)) |
template<class CType > | |
void | setUpdateMethod (CType *pType, void(CType::*method)(const C_INT32 &)) |
template<class CType > | |
void | setUpdateMethod (CType *pType, void(CType::*method)(const bool &)) |
virtual | ~CCopasiObject () |
![]() | |
CObjectInterface () | |
virtual | ~CObjectInterface () |
Protected Member Functions | |
CEFMAlgorithm (const CCopasiContainer *pParent=NULL) | |
CEFMAlgorithm (const CCopasiMethod::SubType subType, const CCopasiContainer *pParent=NULL) | |
![]() | |
CEFMMethod (const CCopasiTask::Type &taskType, const SubType &subType, const CCopasiContainer *pParent=NULL) | |
![]() | |
CCopasiMethod (const CCopasiTask::Type &taskType, const SubType &subType, const CCopasiContainer *pParent=NULL) | |
![]() | |
CCopasiParameterGroup () | |
![]() | |
template<class CType > | |
CCopasiObject * | addMatrixReference (const std::string &name, CType &reference, const unsigned C_INT32 &flag=0) |
template<class CType > | |
CCopasiObject * | addObjectReference (const std::string &name, CType &reference, const unsigned C_INT32 &flag=0) |
template<class CType > | |
CCopasiObject * | addVectorReference (const std::string &name, CType &reference, const unsigned C_INT32 &flag=0) |
void | initObjects () |
![]() | |
CCopasiObject () | |
CCopasiObject (const std::string &name, const CCopasiContainer *pParent=NULL, const std::string &type="CN", const unsigned C_INT32 &flag=0) | |
Protected Attributes | |
size_t | mhSteps |
std::vector< size_t > | mIndexSet |
unsigned C_INT32 | mMaxStep |
CTableauMatrix * | mpCurrentTableau |
CModel * | mpModel |
CTableauMatrix * | mpNextTableau |
size_t | mReversible |
unsigned C_INT32 | mStep |
unsigned C_INT32 | mStepProcess |
std::vector< std::vector < C_FLOAT64 > > | mStoi |
![]() | |
std::vector< CFluxMode > * | mpFluxModes |
std::vector< const CReaction * > * | mpReorderedReactions |
![]() | |
CProcessReport * | mpCallBack |
![]() | |
std::string | mKey |
CCopasiObject * | mpValueReference |
size_t | mSize |
Value | mValue |
![]() | |
objectMap | mObjects |
Private Member Functions | |
void | buildFluxModes () |
double | calculateCombinations (size_t index) |
void | calculateNextTableau () |
bool | findMinimalCombinationIndex () |
void | initObjects () |
Friends | |
CEFMMethod * | CEFMMethod::createMethod (CCopasiMethod::SubType subType) |
Definition at line 39 of file CEFMAlgorithm.h.
|
protected |
Default constructor
const | CCopasiContainer * pParent (Default: NULL) |
Definition at line 73 of file CEFMAlgorithm.cpp.
References initObjects().
|
protected |
Constructor to be called by derived methods
const | CCopasiMethod::SubType subType |
const | CCopasiContainer * pParent (Default: NULL) |
Definition at line 83 of file CEFMAlgorithm.cpp.
References initObjects().
CEFMAlgorithm::CEFMAlgorithm | ( | const CEFMAlgorithm & | src, |
const CCopasiContainer * | pParent = NULL |
||
) |
Copy Constructor
const | CEFMAlgorithm & src |
Definition at line 93 of file CEFMAlgorithm.cpp.
References initObjects().
CEFMAlgorithm::~CEFMAlgorithm | ( | ) |
Destructor
Definition at line 104 of file CEFMAlgorithm.cpp.
References DESTRUCTOR_TRACE, mpCurrentTableau, mpNextTableau, and pdelete.
|
private |
Construct the flux modes
Definition at line 376 of file CEFMAlgorithm.cpp.
References CTableauMatrix::begin(), CTableauMatrix::end(), mpCurrentTableau, and CEFMMethod::mpFluxModes.
Referenced by calculateFluxModes().
|
virtual |
Execute the optimization algorithm calling simulation routine when needed. It is noted that this procedure can give feedback of its progress by the callback function set with SetCallback. @ return success;
Reimplemented from CEFMMethod.
Reimplemented in CSSAMethod.
Definition at line 195 of file CEFMAlgorithm.cpp.
References calculateFluxModes(), CProcessReport::finishItem(), initialize(), mhSteps, and CCopasiMethod::mpCallBack.
|
private |
Calculate number of combinations for an index
Definition at line 426 of file CEFMAlgorithm.cpp.
References CTableauMatrix::begin(), CTableauMatrix::end(), and mpCurrentTableau.
Referenced by findMinimalCombinationIndex().
void CEFMAlgorithm::calculateFluxModes | ( | ) |
Do the actual calculation
Definition at line 210 of file CEFMAlgorithm.cpp.
References buildFluxModes(), calculateNextTableau(), COutputInterface::DURING, findMinimalCombinationIndex(), CProcessReport::finishItem(), CCopasiObject::getObjectParent(), mhSteps, mIndexSet, mMaxStep, CCopasiMethod::mpCallBack, mpCurrentTableau, mReversible, mStep, mStepProcess, mStoi, pdelete, and CProcessReport::progressItem().
Referenced by CSSAMethod::buildExtremeCurrents(), and calculate().
|
private |
Initialize arrays and pointer called by calculate.
Definition at line 249 of file CEFMAlgorithm.cpp.
References CProcessReport::addItem(), CTableauMatrix::addLine(), CTableauMatrix::begin(), C_FLOAT64, C_INT32, CTableauMatrix::end(), CProcessReport::finishItem(), CCopasiMethod::mpCallBack, mpCurrentTableau, mpNextTableau, mStep, pdelete, CProcessReport::proceed(), CProcessReport::progressItem(), CTableauMatrix::removeLine(), and CTableauMatrix::size().
Referenced by calculateFluxModes().
|
private |
Find index containing smallest number of combinations
Definition at line 390 of file CEFMAlgorithm.cpp.
References C_INT32, calculateCombinations(), mIndexSet, and mStep.
Referenced by calculateFluxModes().
|
virtual |
Initialize arrays and pointer.
Reimplemented from CEFMMethod.
Reimplemented in CSSAMethod.
Definition at line 116 of file CEFMAlgorithm.cpp.
References CProcessReport::addItem(), C_INT32, CCopasiProblem::getModel(), CCopasiObject::getObjectParent(), CCopasiTask::getProblem(), CModel::getReactions(), CModel::getStoi(), CEFMMethod::initialize(), mhSteps, mMaxStep, CCopasiMethod::mpCallBack, CEFMMethod::mpFluxModes, mpModel, CEFMMethod::mpReorderedReactions, mReversible, mStep, mStepProcess, mStoi, CTransposeView< Matrix >::numRows(), and pTask.
Referenced by calculate().
|
private |
Definition at line 111 of file CEFMAlgorithm.cpp.
References CCopasiContainer::addObjectReference(), mStep, and CCopasiObject::ValueInt.
Referenced by CEFMAlgorithm().
|
friend |
|
protected |
Handle to the process report item "Current Step"
Definition at line 174 of file CEFMAlgorithm.h.
Referenced by CSSAMethod::calculate(), calculate(), calculateFluxModes(), CSSAMethod::initialize(), and initialize().
|
protected |
Vector set containing all step indexes for iteration when calculating flux modes.
Definition at line 179 of file CEFMAlgorithm.h.
Referenced by calculateFluxModes(), and findMinimalCombinationIndex().
|
protected |
The max step used for process report.
Definition at line 169 of file CEFMAlgorithm.h.
Referenced by calculateFluxModes(), CSSAMethod::initialize(), and initialize().
|
protected |
A pointer to the current tableau matrix
Definition at line 149 of file CEFMAlgorithm.h.
Referenced by buildFluxModes(), calculateCombinations(), calculateFluxModes(), calculateNextTableau(), and ~CEFMAlgorithm().
|
protected |
A pointer to the model
Definition at line 134 of file CEFMAlgorithm.h.
Referenced by CSSAMethod::buildKineticMatrix(), CSSAMethod::buildStoichiometry(), CSSAMethod::calculate(), CSSAMethod::initialize(), and initialize().
|
protected |
A pointer to the next tableaun matrix
Definition at line 154 of file CEFMAlgorithm.h.
Referenced by calculateNextTableau(), and ~CEFMAlgorithm().
|
protected |
The number of reversible reactions.
Definition at line 144 of file CEFMAlgorithm.h.
Referenced by calculateFluxModes(), CSSAMethod::initialize(), and initialize().
|
protected |
The current step used for process report.
Definition at line 159 of file CEFMAlgorithm.h.
Referenced by calculateFluxModes(), calculateNextTableau(), findMinimalCombinationIndex(), CSSAMethod::initialize(), initialize(), and initObjects().
|
protected |
The current step used for process report.
Definition at line 164 of file CEFMAlgorithm.h.
Referenced by calculateFluxModes(), and initialize().
|
protected |
Matrix containing the reordered stoichiometry matrix.
Definition at line 139 of file CEFMAlgorithm.h.
Referenced by CSSAMethod::buildStoichiometry(), calculateFluxModes(), CSSAMethod::initialize(), initialize(), and CSSAMethod::testForMixingStability().