138 b31 = 0. , b32 = 3.0/4.0 ,
139 b41 = 2.0/9.0, b42 = 1.0/3.0 , b43 = 4.0/9.0;
142 const G4double dc1 = b41 - 7.0/24.0 , dc2 = b42 - 1.0/4.0 ,
143 dc3 = b43 - 1.0/3.0 , dc4 = - 0.125 ;
150 yOut[7] = yTemp[7] = yIn[7];
156 for(i=0;i<numberOfVariables;i++)
162 for(i=0;i<numberOfVariables;i++)
164 yTemp[i] = yIn[i] + b21*Step*DyDx[i] ;
168 for(i=0;i<numberOfVariables;i++)
170 yTemp[i] = yIn[i] + Step*(b31*DyDx[i] + b32*
ak2[i]) ;
174 for(i=0;i<numberOfVariables;i++)
176 yOut[i] = yIn[i] + Step*(b41*DyDx[i] + b42*
ak2[i] + b43*ak3[i]) ;
180 for(i=0;i<numberOfVariables;i++)
184 yErr[i] = Step*(dc1*DyDx[i] + dc2*
ak2[i] + dc3*ak3[i] +
189 fLastInitialVector[i] = yIn[i] ;
190 fLastFinalVector[i] = yOut[i];
191 fLastDyDx[i] = DyDx[i];
195 fLastStepLength =Step;
static const G4double ak2
G4int GetNumberOfVariables() const
void RightHandSide(const double y[], double dydx[])