|
COPASI API
4.40.278
|
#include <CEFMAlgorithm.h>
Classes | |
| class | CSpeciesOrderNode |
Public Member Functions | |
| virtual bool | calculate () |
| void | calculateFluxModes () |
| CEFMAlgorithm (const CDataContainer *pParent, const CTaskEnum::Method &methodType=CTaskEnum::Method::EFMAlgorithm, const CTaskEnum::Task &taskType=CTaskEnum::Task::fluxMode) | |
| CEFMAlgorithm (const CEFMAlgorithm &src, const CDataContainer *pParent) | |
| virtual bool | initialize () |
| ~CEFMAlgorithm () | |
Public Member Functions inherited from CEFMMethod | |
| CEFMMethod (const CDataContainer *pParent, const CTaskEnum::Method &methodType, const CTaskEnum::Task &taskType=CTaskEnum::Task::fluxMode) | |
| CEFMMethod (const CEFMMethod &src, const CDataContainer *pParent) | |
| virtual bool | isValidProblem (const CCopasiProblem *pProblem) |
| virtual | ~CEFMMethod () |
Public Member Functions inherited from CCopasiMethod | |
| CCopasiMethod (const CCopasiMethod &src, const CDataContainer *pParent) | |
| virtual void | clearCallBack () |
| const CProcessReportLevel & | getCallBack () const |
| CMathContainer * | getMathContainer () const |
| const CTaskEnum::Method & | getSubType () const |
| const CTaskEnum::Task & | getType () const |
| virtual void | load (CReadConfig &configBuffer, CReadConfig::Mode mode=CReadConfig::SEARCH) |
| CCopasiMethod & | operator= (const CCopasiMethod &rhs) |
| virtual void | print (std::ostream *ostream) const |
| virtual void | printResult (std::ostream *ostream) const |
| virtual bool | setCallBack (CProcessReportLevel callBack) |
| void | setMathContainer (CMathContainer *pContainer) |
| virtual | ~CCopasiMethod () |
Public Member Functions inherited from CCopasiParameterGroup | |
| bool | addGroup (const std::string &name) |
| void | addParameter (CCopasiParameter *pParameter) |
| bool | addParameter (const CCopasiParameter ¶meter) |
| bool | addParameter (const std::string &name, const CCopasiParameter::Type type, const CCopasiParameter::UserInterfaceFlag &flag=CCopasiParameter::UserInterfaceFlag::All) |
| template<class CType > | |
| bool | addParameter (const std::string &name, const CCopasiParameter::Type type, const CType &value, const CCopasiParameter::UserInterfaceFlag &flag=CCopasiParameter::UserInterfaceFlag::All) |
| virtual bool | applyData (const CData &data, CUndoData::CChangeSet &changes) |
| CCopasiParameterGroup * | assertGroup (const std::string &name, const CCopasiParameter::UserInterfaceFlag &flag=CCopasiParameter::UserInterfaceFlag::All) |
| template<class CType > | |
| CType * | assertParameter (const std::string &name, const CCopasiParameter::Type type, const CType &defaultValue, const CCopasiParameter::UserInterfaceFlag &flag=CCopasiParameter::UserInterfaceFlag::All) |
| index_iterator | beginIndex () const |
| const_name_iterator | beginName () const |
| CCopasiParameterGroup (const CCopasiParameterGroup &src, const CDataContainer *pParent=NULL) | |
| CCopasiParameterGroup (const std::string &name, const CDataContainer *pParent=NO_PARENT, const std::string &objectType="ParameterGroup") | |
| void | clear () |
| virtual void | createUndoData (CUndoData &undoData, const CUndoData::Type &type, const CData &oldData=CData(), const CCore::Framework &framework=CCore::Framework::ParticleNumbers) const |
| virtual bool | elevateChildren () |
| index_iterator | endIndex () const |
| const_name_iterator | endName () const |
| CCopasiParameterGroup & | getElementTemplates () |
| const CCopasiParameterGroup & | getElementTemplates () const |
| CCopasiParameterGroup * | getGroup (const size_t &index) |
| const CCopasiParameterGroup * | getGroup (const size_t &index) const |
| CCopasiParameterGroup * | getGroup (const std::string &name) |
| const CCopasiParameterGroup * | getGroup (const std::string &name) const |
| virtual size_t | getIndex (const CDataObject *pObject) const |
| size_t | getIndex (const std::string &name) const |
| std::string | getKey (const size_t &index) const |
| std::string | getKey (const std::string &name) const |
| virtual const std::string & | getName (const size_t &index) const |
| virtual const CObjectInterface * | getObject (const CCommonName &cn) const |
| CCopasiParameter * | getParameter (const size_t &index) |
| const CCopasiParameter * | getParameter (const size_t &index) const |
| CCopasiParameter * | getParameter (std::string name) |
| const CCopasiParameter * | getParameter (std::string name) const |
| CCopasiParameter::Type | getType (const size_t &index) const |
| CCopasiParameter::Type | getType (const std::string &name) const |
| std::string | getUniqueParameterName (const CCopasiParameter *pParameter) const |
| template<class CType > | |
| CType & | getValue (const size_t &index) |
| template<class CType > | |
| const CType & | getValue (const size_t &index) const |
| template<class CType > | |
| CType & | getValue (const std::string &name) |
| template<class CType > | |
| const CType & | getValue (const std::string &name) const |
| bool | haveTemplate () const |
| virtual CUndoObjectInterface * | insert (const CData &data) |
| CCopasiParameterGroup & | operator= (const CCopasiParameterGroup &rhs) |
| virtual bool | remove (CDataObject *pObject) |
| bool | removeParameter (CCopasiParameter *pParameter) |
| bool | removeParameter (const size_t &index) |
| bool | removeParameter (const std::string &name) |
| virtual void | setUserInterfaceFlag (const UserInterfaceFlag &flag) |
| template<class CType > | |
| bool | setValue (const size_t &index, const CType &value) |
| template<class CType > | |
| bool | setValue (const std::string &name, const CType &value) |
| size_t | size (const UserInterfaceFlag &require=UserInterfaceFlag::None, const UserInterfaceFlag &exclude=UserInterfaceFlag::None) const |
| bool | swap (const size_t &iFrom, const size_t &iTo) |
| bool | swap (index_iterator &from, index_iterator &to) |
| virtual CData | toData () const |
| virtual void | updateIndex (const size_t &index, const CUndoObjectInterface *pUndoObject) |
| virtual | ~CCopasiParameterGroup () |
Public Member Functions inherited from CCopasiParameter | |
| CCopasiParameter (const CCopasiParameter &src, const CDataContainer *pParent) | |
| CCopasiParameter (const std::string &name, const Type &type, const void *pValue=NULL, const CDataContainer *pParent=NO_PARENT, const std::string &objectType="Parameter") | |
| virtual CCommonName | getCN () const override |
| template<class CType > | |
| const CType & | getDefault () const |
| virtual const std::string & | getKey () const override |
| virtual std::string | getObjectDisplayName () const override |
| const CCopasiParameter::Type & | getType () const |
| const UserInterfaceFlag & | getUserInterfaceFlag () const |
| template<class CType > | |
| std::vector< std::pair< CType, CType > > & | getValidValues () |
| template<class CType > | |
| const std::vector< std::pair< CType, CType > > & | getValidValues () const |
| void * | getValidValuesPointer () const |
| template<class CType > | |
| CType & | getValue () |
| template<class CType > | |
| const CType & | getValue () const |
| virtual void * | getValuePointer () const override |
| CDataObject * | getValueReference () const |
| bool | hasValidValues () const |
| bool | isBasic () const |
| bool | isDefault () const |
| bool | isEditable () const |
| bool | isUnsupported () const |
| bool | isValidValue (const bool &value) const |
| bool | isValidValue (const C_FLOAT64 &value) const |
| bool | isValidValue (const C_INT32 &value) const |
| bool | isValidValue (const CCommonName &value) const |
| template<class CType > | |
| bool | isValidValue (const CType &) const |
| bool | isValidValue (const std::string &value) const |
| bool | isValidValue (const std::vector< CCopasiParameter * > &value) const |
| bool | isValidValue (const unsigned C_INT32 &value) const |
| CCopasiParameter & | operator= (const CCopasiParameter &rhs) |
| template<class CType > | |
| bool | setDefault (const CType &defaultValue) |
| bool | setDefault (const std::vector< CCopasiParameter * > &defaultValue) |
| virtual bool | setObjectParent (const CDataContainer *pParent) override |
| template<class CType , class Enum > | |
| bool | setValidValues (const CEnumAnnotation< CType, Enum > &validValues) |
| template<class CType > | |
| bool | setValidValues (const std::vector< std::pair< CType, CType > > &validValues) |
| template<class CType > | |
| bool | setValue (const CType &value) |
| bool | setValue (const std::vector< CCopasiParameter * > &value) |
| virtual | ~CCopasiParameter () |
Public Member Functions inherited from CDataContainer | |
| virtual bool | add (CDataObject *pObject, const bool &adopt=true) |
| virtual bool | appendDeletedDependentData (CUndoData &undoData) const |
| CDataContainer (const CDataContainer &src, const CDataContainer *pParent) | |
| CDataContainer (const std::string &name, const CDataContainer *pParent=NO_PARENT, const std::string &type="CN", const CFlags< Flag > &flag=CFlags< Flag >::None) | |
| virtual std::string | getChildObjectUnits (const CDataObject *pObject) const |
| void | getDescendants (CDataObject::DataObjectSet &descendants, const bool &recursive=false) const |
| virtual objectMap & | getObjects () |
| virtual const objectMap & | getObjects () const |
| virtual const std::string | getUnits () const override |
| virtual const CDataObject * | getValueObject () const override |
| void | objectRenamed (CDataObject *pObject, const std::string &oldName) |
| virtual | ~CDataContainer () |
Public Member Functions inherited from CDataObject | |
| void | addIssue (const CIssue &issue) |
| void | addReference (const CDataContainer *pReference) |
| virtual void | calculateValue () override |
| CDataObject (const CDataObject &src, const CDataContainer *pParent=NULL) | |
| virtual void | destruct () override |
| virtual const CDataObject * | getDataObject () const override |
| CDataContainer * | getObjectAncestor (const std::string &type) const |
| CDataModel * | getObjectDataModel () const |
| const CObjectInterface * | getObjectFromCN (const CCommonName &cn) const |
| const std::string & | getObjectName () const |
| CDataContainer * | getObjectParent () const |
| const std::string & | getObjectType () const |
| virtual const CObjectInterface::ObjectSet & | getPrerequisites () const override |
| virtual const CValidity & | getValidity () const override |
| bool | hasFlag (const Flag &flag) const |
| virtual bool | isPrerequisiteForContext (const CObjectInterface *pObject, const CCore::SimulationContextFlag &context, const CObjectInterface::ObjectSet &changedObjects) const override |
| bool | prerequisitsContains (const DataObjectSet &objects) const |
| void | removeIssue (const CIssue &issue) |
| void | removeReference (const CDataContainer *pReference) |
| bool | setObjectName (const std::string &name) |
| void | validityChanged (const CValidity &changedValidity) override |
| void | validityRemoved (const CValidity &changedValidity) |
| virtual | ~CDataObject () |
Public Member Functions inherited from CObjectInterface | |
| CObjectInterface () | |
| CObjectInterface (const CObjectInterface &src) | |
| virtual | ~CObjectInterface () |
Public Member Functions inherited from CUndoObjectInterface | |
| CUndoObjectInterface () | |
| CUndoObjectInterface (const CUndoObjectInterface &src) | |
| bool | generateUuid () |
| const xg::Guid & | getUuid () const |
| bool | setUuid (const std::string &uuid) |
| bool | setUuid (const xg::Guid &uuid) |
| virtual | ~CUndoObjectInterface () |
Private Member Functions | |
| void | buildFluxModes () |
| double | calculateCombinations (size_t index) |
| void | calculateNextTableau () |
| CEFMAlgorithm () | |
| bool | findMinimalCombinationIndex () |
| void | initObjects () |
Additional Inherited Members | |
Public Types inherited from CCopasiParameterGroup | |
| typedef CDataObjectMap::const_type_iterator< CCopasiParameter > | const_name_iterator |
| typedef std::vector< CCopasiParameter * > | elements |
| typedef elements::iterator | index_iterator |
| typedef CDataObjectMap::type_iterator< CCopasiParameter > | name_iterator |
Public Types inherited from CCopasiParameter | |
| enum class | eUserInterfaceFlag { editable , basic , unsupported , __SIZE } |
| enum class | Type { DOUBLE = 0 , UDOUBLE , INT , UINT , BOOL , GROUP , STRING , CN , KEY , FILE , EXPRESSION , INVALID , __SIZE } |
| typedef CFlags< eUserInterfaceFlag > | UserInterfaceFlag |
Public Types inherited from CDataContainer | |
| typedef CDataObjectMap | objectMap |
Public Types inherited from CDataObject | |
| typedef std::set< const CDataObject * > | DataObjectSet |
| enum | Flag { Container , Vector , Matrix , NameVector , Reference , ValueBool , ValueInt , ValueInt64 , ValueDbl , NonUniqueName , StaticString , ValueString , Separator , DisplayName , ModelEntity , Array , DataModel , Root , Gui , __SIZE } |
Public Types inherited from CObjectInterface | |
| typedef std::vector< const CDataContainer * > | ContainerList |
| typedef std::set< const CObjectInterface * > | ObjectSet |
Static Public Member Functions inherited from CCopasiParameter | |
| static void | allocateValidValues (const Type &type, void *&pValidValues) |
| static void | allocateValue (const Type &type, void *&pValue) |
| static void | assignValue (const Type &type, void *&pValue, const void *pNewValue) |
| static void | deleteValidValues (const Type &type, void *&pValidValues) |
| static void | deleteValue (const Type &type, void *&pValue) |
| static CCopasiParameter * | fromData (const CData &data, CUndoObjectInterface *pParent) |
Static Public Member Functions inherited from CDataContainer | |
| static CDataContainer * | fromData (const CData &data, CUndoObjectInterface *pParent) |
Static Public Member Functions inherited from CDataObject | |
| static CDataObject * | fromData (const CData &data, CUndoObjectInterface *pParent) |
| static void | sanitizeObjectName (std::string &name) |
Static Public Member Functions inherited from CObjectInterface | |
| static const CDataObject * | DataObject (const CObjectInterface *pInterface) |
| static CObjectInterface * | GetObjectFromCN (const ContainerList &listOfContainer, const CCommonName &objName) |
Static Public Member Functions inherited from CUndoObjectInterface | |
| template<class CType > | |
| static CType * | fromData (const CData &, CUndoObjectInterface *) |
Static Public Attributes inherited from CCopasiParameter | |
| static const CEnumAnnotation< std::string, Type > | TypeName |
| static const CEnumAnnotation< std::string, Type > | XMLType |
Static Public Attributes inherited from CDataContainer | |
| static const CObjectInterface::ContainerList | EmptyList |
Protected Member Functions inherited from CCopasiMethod | |
| CCopasiMethod (const CCopasiMethod &src) | |
| CCopasiMethod (const CDataContainer *pParent, const CTaskEnum::Method &methodType, const CTaskEnum::Task &taskType) | |
| virtual void | signalMathContainerChanged () |
Protected Member Functions inherited from CCopasiParameterGroup | |
| CCopasiParameterGroup () | |
Protected Member Functions inherited from CCopasiParameter | |
| CCopasiParameter (const CCopasiParameter &src) | |
Protected Member Functions inherited from CDataContainer | |
| template<class CType > | |
| CDataMatrixReference< CType > * | addMatrixReference (const std::string &name, CType &reference, const CFlags< Flag > &flag=CFlags< Flag >::None) |
| template<class CType > | |
| CDataObjectReference< CType > * | addObjectReference (const std::string &name, CType &reference, const CFlags< Flag > &flag=CFlags< Flag >::None) |
| template<class CType > | |
| CDataVectorReference< CType > * | addVectorReference (const std::string &name, CType &reference, const CFlags< Flag > &flag=CFlags< Flag >::None) |
| CDataContainer (const CDataContainer &src) | |
| void | initObjects () |
Protected Member Functions inherited from CDataObject | |
| CDataObject () | |
| CDataObject (const std::string &name, const CDataContainer *pParent=static_cast< CDataContainer * >((void *) 0), const std::string &type="CN", const CFlags< Flag > &flag=CFlags< Flag >::None) | |
|
private |
Default constructor.
| CEFMAlgorithm::CEFMAlgorithm | ( | const CDataContainer * | pParent, |
| const CTaskEnum::Method & | methodType = CTaskEnum::Method::EFMAlgorithm, |
||
| const CTaskEnum::Task & | taskType = CTaskEnum::Task::fluxMode |
||
| ) |
Specific constructor
| const | CDataContainer * pParent |
| const | CTaskEnum::Method & methodType (default: EFMAlgorithm) |
| const | CTaskEnum::Task & taskType (default: fluxMode) |
References initObjects().
| CEFMAlgorithm::CEFMAlgorithm | ( | const CEFMAlgorithm & | src, |
| const CDataContainer * | pParent | ||
| ) |
| CEFMAlgorithm::~CEFMAlgorithm | ( | ) |
Destructor
References DESTRUCTOR_TRACE, mpCurrentTableau, mpNextTableau, and pdelete.
|
private |
Construct the flux modes
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.
References calculateFluxModes(), CProcessReportLevel::finishItem(), initialize(), mhSteps, and CCopasiMethod::mProcessReport.
|
private |
Calculate number of combinations for an index
References CTableauMatrix::begin(), CTableauMatrix::end(), and mpCurrentTableau.
Referenced by findMinimalCombinationIndex().
| void CEFMAlgorithm::calculateFluxModes | ( | ) |
Do the actual calculation
References buildFluxModes(), calculateNextTableau(), COutputInterface::DURING, findMinimalCombinationIndex(), CProcessReportLevel::finishItem(), CDataObject::getObjectParent(), mhSteps, mIndexSet, mMaxStep, mpCurrentTableau, CCopasiMethod::mProcessReport, mReversible, mStep, mStepProcess, mStoi, pdelete, and CProcessReportLevel::progressItem().
Referenced by CSSAMethod::buildExtremeCurrents(), and calculate().
|
private |
Initialize arrays and pointer called by calculate.
References CProcessReportLevel::addItem(), CTableauMatrix::addLine(), CTableauMatrix::begin(), C_FLOAT64, C_INT32, CTableauMatrix::end(), CProcessReportLevel::finishItem(), mpCurrentTableau, mpNextTableau, CCopasiMethod::mProcessReport, mStep, pdelete, CProcessReportLevel::proceed(), CProcessReportLevel::progressItem(), CTableauMatrix::removeLine(), and CTableauMatrix::size().
Referenced by calculateFluxModes().
|
private |
Find index containing smallest number of combinations
References C_INT32, calculateCombinations(), mIndexSet, and mStep.
Referenced by calculateFluxModes().
|
virtual |
Initialize arrays and pointer.
Reimplemented from CEFMMethod.
Reimplemented in CSSAMethod.
References CProcessReportLevel::addItem(), C_INT32, CMathContainer::getModel(), CDataObject::getObjectParent(), CModel::getReactions(), CModel::getStoi(), CEFMMethod::initialize(), mhSteps, mMaxStep, CCopasiMethod::mpContainer, CEFMMethod::mpFluxModes, mpModel, CEFMMethod::mpReorderedReactions, CCopasiMethod::mProcessReport, mReversible, mStep, mStepProcess, mStoi, CTransposeView< Matrix >::numCols(), and CTransposeView< Matrix >::numRows().
Referenced by calculate().
|
private |
References CDataContainer::addObjectReference(), mStep, and CDataObject::ValueInt.
Referenced by CEFMAlgorithm().
|
protected |
Handle to the process report item "Current Step"
Referenced by calculate(), CSSAMethod::calculate(), calculateFluxModes(), initialize(), and CSSAMethod::initialize().
|
protected |
Vector set containing all step indexes for iteration when calculating flux modes.
Referenced by calculateFluxModes(), and findMinimalCombinationIndex().
|
protected |
The max step used for process report.
Referenced by calculateFluxModes(), initialize(), and CSSAMethod::initialize().
|
protected |
A pointer to the current tableau matrix
Referenced by buildFluxModes(), calculateCombinations(), calculateFluxModes(), calculateNextTableau(), and ~CEFMAlgorithm().
|
protected |
A pointer to the model
Referenced by CSSAMethod::buildKineticMatrix(), CSSAMethod::buildStoichiometry(), CSSAMethod::calculate(), initialize(), and CSSAMethod::initialize().
|
protected |
A pointer to the next tableaun matrix
Referenced by calculateNextTableau(), and ~CEFMAlgorithm().
|
protected |
The number of reversible reactions.
Referenced by calculateFluxModes(), initialize(), and CSSAMethod::initialize().
|
protected |
The current step used for process report.
Referenced by calculateFluxModes(), calculateNextTableau(), findMinimalCombinationIndex(), initialize(), CSSAMethod::initialize(), and initObjects().
|
protected |
The current step used for process report.
Referenced by calculateFluxModes(), and initialize().
|
protected |
Matrix containing the reordered stoichiometry matrix.
Referenced by CSSAMethod::buildStoichiometry(), calculateFluxModes(), initialize(), CSSAMethod::initialize(), and CSSAMethod::testForMixingStability().