Go to the documentation of this file.
14 double timeLimit )
const {
15 const double h = timeLimit==0 ? stepsize : timeLimit -
s.time;
16 if (h<=0)
throw std::runtime_error (
"SimpleRKStepper: negative stepsize");
17 const unsigned int nvar =
s.variable.size();
20 std::vector<std::vector<double> >
k(tableau.
nSteps());
21 for (
unsigned int i=0;
i<tableau.
nSteps();
i++) {
24 for (
unsigned int v=0;
v<nvar;
v++) arg[
v]=
s.variable[
v];
25 for (
unsigned int j=0;
j<
i;
j++) {
26 for (
unsigned int v=0;
v<nvar;
v++) arg[
v] += h*tableau.
A(
i,
j)*
k[
j][
v];
38 d.
time = timeLimit==0 ?
s.time + h : timeLimit;
virtual void step(const RKIntegrator::RKData *data, const RKIntegrator::RKData::Data &sdata, RKIntegrator::RKData::Data &ddata, double timeLimit) const
double & b(unsigned int i)
virtual ~SimpleRKStepper()
double & A(unsigned int i, unsigned int j)
std::vector< double > variable
they are gone ZOOM Features Discontinued The following features of the ZOOM package were felt to be extreme overkill These have been after checking that no existing user code was utilizing as in SpaceVector v
virtual SimpleRKStepper * clone() const
std::vector< const AbsFunction * > _diffEqn
std::vector< double > firstDerivative
Methods applicble to containers of as in std::list< LorentzVector > s
SimpleRKStepper(const ButcherTableau &tableau, double stepsize)
unsigned int nSteps() const