接口 FieldODEStepEndHandler<T extends CalculusFieldElement<T>>

类型参数:
T - 字段元素的类型

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

    • init

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

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

      默认实现不执行任何操作

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

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

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

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

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

      default FieldODEState<T> resetState(FieldODEStateAndDerivative<T> state)
      在继续积分之前重置状态。

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

      默认实现返回其参数。

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