public abstract class RungeKuttaFixedStepIntegrator extends NumericalIntegrator
Modifier | Constructor and Description |
---|---|
protected |
RungeKuttaFixedStepIntegrator(RungeKuttaAlgorithm tableau)
Initializes a new instance based on the given tableau.
|
protected |
RungeKuttaFixedStepIntegrator(RungeKuttaAlgorithm tableau,
DependentVariableDerivatives system)
Initializes a new instance based on the given tableau and on the given differential system for the derivatives
of the dependent variables.
|
protected |
RungeKuttaFixedStepIntegrator(RungeKuttaFixedStepIntegrator existingInstance,
CopyContext context)
Initializes a new instance as a copy of an existing instance.
|
Modifier and Type | Method and Description |
---|---|
double |
getCurrentStepSize()
Gets the current (positive) size of the step which the integrator will use for the next integration step.
|
protected RungeKuttaAlgorithm |
getTableau()
Gets the Butcher Tableau with the coefficients and weights
to use to perform the RungeKutta integration.
|
void |
initialize(double x,
double[] y)
Initialize the integrator's initial independent and dependent variables and reset the integration parameters.
|
void |
reintegrate(double stepSize)
Repeats the last integration of the differential equations.
|
protected void |
setTableau(RungeKuttaAlgorithm value)
Sets the Butcher Tableau with the coefficients and weights
to use to perform the RungeKutta integration.
|
clone, getDimension, getDirection, getFinalDependentVariableValues, getFinalIndependentVariableValue, getInitialDependentVariableValues, getInitialIndependentVariableValue, getInitialStepSize, getIsThreadSafe, getPreviousStepSize, getStepSizeInformation, getSystemOfEquations, integrate, integrate, setDirection, setFinalDependentVariableValues, setFinalIndependentVariableValue, setInitialDependentVariableValues, setInitialIndependentVariableValue, setInitialStepSize, setStepSizeInformation, setSystemOfEquations, startNextStep
protected RungeKuttaFixedStepIntegrator(RungeKuttaAlgorithm tableau)
tableau
- The Butcher Tableau containing the coefficients and weights for the algorithm.protected RungeKuttaFixedStepIntegrator(RungeKuttaAlgorithm tableau, DependentVariableDerivatives system)
tableau
- The Butcher Tableau containing the coefficients and weights for the algorithm.system
- The system of differential equations defining the derivatives
for the dependent variables.protected RungeKuttaFixedStepIntegrator(@Nonnull RungeKuttaFixedStepIntegrator existingInstance, @Nonnull CopyContext context)
See ICloneWithContext.clone(CopyContext)
for more information about how to implement this constructor
in a derived class.
existingInstance
- The existing instance to copy.context
- A CopyContext
that controls the depth of the copy.ArgumentNullException
- Thrown when existingInstance
or context
is null
.protected final RungeKuttaAlgorithm getTableau()
protected final void setTableau(RungeKuttaAlgorithm value)
public double getCurrentStepSize()
getCurrentStepSize
in class NumericalIntegrator
public void initialize(double x, double[] y)
initialize
in class NumericalIntegrator
x
- The value of the initial independent variable.y
- The values for the initial dependent variables.public void reintegrate(double stepSize)
Repeats the last integration of the differential equations.
When overriding this method, note that the CurrentStepSize
(get
)
property should be unaffected by the stepSize
parameter.
reintegrate
in class NumericalIntegrator
stepSize
- The increment made to the InitialIndependentVariableValue
(get
/ set
)
to transition to the new FinalIndependentVariableValue
(get
/ set
).