Implements Gear's method for integration of stiff ordinary differential equations with step size and order adjustments, using Nordsieck's state.
References:
[1] Byrne and Hindmarsh, A Polyalgorithm for the Numerical Solution of Ordinary Differential Equations, 1975, .
Constructor | Description |
Full Usage:
GearsBDFWithNordsieckState()
|
|
Instance member | Description | ||
Full Usage:
this.GetInterpolatedSolutionPointVolatile
Parameters:
float
-
The x value. Must be in the interval [X-StepSize, X].
Returns: float[]
The interpolated y values. The elements of the array must not be altered, and are intended for immediate use only.
|
Gets you an interpolated volative solution point during the enumeration of the solution points. The returned array must not be modified and has to be immediately consumed, since it is changed in the course of the next ODE evaluation.
|
||
Full Usage:
this.Initialize
Parameters:
float
-
The initial x value.
y0 : float[]
-
The initial y values.
f : Action<float, float[], float[]>
-
Calculation of the derivatives. First argument is x value, 2nd argument are the current y values. The 3rd argument is an array that store the derivatives.
jacobianEvaluation : CalculateJacobian
-
Calculation of the jacobian. If you provide a method, this method will be used to evaluate the jacobian. Else, if
no method is provided (null), the behavior depends on the further options: If MultiStepMethodOptions.IterationMethod is set to OdeIterationMethod.UseJacobian, then
the jacobian is approximated using finite differences. If MultiStepMethodOptions.IterationMethod is set to OdeIterationMethod.DoNotUseJacobian,
then only iteration (and not Newton-Raphson) is used to evaluate y_next, which can take longer.
Returns: GearsBDFWithNordsieckState
This instance (for a convenient way to chain this method with sequence creation).
|
Initializes this method.
|
||
Full Usage:
this.Initialize
Parameters:
float
-
The starting value of the independed variable x.
initDerivatives : float[][]
-
The starting value of the 0th .. kth derivatives of y, i.e. y, dy/dx, d2y/dx2, etc..
f : Action<float, float[], float[]>
-
The function used to evaluate the derivatives dy/dx.
jacobianEvaluation : CalculateJacobian
-
The function used to evaluate the jacobian.
Returns: GearsBDFWithNordsieckState
This instance.
|
This initialization method is intended for debugging and testing purposes only, because you will need the derivatives up to the order k at the initial point.
|
||
Full Usage:
this.NumberOfJacobianEvaluations
Returns: int
|
Gets the number of jacobian evaluations so far.
|
||
Full Usage:
this.NumberOfStepsTaken
Returns: int
|
Gets the number of steps taken so far.
|