Package nl.tudelft.simulation.jstats.ode
Class DifferentialEquation
java.lang.Object
org.djutils.event.LocalEventProducer
nl.tudelft.simulation.jstats.ode.DifferentialEquation
- All Implemented Interfaces:
Serializable
,Remote
,DifferentialEquationInterface
,org.djutils.event.EventProducer
- Direct Known Subclasses:
DifferentialEquation
public abstract class DifferentialEquation
extends org.djutils.event.LocalEventProducer
implements DifferentialEquationInterface
The DifferentialEquation is the abstract basis for the DESS formalism.
Copyright (c) 2002-2024 Delft University of Technology, Jaffalaan 5, 2628 BX Delft, the Netherlands. All rights reserved. See for project information https://simulation.tudelft.nl. The DSOL project is distributed under a three-clause BSD-style license, which can be found at https://https://simulation.tudelft.nl/dsol/docs/latest/license.html.
- Author:
- Alexander Verbraeck, Peter Jacobs
- See Also:
-
Field Summary
Modifier and TypeFieldDescriptionprotected double
the last x value, initialized with x0 to start integration.protected double[]
the last calculated value array for lastX, initialized with the initial value array y0.protected double
the stepSize; can be negative or positive.Fields inherited from interface org.djutils.event.EventProducer
FIRST_POSITION, LAST_POSITION
-
Constructor Summary
ConstructorDescriptionDifferentialEquation
(double stepSize, NumericalIntegratorType integratorType) constructs a new DifferentialEquation with a user-specified integrator. -
Method Summary
Modifier and TypeMethodDescriptionvoid
initialize
(double x0, double[] y0) initializes the differential equation.protected double[]
integrateY
(double x, double initialX, double[] initialY) integrates Y.void
setIntegrator
(NumericalIntegrator integrator) double[]
y
(double x) returns y as a function of x.Methods inherited from class org.djutils.event.LocalEventProducer
addListener, addListener, addListener, addListener, fireEvent, fireEvent, fireEvent, fireTimedEvent, fireTimedEvent, fireTimedEvent, fireUnverifiedEvent, fireUnverifiedEvent, fireUnverifiedTimedEvent, fireUnverifiedTimedEvent, getEventListenerMap, getEventTypesWithListeners, getListenerReferences, hasListeners, numberOfListeners, removeAllListeners, removeAllListeners, removeListener
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Methods inherited from interface nl.tudelft.simulation.jstats.ode.DifferentialEquationInterface
dy
-
Field Details
-
lastY
protected double[] lastYthe last calculated value array for lastX, initialized with the initial value array y0. -
stepSize
protected double stepSizethe stepSize; can be negative or positive. -
lastX
protected double lastXthe last x value, initialized with x0 to start integration.
-
-
Constructor Details
-
DifferentialEquation
constructs a new DifferentialEquation with a user-specified integrator.- Parameters:
stepSize
- double; the stepSize to use.integratorType
- NumericalIntegratorType; the integrator to use.
-
-
Method Details
-
initialize
public void initialize(double x0, double[] y0) initializes the differential equation.- Specified by:
initialize
in interfaceDifferentialEquationInterface
- Parameters:
x0
- double; the initial x-valuey0
- double[]; the initial y-value array
-
y
public double[] y(double x) returns y as a function of x.- Specified by:
y
in interfaceDifferentialEquationInterface
- Parameters:
x
- double; the x-value- Returns:
- y
-
integrateY
protected double[] integrateY(double x, double initialX, double[] initialY) integrates Y.- Parameters:
x
- double; the x-valueinitialX
- double; the initial X value, non-final (will be updated)initialY
- double[]; the initial Y value, non-final (will be updated)- Returns:
- the new Y value
-
getIntegrator
- Returns:
- Returns the integrator.
-
setIntegrator
- Parameters:
integrator
- NumericalIntegrator; The integrator to set.
-