BulirschStoerIntegrator Properties |
The BulirschStoerIntegrator type exposes the following members.
Name | Description | |
---|---|---|
AdaptiveWeights |
Gets or sets the weights to be applied to the state elements when
computing the error which determines how to adapt the step size.
This is in addition to any weights used in the integration algorithm
itself. If these weights have not been initialized before
Initialize(Double, Double) is called, they will be set to a default value
of one.
(Inherited from AdaptiveNumericalIntegrator.) | |
CurrentStepSize |
Gets the current (positive) size of the step which the integrator will use for the next integration step.
(Inherited from AdaptiveNumericalIntegrator.) | |
Dimension |
Gets the number of dependent variables based on the
Dimension of the SystemOfEquations.
(Inherited from NumericalIntegrator.) | |
Direction |
Gets or sets whether to integrate forward, increasing the independent variable, or backward,
decreasing the independent variable.
(Inherited from NumericalIntegrator.) | |
FinalDependentVariableValues |
Gets or sets the values of the dependent variables resulting from the last integration step.
(Inherited from NumericalIntegrator.) | |
FinalIndependentVariableValue |
Gets or sets the value of the independent variable after an integration step.
(Inherited from NumericalIntegrator.) | |
InitialDependentVariableValues |
Gets or sets the values of the dependent variables prior to an integration step.
These values will be updated to the previous FinalDependentVariableValues
at the beginning of each integration step.
(Inherited from NumericalIntegrator.) | |
InitialIndependentVariableValue |
Gets or sets the value of the independent variable prior to an integration step.
(Inherited from NumericalIntegrator.) | |
InitialStepSize |
Gets or sets the initial (positive) size of the step to add to the InitialIndependentVariableValue
when performing an integration. By default, the initial value is one.
(Inherited from NumericalIntegrator.) | |
IsThreadSafe |
Gets a value indicating whether the methods on this instance are safe to call from
multiple threads simultaneously.
(Inherited from NumericalIntegrator.) | |
Iterations |
Gets or sets the number of iteration required to adapt the CurrentStepSize to
within error tolerance.
(Inherited from AdaptiveNumericalIntegrator.) | |
LastNumberOfSubdivisionsUsed |
Gets the current maximum number of subdivisions used during the last iteration step.
| |
MaximumIterations |
Gets or sets the maximum number of Iterations to allow before forcing the integrator
to accept the CurrentStepSize and proceed to the next step.
(Inherited from AdaptiveNumericalIntegrator.) | |
MaximumStepSize |
Gets or sets the maximum size of the CurrentStepSize.
(Inherited from AdaptiveNumericalIntegrator.) | |
MinimumStepSize |
Gets or sets the (positive) minimum size of the CurrentStepSize.
(Inherited from AdaptiveNumericalIntegrator.) | |
PreviousStepSize |
Gets the size of the last step taken by the integrator. This returns the difference between the
FinalIndependentVariableValue and the InitialIndependentVariableValue.
(Inherited from NumericalIntegrator.) | |
SafetyFactorOne |
Gets or sets a safety factor used when analyzing roundoff error and determining the new step size.
The equation for the step size update is: Hnew = S1 * H * (S2 / Error)^-(2k+1)
where "H" is the step size, "Error" is the roundoff error, and "k" is the iteration index into the
Subdivisions array. The default value is 1/4.
| |
SafetyFactorTwo |
Gets or sets a safety factor used when analyzing roundoff error and determining the new step size.
The equation for the step size update is: Hnew = S1 * H * (S2 / Error)^-(2k+1)
where "H" is the step size, "Error" is the roundoff error, and "k" is the iteration index into the
Subdivisions array. The default value is 7/10.
| |
StepDeflationExponent |
Gets or sets the exponent to apply to the error when calculating the amount to decrease the size of the step.
(Inherited from AdaptiveNumericalIntegrator.) | |
StepDeflationFactor |
Gets or sets a scalar multiplier to apply to the step when decreasing it.
(Inherited from AdaptiveNumericalIntegrator.) | |
StepInflationExponent |
Gets or sets the exponent to apply to the error when calculating the amount to increase the size of the step.
(Inherited from AdaptiveNumericalIntegrator.) | |
StepInflationFactor |
Gets or sets a scalar multiplier to apply to the step when increasing it.
(Inherited from AdaptiveNumericalIntegrator.) | |
StepSizeBehavior |
Gets or sets whether to avoid adapting the step size and instead fix the value of CurrentStepSize.
(Inherited from AdaptiveNumericalIntegrator.) | |
StepSizeInformation |
Gets or sets a value indicating whether the CurrentStepSize was changed from the InitialStepSize
and, if so, the nature of how it was changed.
(Inherited from NumericalIntegrator.) | |
StepTruncationOrder |
Gets or sets the integer exponent specifying the order of magnitude at which to
truncate the significant digits in the CurrentStepSize. For instance,
to truncate the value to three decimal places, specify a truncation order of -3.
To truncate the value to an order of 100, specify a truncation order of 2. To specify
the step size should be an integer value, specify a truncation order of 0.
(Inherited from AdaptiveNumericalIntegrator.) | |
Subdivisions | Gets or sets the set of successive subdivisions used to take steps. For each step the Bulirsch-Stoer integrator takes, it will divide the step size according to the subdivisions and analyze the error. If the error doesn't converge, it will continue to subdivide until it either converges or decides that the step size itself is problematic and starts over with a new step size. The default set is derived from the work of Deuflhard: { 2, 4, 6, 8, 10 } When changing the set, make sure to check for stability as having too few or too many subdivisions can change the behavior of the algorithm. | |
SystemOfEquations |
Gets or sets the system of differential equations corresponding to the derivatives of the
dependent variables.
(Inherited from NumericalIntegrator.) | |
Tolerance |
Gets or sets the value for the tolerance used to scale the error control,
which will control both how accurate the integrator is and the step size used
during integration.
|