Package cnuphys.adaptiveSwim
Class AdaptiveRhoStopper
java.lang.Object
cnuphys.adaptiveSwim.AAdaptiveStopper
cnuphys.adaptiveSwim.AdaptiveRhoStopper
- All Implemented Interfaces:
IAdaptiveStopper
Stopper for swimming to a fixed cylindrical cs radius (rho) value
- Author:
- heddle
-
Field Summary
Fields inherited from class cnuphys.adaptiveSwim.AAdaptiveStopper
_accuracy, _dim, _hLast, _s, _sf, _THEMAXSTEP, _trajectory, _u
-
Constructor Summary
ConstructorsConstructorDescriptionAdaptiveRhoStopper
(double[] u0, double sf, double targetRho, double accuracy, SwimTrajectory trajectory) Rho stopper (does check max path length) -
Method Summary
Modifier and TypeMethodDescriptionboolean
Did we cross the boundary?double
getRho()
Get the current value of rhoboolean
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
-
AdaptiveRhoStopper
public AdaptiveRhoStopper(double[] u0, double sf, double targetRho, double accuracy, SwimTrajectory trajectory) Rho stopper (does check max path length)- Parameters:
u0
- initial state vectorsf
- the maximum value of the path length in meterstargetRho
- stopping rho in metersaccuracy
- 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.
-
getRho
public double getRho()Get the current value of rho- Returns:
- the current value of rho
-
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
-