DME Component Libraries for .NET 2024 r1

## AdaptiveNumericalIntegrator Class |

Base class for all NumericalIntegrator objects who can use error information
produced during integration to adapt the size of the step in order to adjust the amount of
error introduced into the dependent variables over successive integration steps. This
also allows varying the size of the step to arrive at a final stopping time.

Inheritance Hierarchy

SystemObject

AGI.Foundation.NumericalMethodsNumericalIntegrator

AGI.Foundation.NumericalMethods.AdvancedAdaptiveNumericalIntegrator

AGI.Foundation.NumericalMethods.AdvancedRungeKuttaAdaptiveStepIntegrator

AGI.Foundation.NumericalMethodsBulirschStoerIntegrator

AGI.Foundation.NumericalMethodsNumericalIntegrator

AGI.Foundation.NumericalMethods.AdvancedAdaptiveNumericalIntegrator

AGI.Foundation.NumericalMethods.AdvancedRungeKuttaAdaptiveStepIntegrator

AGI.Foundation.NumericalMethodsBulirschStoerIntegrator

Syntax

The AdaptiveNumericalIntegrator type exposes the following members.

Constructors

Name | Description | |
---|---|---|

AdaptiveNumericalIntegrator | Initializes a new instance. | |

AdaptiveNumericalIntegrator(AdaptiveNumericalIntegrator, CopyContext) | Initializes a new instance as a copy of an existing instance. |

Properties

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.
| |

CurrentStepSize |
Gets the current (positive) size of the step which the integrator will use for the next integration step.
(Overrides NumericalIntegratorCurrentStepSize.) | |

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.
| |

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.
| |

MaximumStepSize |
Gets or sets the maximum size of the CurrentStepSize.
| |

MinimumStepSize |
Gets or sets the (positive) minimum size of the CurrentStepSize.
| |

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.) | |

StepDeflationExponent |
Gets or sets the exponent to apply to the error when calculating the amount to decrease the size of the step.
| |

StepDeflationFactor |
Gets or sets a scalar multiplier to apply to the step when decreasing it.
| |

StepInflationExponent |
Gets or sets the exponent to apply to the error when calculating the amount to increase the size of the step.
| |

StepInflationFactor |
Gets or sets a scalar multiplier to apply to the step when increasing it.
| |

StepSizeBehavior |
Gets or sets whether to avoid adapting the step size and instead fix the value of CurrentStepSize.
| |

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.
| |

SystemOfEquations |
Gets or sets the system of differential equations corresponding to the derivatives of the
dependent variables.
(Inherited from NumericalIntegrator.) |

Methods

Name | Description | |
---|---|---|

AdaptStep |
This method updates the CurrentStepSize to account for error in the state and its derivatives.
It returns true if the integrator should reintegrate with the updated step size or false if the integrator
should continue to the next integration step (potentially with a different step size).
| |

AdjustStep |
Adjusts a given step by increasing it or decreasing it based on the given error.
If the error is greater than one, the step will increase. Otherwise, it will decrease.
After adjusting the step, BoundAndTruncateStepSize(Double) is called.
| |

BoundAndTruncateStepSize |
A method which should be called before updating the CurrentStepSize which
will bound the size based on the MinimumStepSize and MaximumStepSize,
and will truncate it based on the StepTruncationOrder.
| |

Clone |
Create a copy of this integrator.
(Inherited from NumericalIntegrator.) | |

Equals | Determines whether the specified object is equal to the current object. (Inherited from Object.) | |

Finalize | Allows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection. (Inherited from Object.) | |

GetHashCode | Serves as the default hash function. (Inherited from Object.) | |

GetType | Gets the Type of the current instance. (Inherited from Object.) | |

Initialize |
Initialize the integrator's initial independent and dependent variables and reset the integration parameters.
This should be called by the user prior to performing the first integration step.
(Overrides NumericalIntegratorInitialize(Double, Double).) | |

Integrate | Perform an integration step moving the independent and dependent variables from their initial (the final values of the previous step) to their new final values, using the CurrentStepSize. When overriding this method, StartNextStep should be called prior to integration. | |

Integrate(Double) |
Integrate the current integration step with the given step size.
(Overrides NumericalIntegratorIntegrate(Double).) | |

MemberwiseClone | Creates a shallow copy of the current Object. (Inherited from Object.) | |

Reintegrate | Repeats the last integration of the differential equations. When overriding this method, note that the CurrentStepSize property should be unaffected by the stepSize parameter. | |

SetCurrentStepSize |
Sets the value of the CurrentStepSize which the
integrator will use for the next integration step.
| |

StartNextStep |
This performs the task of setting the Initial values to the previous Final values prior to taking the next step.
This method is called prior to integrating the step but not called during reintegration.
(Inherited from NumericalIntegrator.) | |

ToString | Returns a string that represents the current object. (Inherited from Object.) |

See Also