Class AdaptiveSphereStopper

java.lang.Object
cnuphys.adaptiveSwim.AAdaptiveStopper
cnuphys.adaptiveSwim.AdaptiveSphereStopper
All Implemented Interfaces:
IAdaptiveStopper

public class AdaptiveSphereStopper extends AAdaptiveStopper
  • Constructor Details

    • AdaptiveSphereStopper

      public AdaptiveSphereStopper(double[] u0, double sf, Sphere targetSphere, double accuracy, SwimTrajectory trajectory)
      Cylinder stopper (does check max path length)
      Parameters:
      u0 - initial state vector
      sf - the maximum value of the path length in meters
      targetSphere - the target sphere
      accuracy - the accuracy in meters
      trajectory - 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.
    • accept

      protected void accept(double snew, double[] unew)
      Accept a new integration step
      Overrides:
      accept in class AAdaptiveStopper
      Parameters:
      snew - the new value of s in meters
      unew - the new state vector