copasi API  0.1
Public Member Functions | Public Attributes | Friends
CILDMMethod Class Reference

#include <CILDMMethod.h>

Inheritance diagram for CILDMMethod:
CTSSAMethod CCopasiMethod CCopasiParameterGroup CCopasiParameter CCopasiContainer CCopasiObject

List of all members.

Public Member Functions

 CILDMMethod (const CILDMMethod &src, const CCopasiContainer *pParent=NULL)
 ~CILDMMethod ()
virtual void initializeParameter ()
virtual void step (const double &deltaT)
virtual void start (const CState *initialState)
void newton (C_FLOAT64 *ys, C_INT &slow, C_INT &info)
void transformation_norm (C_INT &slow, C_INT &info)
void deuflhard (C_INT &slow, C_INT &info)
const CArrayAnnotationgetVslowPrintAnn () const
const CArrayAnnotationgetVslowSpacePrintAnn () const
const CArrayAnnotationgetVfastSpacePrintAnn () const
const CArrayAnnotationgetVslowMetabPrintAnn () const
const CArrayAnnotationgetReacSlowSpacePrintAnn () const
const CArrayAnnotationgetTMP1PrintAnn () const
const CArrayAnnotationgetTMP2PrintAnn () const
const CArrayAnnotationgetTMP3PrintAnn () const
void setVectors (int slowMode)
void emptyVectors ()
void createAnnotationsM ()
bool setAnnotationM (int step)
void printResult (std::ostream *ostream) const

Public Attributes

CVector< C_FLOAT64 > mReacSlowSpace
CMatrix< C_FLOAT64 > mTMP1
CMatrix< C_FLOAT64 > mTMP2
CMatrix< C_FLOAT64 > mTMP3
std::vector< CMatrix< C_FLOAT64 > > mVec_mVslow
std::vector< CMatrix< C_FLOAT64 > > mVec_mVslowMetab
std::vector< CVector< C_FLOAT64 > > mVec_mVslowSpace
std::vector< CVector< C_FLOAT64 > > mVec_mVfastSpace
std::vector< CVector< C_FLOAT64 > > mVec_mReacSlowSpace
std::vector< CMatrix< C_FLOAT64 > > mVec_mTMP1
std::vector< CMatrix< C_FLOAT64 > > mVec_mTMP2
std::vector< CMatrix< C_FLOAT64 > > mVec_mTMP3
CArrayAnnotationpVslowPrintAnn
CArrayAnnotationpVslowMetabPrintAnn
CArrayAnnotationpVslowSpacePrintAnn
CArrayAnnotationpVfastSpacePrintAnn
CArrayAnnotationpReacSlowSpacePrintAnn
CArrayAnnotationpTMP1PrintAnn
CArrayAnnotationpTMP2PrintAnn
CArrayAnnotationpTMP3PrintAnn
CArrayAnnotationpTmp1
CArrayAnnotationpTmp2
CArrayAnnotationpTmp3
CArrayAnnotationpTmp4
CArrayAnnotationpTmp5
CArrayAnnotationpTMP1
CArrayAnnotationpTMP2
CArrayAnnotationpTMP3
CMatrix< C_FLOAT64 > mVslowPrint
CMatrix< C_FLOAT64 > mVslowSpacePrint
CMatrix< C_FLOAT64 > mVfastSpacePrint
CMatrix< C_FLOAT64 > mVslowMetabPrint
CMatrix< C_FLOAT64 > mReacSlowSpacePrint
CMatrix< C_FLOAT64 > mTMP1Print
CMatrix< C_FLOAT64 > mTMP2Print
CMatrix< C_FLOAT64 > mTMP3Print

Friends

CTSSAMethodCTSSAMethod::createTSSAMethod (CCopasiMethod::SubType subType, CTSSAProblem *pProblem)

Constructor & Destructor Documentation

CILDMMethod::CILDMMethod ( const CILDMMethod src,
const CCopasiContainer pParent = NULL 
)

Copy constructor.

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

Destructor.


Member Function Documentation

void CILDMMethod::createAnnotationsM ( )

create the CArraAnnotations for every ILDM-tab in the CQTSSAResultSubWidget input for each CArraAnnotations is a seperate CMatrix

Create the CArraAnnotations for every ILDM-tab in the CQTSSAResultSubWidget. Input for each CArraAnnotations is a seperate CMatrix.

Reimplemented from CTSSAMethod.

void CILDMMethod::deuflhard ( C_INT &  slow,
C_INT &  info 
)

Deuflhard Iteration: Prove Deuflhard criteria, find consistent initial value for DAE output: info - if Deuflhard is satisfied for given slow; transformation matrices mTd and mTdinverse

NEWTON: Looking for consistent initial value for DAE system Output: mCfast, info

void CILDMMethod::emptyVectors ( )

