66 if ((pParm =
getParameter(
"Use Default Absolute Tolerance")) != NULL)
80 setValue(
"Absolute Tolerance", NewValue);
130 if (mLsodaStatus == -1) mLsodaStatus = 2;
132 if ((mLsodaStatus != 1) && (mLsodaStatus != 2) && (mLsodaStatus != -1))
137 return mTime - startTime;
202 for (i = 0; i < imax; ++i)
222 mAtol[i] = tmpAtol[i];
224 for (i = mSystemSize; (int)i <
mData.
dim; ++i)
289 const C_FLOAT64 *dbl2, *dbl3, *dbl1end, *dbl3end;
301 for (; dbl1 != dbl1end; ++dbl1)
308 for (; dbl3 != dbl3end; ++dbl3, ++dbl2)
309 *dbl1 += *dbl2 * *dbl3;
319 for (i = 0; i <
mSystemSize; ++i, dbl2 += (mSystemSize + 1))
340 bool flagProceed =
true;
341 C_FLOAT64 handlerFactor = 100.0 / (endTime - startTime);
344 C_FLOAT64 CompareTime = transientTime - 100.0 * fabs(transientTime) * std::numeric_limits< C_FLOAT64 >::epsilon();
346 if (
mTime < CompareTime)
352 if (
mTime > CompareTime)
break;
393 realStepSize =
step(stepSize);
424 while ((
mTime < endTime) && flagProceed);
449 for (j = 0; j < i; ++j)
467 for (; dbl1 != dbl2; ++dbl1)
468 sum += *dbl1 * *dbl1;
477 for (; dbl1 != dbl2; ++dbl1)
487 for (; dbl1 != dbl1End; ++dbl1, ++dbl2)
488 sum += *dbl1 * *dbl2;
498 for (; dbl1 != dbl1End; ++dbl1, ++dbl2)
514 if (transientTime >= endTime)
521 if (stepSize > (endTime - transientTime))
static C_FLOAT64 norm(const C_FLOAT64 *dbl1, const C_FLOAT64 *dbl2)
virtual bool elevateChildren()
static void EvalF(const C_INT *n, const C_FLOAT64 *t, const C_FLOAT64 *y, C_FLOAT64 *ydot)
static C_FLOAT64 product(const C_FLOAT64 *dbl1, const C_FLOAT64 *dbl1End, const C_FLOAT64 *dbl2)
CVector< C_FLOAT64 > mLocalExponents
CLyapWolfMethod * pMethod
CVector< C_FLOAT64 > mAtol
static void add(C_FLOAT64 *dbl1, const C_FLOAT64 *dbl1End, const C_FLOAT64 &f, const C_FLOAT64 *dbl2)
void setOstream(std::ostream &os)
void updateSimulatedValues(const bool &updateMoieties)
void calculateJacobianX(CMatrix< C_FLOAT64 > &jacobianX, const C_FLOAT64 &derivationFactor, const C_FLOAT64 &resolution)
bool methodCallback(const C_FLOAT64 &percentage, bool onlyProgress)
CVector< C_FLOAT64 > mNorms
void resize(size_t size, const bool ©=false)
void setTime(const C_FLOAT64 &time)
void initializeParameter()
virtual double step(const double &deltaT)
bool removeParameter(const std::string &name)
#define MCTrajectoryMethod
CLyapWolfMethod(const CCopasiContainer *pParent=NULL)
size_t getNumDependentReactionMetabs() const
void setState(const CState &state)
const C_FLOAT64 & getTransientTime() const
C_FLOAT64 mIntervalDivergence
const Value & getValue() const
static void scalarmult(C_FLOAT64 *dbl1, const C_FLOAT64 *dbl2, const C_FLOAT64 &f)
std::ostringstream mErrorMsg
bool setValue(const std::string &name, const CType &value)
CVector< C_FLOAT64 > mVariables
virtual bool isValidProblem(const CCopasiProblem *pProblem)
size_t getNumIndependent() const
CVector< C_FLOAT64 > mExponents
CCopasiParameter * getParameter(const std::string &name)
const unsigned C_INT32 & getExponentNumber() const
CVector< C_FLOAT64 > mDWork
virtual void resize(size_t rows, size_t cols, const bool ©=false)
CMatrix< C_FLOAT64 > mJacobian
void calculateDerivativesX(C_FLOAT64 *derivativesX)
const C_FLOAT64 & getTime() const
void evalF(const C_FLOAT64 *t, const C_FLOAT64 *y, C_FLOAT64 *ydot)
bool divergenceRequested() const
void calculateDerivatives(C_FLOAT64 *derivatives)
CCopasiParameter * assertParameter(const std::string &name, const CCopasiParameter::Type type, const CType &defaultValue)
CVector< C_FLOAT64 > initializeAtolVector(const C_FLOAT64 &baseTolerance, const bool &reducedModel) const
C_FLOAT64 mAverageDivergence
const CState & getState() const
virtual bool isValidProblem(const CCopasiProblem *pProblem)
CModel * getModel() const
CCopasiContainer * getObjectParent() const
C_FLOAT64 * beginIndependent()
CVector< C_FLOAT64 > mSumExponents