Go to the documentation of this file.
17 std::vector<double> & errors)
const {
20 double h = d.
time -
s.time;
21 if (h<=0)
throw std::runtime_error (
"Runtime error in RKIntegrator (zero or negative stepsize)");
22 unsigned int nvar =
s.variable.size();
26 std::vector<std::vector<double> >
k(tableau.
nSteps());
27 for (
unsigned int i=0;
i<tableau.
nSteps();
i++) {
30 for (
unsigned int v=0;
v<nvar;
v++) arg[
v]=
s.variable[
v];
31 for (
unsigned int j=0;
j<
i;
j++) {
32 for (
unsigned int v=0;
v<nvar;
v++) arg[
v] += h*tableau.
A(
i,
j)*
k[
j][
v];
48 for (
unsigned int v=0;
v<nvar;
v++) errors[
v] = 0;
49 for (
unsigned int i=0;
i<tableau.
nSteps();
i++) {
50 for (
unsigned int v=0;
v<nvar;
v++) errors[
v] += (h*(tableau.
bHat(
i)-tableau.
b(
i))*
k[
i][
v]);
60 return tableau.
order();
double & bHat(unsigned int i)
double & b(unsigned int i)
double & A(unsigned int i, unsigned int j)
unsigned int order() const
unsigned int nSteps() const
EmbeddedRKStepper(const ExtendedButcherTableau &tableau=CashKarpXtTableau())
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 EmbeddedRKStepper * clone() const
std::vector< const AbsFunction * > _diffEqn
virtual unsigned int order() const
std::vector< double > firstDerivative
Methods applicble to containers of as in std::list< LorentzVector > s
virtual ~EmbeddedRKStepper()
virtual void step(const RKIntegrator::RKData *data, const RKIntegrator::RKData::Data &sdata, RKIntegrator::RKData::Data &ddata, std::vector< double > &errors) const