Package cnuphys.swim
Class DefaultSwimStopper
java.lang.Object
cnuphys.swim.DefaultSwimStopper
- All Implemented Interfaces:
IStopper
-
Field Summary
Fields -
Constructor Summary
ConstructorsConstructorDescriptionDefaultSwimStopper
(double maxR) A default swim stopper that will stop if either a max pathlength is exceeded or if a radial coordinate is exceeded -
Method Summary
Modifier and TypeMethodDescriptiondouble
Get the final path length in metersvoid
setFinalT
(double finalPathLength) Set the final path length in metersboolean
stopIntegration
(double t, double[] y) Given the current state of the integration, should we stop?Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Methods inherited from interface cnuphys.rk4.IStopper
terminateIntegration
-
Field Details
-
_finalPathLength
protected double _finalPathLength
-
-
Constructor Details
-
DefaultSwimStopper
public DefaultSwimStopper(double maxR) A default swim stopper that will stop if either a max pathlength is exceeded or if a radial coordinate is exceeded- Parameters:
maxR
- the max radial coordinate in meters. Give a negative
-
-
Method Details
-
stopIntegration
public boolean stopIntegration(double t, double[] y) Description copied from interface:IStopper
Given the current state of the integration, should we stop? This allows the integration to stop, for example, if some distance from the origin has been exceeded or if the independent variable passes some threshold. It won't be precise, because the check may not happen on every step, but it should be close.- Specified by:
stopIntegration
in interfaceIStopper
- Parameters:
t
- the current value of the independent variable (typically pathlength)y
- the current state vector (typically [x, y, z, vx, vy, vz])- Returns:
true
if we should stop now.
-
getFinalT
public double getFinalT()Get the final path length in meters -
setFinalT
public void setFinalT(double finalPathLength) Set the final path length in meters
-