Package cnuphys.adaptiveSwim
Class AdaptiveCylinderStopper
java.lang.Object
cnuphys.adaptiveSwim.AAdaptiveStopper
cnuphys.adaptiveSwim.AdaptiveCylinderStopper
- All Implemented Interfaces:
IAdaptiveStopper
-
Field Summary
Fields inherited from class cnuphys.adaptiveSwim.AAdaptiveStopper
_accuracy, _dim, _hLast, _s, _sf, _THEMAXSTEP, _trajectory, _u
-
Constructor Summary
ConstructorsConstructorDescriptionAdaptiveCylinderStopper
(double[] u0, double sf, Cylinder targetCylinder, double accuracy, SwimTrajectory trajectory) Cylinder stopper (does check max path length) -
Method Summary
Modifier and TypeMethodDescriptionboolean
Did we cross the boundary?double
Get the current value of the distance (positive definite)boolean
Did we pas the max path length?boolean
stopIntegration
(double snew, double[] unew) Given the current state of the integration, should we stop?Methods inherited from class cnuphys.adaptiveSwim.AAdaptiveStopper
accept, copy, getMaxStepSize, getS, getSmax, getU, setMaxStep
-
Constructor Details
-
AdaptiveCylinderStopper
public AdaptiveCylinderStopper(double[] u0, double sf, Cylinder targetCylinder, double accuracy, SwimTrajectory trajectory) Cylinder stopper (does check max path length)- Parameters:
u0
- initial state vectorsf
- the maximum value of the path length in meterstargetCylinder
- the target cylinderaccuracy
- the accuracy in meterstrajectory
- optional swim trajectory (can be null)
-
-
Method Details
-
stopIntegration
public boolean stopIntegration(double snew, double[] unew) Description copied from interface:IAdaptiveStopper
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.- Returns:
true
if we should stop now.
-
getDistance
public double getDistance()Get the current value of the distance (positive definite)- Returns:
- the current value of distance
-
crossedBoundary
public boolean crossedBoundary()Did we cross the boundary?- Returns:
- true if we crossed the boundary
-
passedSmax
public boolean passedSmax()Did we pas the max path length?- Returns:
- true if we crossed the boundary
-