46 const Acceleration&myAcceleration;
48 typedef typename Acceleration::Point_t Point_t;
49 typedef typename Acceleration::Vector_t Vector_t;
51 enum { Dims = Acceleration::Dims };
58 void restart(
int N,
long double s,
const Point_t*x0,
const Vector_t*v0)
61 init(components, s, x0->const_ptr(), v0->const_ptr() );
64 void restart1(
long double s,
const Point_t&x0,
const Vector_t&v0)
67 init(components, s, x0.const_ptr(), v0.const_ptr() );
70 void Accel(real,
const real *x,
const real *v, real *d2x_ds2)
72 for(
int c=0; c<components/Dims; c++)
77 for(
int i=0; i<Dims; i++)
83 const Vector_t&a = myAcceleration(P, V);
85 for(
int j=0; j<Dims; j++)
86 d2x_ds2[j+c*Dims] = -a[j];
90 Point_t position(
int c=0)
const
93 for(
int i=0; i<Dims; i++)
94 retval[i] = q(i+c*Dims);
98 Vector_t velocity(
int c=0)
const
101 for(
int i=0; i<Dims; i++)
102 retval[i] = dq(i+c*Dims);
106 Point_t position(real s,
int c=0)
const
109 for(
int i=0; i<Dims; i++)
110 retval[i] = q(i+c*Dims, s);
114 Vector_t velocity(real s,
int c=0)
const
117 for(
int i=0; i<Dims; i++)
118 retval[i] = dq(i+c*Dims, s);