Click or drag to resize

RK546M Class

Runge-Kutta method of 5th order of Dormand and Prince with 6 stages. Attention: This method can only provide dense output of order 3. If dense output of high accuracy is needed, use method RK547M .
Inheritance Hierarchy
SystemObject
  Altaxo.Calc.OdeRungeKuttaExplicitBase
    Altaxo.Calc.OdeRK546M

Namespace: Altaxo.Calc.Ode
Assembly: AltaxoCore (in AltaxoCore.dll) Version: 4.8.3179.0 (4.8.3179.0)
Syntax
C#
public class RK546M : RungeKuttaExplicitBase

The RK546M type exposes the following members.

Constructors
 NameDescription
Public methodRK546MInitializes a new instance of the RK546M class
Top
Properties
 NameDescription
Protected propertyACentral coefficients of the Runge-Kutta scheme. See [1], page 135.
(Overrides RungeKuttaExplicitBaseA)
Protected propertyA_Interpolation Gets additional central coefficients of the Runge-Kutta scheme that are used for dense output (interpolation).
(Inherited from RungeKuttaExplicitBase)
Public propertyAbsoluteTolerance Gets or sets the absolute tolerance.
(Inherited from RungeKuttaExplicitBase)
Public propertyAbsoluteTolerances Gets or sets the absolute tolerances. The length of the array must either be 1 (tolerances for all y equal), or of length N.
(Inherited from RungeKuttaExplicitBase)
Protected propertyBHHigh order bottom side coefficients of the Runge-Kutta scheme.
(Overrides RungeKuttaExplicitBaseBH)
Protected propertyBHMLDifferences between high order and low order bottom side coefficients of the Runge-Kutta scheme.
(Overrides RungeKuttaExplicitBaseBHML)
Protected propertyCLeft side coefficients of the Runge-Kutta scheme.
(Overrides RungeKuttaExplicitBaseC)
Protected propertyC_Interpolation Gets additional left side coefficients of the Runge-Kutta scheme (x-partitions) that are used for dense output (interpolation).
(Inherited from RungeKuttaExplicitBase)
Protected propertyInterpolationCoefficients The interpolation coefficients aij. Note that zero to third order interpolation is using y and slope of x_previous and x_current. Thus in this array we only need the coefficients for 4th order (and higher) interpolation.
(Inherited from RungeKuttaExplicitBase)
Protected propertyNewCoreNotInitializedException Creates a new exception that indicates that the core is not initialized.
(Inherited from RungeKuttaExplicitBase)
Public propertyNumberOfAdditionalStagesForDenseOutput Gets the number of stages of additional stages needed for dense output.
(Inherited from RungeKuttaExplicitBase)
Public propertyNumberOfStages Gets the number of stages for the main process (stages needed for dense output not included).
(Overrides RungeKuttaExplicitBaseNumberOfStages)
Public propertyOrder Gets the order of the method (the highest of the pair).
(Overrides RungeKuttaExplicitBaseOrder)
Public propertyRelativeTolerance Gets or sets the relative tolerance.
(Inherited from RungeKuttaExplicitBase)
Public propertyRelativeTolerances Gets or sets the relative tolerances. The length of the array must either be 1 (tolerances for all y equal), or of length N.
(Inherited from RungeKuttaExplicitBase)
Public propertyStiffnessDetectionEveryNumberOfSteps Gets or sets the number of successful steps between test for stiffness. Setting this value to 0 disables stiffness detection. The default value is 0.
(Inherited from RungeKuttaExplicitBase)
Protected propertyStiffnessDetectionThresholdValue Sets the stiffness detection threshold value.
(Overrides RungeKuttaExplicitBaseStiffnessDetectionThresholdValue)
Top
Methods
 NameDescription
Protected methodEnumerateXForFixedStepSize Enumerates the endless sequence x_current + k * stepSize, for k=1..Infinity.
(Inherited from RungeKuttaExplicitBase)
Public methodEqualsDetermines whether the specified object is equal to the current object.
(Inherited from Object)
Protected methodFinalizeAllows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection.
(Inherited from Object)
Public methodGetHashCodeServes as the default hash function.
(Inherited from Object)
Public methodGetInitialStepSize Gets the initial step size. The absolute and relative tolerances must be set before the call to this function.
(Inherited from RungeKuttaExplicitBase)
Public methodGetInterpolatedSolutionPointVolatile 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.
(Inherited from RungeKuttaExplicitBase)
Public methodGetSolutionPoints Gets a sequence of solution points, using the settings in the argument.
(Inherited from RungeKuttaExplicitBase)
Public methodGetSolutionPointsForStepSize(Double) Gets solution points for constant step size. Returns the same results as GetSolutionPointsVolatileForStepSize(Double, Double, ActionDouble, Double, Double, Double), but the returned solution point already contains a copy of the y array.
(Inherited from RungeKuttaExplicitBase)
Public methodGetSolutionPointsForStepSize(Double, Double, ActionDouble, Double, Double, Double) Gets solution points for constant step size. Returns the same results as GetSolutionPointsVolatileForStepSize(Double, Double, ActionDouble, Double, Double, Double), but the returned solution point already contains a copy of the y array.
(Inherited from RungeKuttaExplicitBase)
Public methodGetSolutionPointsVolatile Gets a sequence of solution points, using the settings in the argument. The y-values in the returned tuple are intended for immediate consumption, because the content of the array will change in the further course of the evaluation.
(Inherited from RungeKuttaExplicitBase)
Protected methodGetSolutionPointsVolatile_WithoutStepSizeControl Gets volatile solution points without step size control.
(Inherited from RungeKuttaExplicitBase)
Protected methodGetSolutionPointsVolatile_WithStepSizeControl Gets volatile solution points with step size control.
(Inherited from RungeKuttaExplicitBase)
Public methodGetSolutionPointsVolatileForStepSize(Double) Gets volatile solution points for constant step size. The method has to be initialized (see Initialize(Double, Double, ActionDouble, Double, Double)) before.
(Inherited from RungeKuttaExplicitBase)
Public methodGetSolutionPointsVolatileForStepSize(Double, Double, ActionDouble, Double, Double, Double) Initializes the method and gets volatile solution points for constant step size.
(Inherited from RungeKuttaExplicitBase)
Public methodGetTypeGets the Type of the current instance.
(Inherited from Object)
Public methodInitialize Initializes the Runge-Kutta method.
(Inherited from RungeKuttaExplicitBase)
Protected methodMemberwiseCloneCreates a shallow copy of the current Object.
(Inherited from Object)
Protected methodSetOptionsToCore Provides the core with the parameters found in the options.
(Inherited from RungeKuttaExplicitBase)
Public methodToStringReturns a string that represents the current object.
(Inherited from Object)
Protected methodTryGetNextValue Try to get the smaller value of the two enumerations. After that, the enumeration with the smaller value is advanced by one step.
(Inherited from RungeKuttaExplicitBase)
Top
Fields
 NameDescription
Protected field_core The solver core.
(Inherited from RungeKuttaExplicitBase)
Top
Remarks

References:

[1] Hairer, Ordinary differential equations I, 2nd edition, 1993.

[2] Jimenez et al., Locally Linearized Runge Kutta method of Dormand and Prince, arXiv:1209.1415v2, 22 Dec 2013

[3] Engeln-Müllges et al., Numerik-Algorithmen, Springer, 2011 (in German)

See Also