empty every vector to be able to fill them with new values for a new calculation also nullify the step counter

Empty every vector to be able to fill them with new values for a new calculation. Also nullify the step counter.

Reimplemented from CTSSAMethod.

const CArrayAnnotation* CILDMMethod::getReacSlowSpacePrintAnn ( ) const [inline]
const CArrayAnnotation* CILDMMethod::getTMP1PrintAnn ( ) const [inline]
const CArrayAnnotation* CILDMMethod::getTMP2PrintAnn ( ) const [inline]
const CArrayAnnotation* CILDMMethod::getTMP3PrintAnn ( ) const [inline]
const CArrayAnnotation* CILDMMethod::getVfastSpacePrintAnn ( ) const [inline]
const CArrayAnnotation* CILDMMethod::getVslowMetabPrintAnn ( ) const [inline]
const CArrayAnnotation* CILDMMethod::getVslowPrintAnn ( ) const [inline]

return CArrayAnnotation for visualization in ILDM-tab in the CQTSSAResultSubWidget

const CArrayAnnotation* CILDMMethod::getVslowSpacePrintAnn ( ) const [inline]
void CILDMMethod::initializeParameter ( ) [virtual]

Intialize the method parameter

Reimplemented from CTSSAMethod.

void CILDMMethod::newton ( C_FLOAT64 *  ys,
C_INT &  slow,
C_INT &  info 
)

Newton: Looking for consistent initial value for DAE system Output: mCfast, info

void CILDMMethod::printResult ( std::ostream *  ostream) const [virtual]

print of the standart report sequence for ILDM Method

Parameters:
std::ostream* ostream

Reimplemented from CCopasiMethod.

bool CILDMMethod::setAnnotationM ( int  step) [virtual]

set the every CArrayAnnotation for the requested step set the desription of CArayAnnotation for both dimensions

Set the every CArrayAnnotation for the requested step. Set also the desription of CArayAnnotation for both dimensions:

  • dimension description could consists of some std::srings some strings contain the Time Scale values for requested step
  • dimension description could consists of arrays of CommonNames

Implements CTSSAMethod.

void CILDMMethod::setVectors ( int  slowMode)

upgrade all vectors with values from actually calculalion for current step

Reimplemented from CTSSAMethod.

void CILDMMethod::start ( const CState initialState) [virtual]

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

Parameters:
const CState *initialState

Reimplemented from CTSSAMethod.

void CILDMMethod::step ( const double &  deltaT) [virtual]

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

Parameters:
const double &deltaT

Schur Decomposition of Jacobian (reordered). Output: mQ - transformation matrix mR - block upper triangular matrix (with ordered eigenvalues)

Classical ILDM iterations. The number of slow variables is decreased until the Deuflhard criterium holds

Solution of Sylvester equation for given slow, mQ,mR Output: mTd, mTdinverse and mQz (mQz is used later for newton iterations)

Deuflhard Iteration: Prove Deuflhard criteria, find consistent initial value for DAE output: info - if Deuflhard is satisfied for this slow; transformation matrices mTd and mTdinverse

end of iterations to find the number of slow modes

Schur Decomposition of Jacobian (with another sorting: from fast to slow). Output: mQ_desc - transformation matrix mR_desc - block upper triangular matrix (with ordered eigenvalues)

This part corresponds to the investigation of fast and slow reactions. In development at the moment. To activate the calculations take flag_develop = 0;

Reimplemented from CTSSAMethod.

void CILDMMethod::transformation_norm ( C_INT &  slow,
C_INT &  info 
)

Friends And Related Function Documentation

CTSSAMethod* CTSSAMethod::createTSSAMethod ( CCopasiMethod::SubType  subType,
CTSSAProblem pProblem 
) [friend]

Member Data Documentation

vectors contain whole data for all calculation steps

std::vector< CVector<C_FLOAT64> > CILDMMethod::mVec_mReacSlowSpace
std::vector< CMatrix<C_FLOAT64> > CILDMMethod::mVec_mTMP1
std::vector< CMatrix<C_FLOAT64> > CILDMMethod::mVec_mTMP2
std::vector< CMatrix<C_FLOAT64> > CILDMMethod::mVec_mTMP3
std::vector< CVector<C_FLOAT64> > CILDMMethod::mVec_mVfastSpace
std::vector< CMatrix<C_FLOAT64> > CILDMMethod::mVec_mVslow
std::vector< CMatrix<C_FLOAT64> > CILDMMethod::mVec_mVslowMetab
std::vector< CVector<C_FLOAT64> > CILDMMethod::mVec_mVslowSpace

input for every CArraAnnotations contain data for single stepcalculation

required for creation of above listed CArrayAnnotation

CArraAnnotations for every ILDM-tab in the CQTSSAResultSubWidget


The documentation for this class was generated from the following files:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines