Represents a 4th/5th order Runge-Kutta integrator with step size control.
SystemObject Extreme.Mathematics.AlgorithmsManagedIterativeAlgorithmVectorDouble,
Double,
SolutionReportVectorDouble,
Double Extreme.Mathematics.AlgorithmsManagedIterativeAlgorithmVectorDouble Extreme.Mathematics.Calculus.OrdinaryDifferentialEquationsOdeIntegrator Extreme.Mathematics.Calculus.OrdinaryDifferentialEquationsRungeKuttaDormandPrince
Namespace:
Extreme.Mathematics.Calculus.OrdinaryDifferentialEquations
Assembly:
Extreme.Numerics (in Extreme.Numerics.dll) Version: 8.1.1
public sealed class RungeKuttaDormandPrince : OdeIntegrator
Public NotInheritable Class RungeKuttaDormandPrince
Inherits OdeIntegrator
public ref class RungeKuttaDormandPrince sealed : public OdeIntegrator
[<SealedAttribute>]
type RungeKuttaDormandPrince =
class
inherit OdeIntegrator
end
The RungeKuttaDormandPrince type exposes the following members.
Top
| Name | Description |
---|
 | AbsoluteTolerance |
Gets or sets the absolute tolerance used in the
convergence test.
(Inherited from OdeIntegrator.) |
 | ConvergenceTests |
Gets the collection of convergence tests for the algorithm.
(Inherited from ManagedIterativeAlgorithmT, TError, TReport.) |
 | CurrentTime |
Gets the current value of the time parameter.
(Inherited from OdeIntegrator.) |
 | CurrentValue |
Gets the current value of the unknowns.
(Inherited from OdeIntegrator.) |
 | DifferentialFunction |
Gets or sets a function that should be integrated.
(Inherited from OdeIntegrator.) |
 | EstimatedError |
Gets a value indicating the size of the absolute
error of the result.
(Inherited from ManagedIterativeAlgorithmT, TError, TReport.) |
 | EvaluationsNeeded |
Gets the number of evaluations needed to execute the algorithm.
(Inherited from ManagedIterativeAlgorithmT, TError, TReport.) |
 | HasSharedDegreeOfParallelism |
Indicates whether the degree of parallelism is a property that is shared
across instances.
(Inherited from ManagedIterativeAlgorithmT, TError, TReport.) |
 | InitialStepsize |
Gets or sets the initial time value.
(Inherited from OdeIntegrator.) |
 | InitialTime |
Gets or sets the initial time value.
(Inherited from OdeIntegrator.) |
 | InitialValue |
Gets or sets the initial value.
(Inherited from OdeIntegrator.) |
 | IterationsNeeded |
Gets the number of iterations needed by the
algorithm to reach the desired accuracy.
(Inherited from ManagedIterativeAlgorithmT, TError, TReport.) |
 | MaxDegreeOfParallelism |
Gets or sets the maximum degree of parallelism enabled by this instance.
(Inherited from ManagedIterativeAlgorithmT, TError, TReport.) |
 | MaxEvaluations |
Gets or sets the maximum number of evaluations during the calculation.
(Inherited from ManagedIterativeAlgorithmT, TError, TReport.) |
 | MaxIterations | Gets or sets the maximum number of iterations
to use when approximating the roots of the target
function.
(Inherited from ManagedIterativeAlgorithmT, TError, TReport.) |
 | MaxStepSize |
Gets or sets the maximum step size.
(Inherited from OdeIntegrator.) |
 | MinIterations |
Gets or sets the minimum iterations that have to be performed.
(Inherited from ManagedIterativeAlgorithmT, TError, TReport.) |
 | MinStepSize |
Gets or sets the minimum step size.
(Inherited from OdeIntegrator.) |
 | ParallelOptions |
Gets or sets the configuration for the parallel behavior of the algorithm.
(Inherited from ManagedIterativeAlgorithmT, TError, TReport.) |
 | RelativeTolerance |
Gets or sets the relative tolerance used in the
convergence test.
(Inherited from OdeIntegrator.) |
 | Result |
Gets the result of an algorithm after it has executed.
(Inherited from ManagedIterativeAlgorithmT, TError, TReport.) |
 | SolutionReport |
Gets the result of an algorithm after it has executed.
(Inherited from ManagedIterativeAlgorithmT, TError, TReport.) |
 | Status | (Inherited from ManagedIterativeAlgorithmT, TError, TReport.) |
 | StepSize |
Gets or sets the step size used in the last step.
(Inherited from OdeIntegrator.) |
 | ThrowExceptionOnFailure |
Gets or sets a value indicating whether to throw an
exception when the algorithm fails to converge.
(Inherited from ManagedIterativeAlgorithmT, TError, TReport.) |
Top
Top
Use the RungeKuttaDormandPrince class to integrate
non-stiff systems of differential equations.
The system of differential equations is defined using a DifferentialFunction
delegate. This is a delegate that takes one real argument (the time value), and two vector arguments
(the current value and the current derivative). The last argument is passed by reference and must also
be returned.
To set up an integration, set the DifferentialFunction property equal to the delegate that
defines the system. Set the InitialTime and InitialValue properties to the initial
time value and function values, respectively.
To perform the actual integration, call the Integrate(Double) method with the desired final time.
This method returns the function value at the final time. You can call this method multiple times to get
function values at intermediate positions.
Reference