105 odes_.jacobian(x0,
y0, dfdx_, dfdy_);
107 for (
label i=0; i<n_; i++)
109 for (
label j=0; j<n_; j++)
111 a_[i][j] = -dfdy_[i][j];
114 a_[i][i] += 1.0/(gamma*dx);
122 k1_[i] = dydx0[i] + dx*d1*dfdx_[i];
130 y[i] =
y0[i] + a21*k1_[i];
133 odes_.derivatives(x0 +
c2*dx,
y, dydx_);
137 k2_[i] = dydx_[i] + dx*d2*dfdx_[i] + c21*k1_[i]/dx;
145 y[i] =
y0[i] + a31*k1_[i] + a32*k2_[i];
148 odes_.derivatives(x0 + c3*dx,
y, dydx_);
152 k3_[i] = dydx_[i] + dx*d3*dfdx_[i] + (c31*k1_[i] + c32*k2_[i])/dx;
160 y[i] =
y0[i] + a41*k1_[i] + a42*k2_[i] + a43*k3_[i];
163 odes_.derivatives(x0 + c4*dx,
y, dydx_);
167 k4_[i] = dydx_[i] + dx*d4*dfdx_[i]
168 + (c41*k1_[i] + c42*k2_[i] + c43*k3_[i])/dx;
176 dy_[i] = a51*k1_[i] + a52*k2_[i] + a53*k3_[i] + a54*k4_[i];
177 y[i] =
y0[i] + dy_[i];
180 odes_.derivatives(x0 + dx,
y, dydx_);
185 + (c51*k1_[i] + c52*k2_[i] + c53*k3_[i] + c54*k4_[i])/dx;
194 y[i] =
y0[i] + dy_[i];
197 odes_.derivatives(x0 + dx,
y, dydx_);
202 + (c61*k1_[i] + c62*k2_[i] + c63*k3_[i] + c64*k4_[i] + c65*k5_[i])/dx;
209 y[i] =
y0[i] + dy_[i] + err_[i];
212 return normalizeError(
y0,
y, err_);