/// <summary> /// Continues the simulation. /// </summary> /// <param name="simulation">The time-based simulation</param> /// <param name="delta">The initial probing timestep.</param> public virtual void Continue(TimeSimulation simulation, ref double delta) { // Allow registered methods to modify the timestep var args = new ModifyTimestepEventArgs(simulation, delta); OnContinue(args); // Shift the solutions and overwrite index 0 with the current solution IntegrationStates.Cycle(); BaseTime = Time; // Update the new timestep IntegrationStates[0].Delta = args.Delta; }
/// <summary> /// Raises the <see cref="E:Continue" /> event. /// </summary> /// <param name="args">The <see cref="ModifyTimestepEventArgs"/> instance containing the event data.</param> protected virtual void OnContinue(ModifyTimestepEventArgs args) => ContinueTimestep?.Invoke(this, args);