copasi API
0.1
|
#include <CILDMMethod.h>
CILDMMethod::CILDMMethod | ( | const CILDMMethod & | src, |
const CCopasiContainer * | pParent = NULL |
||
) |
Copy constructor.
const CILDMMethod & | src |
const | CCopasiContainer * pParent (default: NULL) |
CILDMMethod::~CILDMMethod | ( | ) |
Destructor.
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
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:
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.
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.
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 | ||
) |
CTSSAMethod* CTSSAMethod::createTSSAMethod | ( | CCopasiMethod::SubType | subType, |
CTSSAProblem * | pProblem | ||
) | [friend] |
CVector<C_FLOAT64> CILDMMethod::mReacSlowSpace |
vectors contain whole data for all calculation steps
CMatrix<C_FLOAT64> CILDMMethod::mReacSlowSpacePrint |
CMatrix<C_FLOAT64> CILDMMethod::mTMP1 |
CMatrix<C_FLOAT64> CILDMMethod::mTMP1Print |
CMatrix<C_FLOAT64> CILDMMethod::mTMP2 |
CMatrix<C_FLOAT64> CILDMMethod::mTMP2Print |
CMatrix<C_FLOAT64> CILDMMethod::mTMP3 |
CMatrix<C_FLOAT64> CILDMMethod::mTMP3Print |
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 |
CMatrix<C_FLOAT64> CILDMMethod::mVfastSpacePrint |
CMatrix<C_FLOAT64> CILDMMethod::mVslowMetabPrint |
CMatrix<C_FLOAT64> CILDMMethod::mVslowPrint |
input for every CArraAnnotations contain data for single stepcalculation
CMatrix<C_FLOAT64> CILDMMethod::mVslowSpacePrint |
required for creation of above listed CArrayAnnotation
CArraAnnotations for every ILDM-tab in the CQTSSAResultSubWidget