1 #ifndef _DynamicalSystem_
2 #define _DynamicalSystem_
73 void RungeKutta(
double *YStart,
double t1,
double t2);
82 virtual void BuildEqns(
double t,
double *Y,
double *dYdt){}
103 void RK4(
double *y,
double *dydx,
double x,
double h,
double *yout);
116 void AdaptStepSize(
double *y,
double *dydx,
double *x,
double htry,
double eps,
double *yscal,
double *hdid,
double *hnext);
double fMinHdid
store the effective RK min step
Definition: DynamicalSystem.hxx:123
virtual void BuildEqns(double t, double *Y, double *dYdt)
Builds the equations for integration.
Definition: DynamicalSystem.hxx:82
double fMaxHdid
store the effective RK max step
Definition: DynamicalSystem.hxx:122
bool fIsNegativeValueAllowed
whether or not negative value are physical.
Definition: DynamicalSystem.hxx:124
double fHmin
RK minimum Step.
Definition: DynamicalSystem.hxx:121
void SetPrecision(double eps=1e-5)
set RK precision to change the integration step
Definition: DynamicalSystem.hxx:56
double fHestimate
RK Step estimation.
Definition: DynamicalSystem.hxx:120
void SetNumberOfEquationSize(int n)
set the number of equations.
Definition: DynamicalSystem.hxx:47
double fPrecision
Precision of the RungeKutta.
Definition: DynamicalSystem.hxx:119
int fNVar
The size of the composition vector and /or number of ZAIs involved.
Definition: DynamicalSystem.hxx:118
DynamicalSystem class solves system of differential equations.
Definition: DynamicalSystem.hxx:34
void SetForbidNegativeValue()
Forbid negative value during integration.
Definition: DynamicalSystem.hxx:65
int GetNumberOfEquationSize()
return the number of equations.
Definition: DynamicalSystem.hxx:46