using System; using System.Collections.Generic; using System.Text; using RungeKutta.Integrators; namespace RungeKutta.SimStep { class SUVAT : SimStepper { public State Integrate(State oldState, float timestep, ODEs.ODE ode) { return Integrate(oldState, timestep, ode.EvaluateForceAtState(oldState)); } public State Integrate(State oldState, float timestep, float acceleration) { oldState.acceleration = acceleration; oldState.position += SUVATStep.Integrate(timestep, oldState.velocity, oldState.acceleration); oldState.velocity += EulerStep.Integrate(timestep, oldState.acceleration); return oldState; } public override string ToString() { return "SUVAT"; } public int ForceEvaluations { get { return 1; } } } }