接口 ODEStepEndHandler


public interface ODEStepEndHandler
此接口表示在每个步骤结束时触发的离散事件处理程序。
从以下版本开始:
3.0
另请参阅:
  • 方法详细资料

    • init

      default void init(ODEStateAndDerivative initialState, double finalTime)
      在ODE积分开始时初始化步骤结束处理程序。

      此方法在积分开始时调用一次。如果需要,步骤结束处理程序可以用来初始化一些内部数据。

      默认实现不执行任何操作

      参数:
      initialState - 初始时间、状态向量和导数
      finalTime - 积分的目标时间
    • stepEndOccurred

      Action stepEndOccurred(ODEStateAndDerivative state, boolean forward)
      处理事件并选择下一步操作。

      当积分器接受在步骤结束时触发的事件时,此方法被调用(在步骤处理程序本身被调用之后)。它允许用户更新内部数据以确认事件已被处理(例如,在出现不连续性时,在微分方程中设置一个标志以切换导数计算),或者指示积分器停止或继续积分,可能需要重置状态或导数。

      此方法与ODEStepHandler方法handleStep(interpolator)之间的调度是先调用handleStep,然后调用此方法。这种调度允许此方法调用的用户代码和步骤处理程序调用的用户代码获取与积分方向一致的独立时间变量的值。

      参数:
      state - 步骤结束时独立时间变量、状态向量和导数的当前值
      forward - 如果为true,则传播是向前的
      返回:
      指示积分器应该下一步执行的操作,此值必须是Action.STOPAction.RESET_STATEAction.RESET_DERIVATIVESAction.RESET_EVENTSAction.CONTINUE之一
    • resetState

      default ODEState resetState(ODEStateAndDerivative state)
      在继续积分之前重置状态。

      此方法在步骤处理程序返回后且下一步开始之前调用,但仅当ODEEventHandler.eventOccurred(ODEStateAndDerivative, ODEEventDetector, boolean)本身返回Action.RESET_STATE指示时。它允许用户重置下一步的状态向量,而不干扰完成步骤的步骤处理程序。

      默认实现返回其参数。

      参数:
      state - 步骤结束时独立时间变量、状态向量和导数的当前值
      返回:
      重置状态(请注意,它不包括导数,导数将由积分器自动添加)