fixed event handling during multistep restart phase,
the interpolator used for regular integration and the interpolator used during restart went out of sync git-svn-id: https://svn.apache.org/repos/asf/commons/proper/math/trunk@781158 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
parent
b2fa57cbfe
commit
1cdc029378
|
@ -357,6 +357,9 @@ public class AdamsIntegrator extends MultistepIntegrator {
|
||||||
// convert to Nordsieck representation
|
// convert to Nordsieck representation
|
||||||
scaled = convertToNordsieckLow();
|
scaled = convertToNordsieckLow();
|
||||||
nordsieck = convertToNordsieckHigh(scaled);
|
nordsieck = convertToNordsieckHigh(scaled);
|
||||||
|
interpolator.reinitialize(stepSize, scaled, nordsieck);
|
||||||
|
interpolator.storeTime(stepStart);
|
||||||
|
|
||||||
|
|
||||||
} else {
|
} else {
|
||||||
|
|
||||||
|
@ -373,11 +376,11 @@ public class AdamsIntegrator extends MultistepIntegrator {
|
||||||
}
|
}
|
||||||
nordsieck.walkInOptimizedOrder(new NordsieckUpdater(scaled, end, coefficients.c1));
|
nordsieck.walkInOptimizedOrder(new NordsieckUpdater(scaled, end, coefficients.c1));
|
||||||
scaled = end;
|
scaled = end;
|
||||||
|
interpolator.reinitialize(stepSize, scaled, nordsieck);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
System.arraycopy(y, 0, yTmp, 0, n);
|
System.arraycopy(y, 0, yTmp, 0, n);
|
||||||
interpolator.reinitialize(stepSize, scaled, nordsieck);
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue