Package org.opensourcephysics.numerics
Class Euler
java.lang.Object
org.opensourcephysics.numerics.AbstractODESolver
org.opensourcephysics.numerics.Euler
- All Implemented Interfaces:
ODESolver
Euler implements an Euler method ODE solver.
The Euler method is unstable for many systems. It is included as an example of
how to use the ODE and ODESolver interface.
- Version:
- 1.0
- Author:
- Wolfgang Christian
-
Field Summary
FieldsFields inherited from class org.opensourcephysics.numerics.AbstractODESolver
numEqn, ode, stepSize
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoid
initialize
(double stepSize) Initializes the ODE solver and allocates the rate array.double
step()
Steps (advances) the differential equations by the stepSize.Methods inherited from class org.opensourcephysics.numerics.AbstractODESolver
getStepSize, setStepSize
-
Field Details
-
rate
protected double[] rate
-
-
Constructor Details
-
Euler
Constructs the Euler ODESolver for a system of ordinary differential equations.- Parameters:
ode
- the system of differential equations.
-
-
Method Details
-
initialize
public void initialize(double stepSize) Initializes the ODE solver and allocates the rate array. The number of differential equations is determined by invoking getState().length on the superclass.- Specified by:
initialize
in interfaceODESolver
- Overrides:
initialize
in classAbstractODESolver
- Parameters:
stepSize
-
-
step
public double step()Steps (advances) the differential equations by the stepSize. The ODESolver invokes the ODE's getState method to obtain the initial state of the system. The ODESolver then advances the solution and copies the new state into the state array at the end of the solution step.- Specified by:
step
in interfaceODESolver
- Specified by:
step
in classAbstractODESolver
- Returns:
- the step size
-