Package nl.tudelft.simulation.jstats.ode
Class DifferentialEquation
java.lang.Object
org.djutils.event.LocalEventProducer
nl.tudelft.simulation.jstats.ode.DifferentialEquation
- All Implemented Interfaces:
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-2025 Delft University of Technology, Jaffalaan 5, 2628 BX Delft, the Netherlands. All rights reserved. See for project information DSOL Manual. The DSOL project is distributed under a three-clause BSD-style license, which can be found at DSOL License.
- Author:
- Alexander Verbraeck, Peter Jacobs
-
Field Summary
FieldsModifier and TypeFieldDescriptionprotected doublethe 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 doublethe stepSize; can be negative or positive.Fields inherited from interface org.djutils.event.EventProducer
FIRST_POSITION, LAST_POSITION -
Constructor Summary
ConstructorsConstructorDescriptionDifferentialEquation(double stepSize, NumericalIntegratorType integratorType) constructs a new DifferentialEquation with a user-specified integrator. -
Method Summary
Modifier and TypeMethodDescriptionvoidinitialize(double x0, double[] y0) initializes the differential equation.protected double[]integrateY(double x, double initialX, double[] initialY) integrates Y.voidsetIntegrator(NumericalIntegrator integrator) double[]y(double x) returns y as a function of x.Methods inherited from class org.djutils.event.LocalEventProducer
getEventListenerMapMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface nl.tudelft.simulation.jstats.ode.DifferentialEquationInterface
dyMethods inherited from interface org.djutils.event.EventProducer
addListener, addListener, addListener, addListener, fireEvent, fireEvent, fireEvent, fireTimedEvent, fireTimedEvent, fireTimedEvent, fireUnverifiedEvent, fireUnverifiedEvent, fireUnverifiedTimedEvent, fireUnverifiedTimedEvent, getEventTypesWithListeners, getListenerReferences, hasListeners, numberOfListeners, removeAllListeners, removeAllListeners, removeListener
-
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- the stepSize to use.integratorType- the integrator to use.
-
-
Method Details
-
initialize
public void initialize(double x0, double[] y0) Description copied from interface:DifferentialEquationInterfaceinitializes the differential equation.- Specified by:
initializein interfaceDifferentialEquationInterface- Parameters:
x0- the initial x-valuey0- the initial y-value array
-
y
public double[] y(double x) Description copied from interface:DifferentialEquationInterfacereturns y as a function of x.- Specified by:
yin interfaceDifferentialEquationInterface- Parameters:
x- the x-value- Returns:
- y
-
integrateY
protected double[] integrateY(double x, double initialX, double[] initialY) integrates Y.- Parameters:
x- the x-valueinitialX- the initial X value, non-final (will be updated)initialY- the initial Y value, non-final (will be updated)- Returns:
- the new Y value
-
getIntegrator
- Returns:
- Returns the integrator.
-
setIntegrator
- Parameters:
integrator- The integrator to set.
-