Click or drag to resize

RungeKuttaExplicitBase Class

Base class for explicit Runge-Kutta methods.
Inheritance Hierarchy
SystemObject
  Altaxo.Calc.OdeRungeKuttaExplicitBase
    More

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

The RungeKuttaExplicitBase type exposes the following members.

Constructors
 NameDescription
Protected methodRungeKuttaExplicitBaseInitializes a new instance of the RungeKuttaExplicitBase class
Top
Properties
 NameDescription
Protected propertyACentral coefficients of the Runge-Kutta scheme. See [1], page 135.
Protected propertyA_Interpolation Gets additional central coefficients of the Runge-Kutta scheme that are used for dense output (interpolation).
Public propertyAbsoluteTolerance Gets or sets the absolute tolerance.
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.
Protected propertyBHHigh order bottom side coefficients of the Runge-Kutta scheme.
Protected propertyBHMLDifferences between high order and low order bottom side coefficients of the Runge-Kutta scheme.
Protected propertyCLeft side coefficients of the Runge-Kutta scheme.
Protected propertyC_Interpolation Gets additional left side coefficients of the Runge-Kutta scheme (x-partitions) that are used for dense output (interpolation).
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.
Protected propertyNewCoreNotInitializedException Creates a new exception that indicates that the core is not initialized.
Public propertyNumberOfAdditionalStagesForDenseOutput Gets the number of stages of additional stages needed for dense output.
Public propertyNumberOfStages Gets the number of stages for the main process (stages needed for dense output not included).
Public propertyOrder Gets the order of the method (the highest of the pair).
Public propertyRelativeTolerance Gets or sets the relative tolerance.
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.
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.
Protected propertyStiffnessDetectionThresholdValue Sets the stiffness detection threshold value.
Top
Methods
 NameDescription
Public methodStatic memberClone Clones an array of Double.
Protected methodEnumerateXForFixedStepSize Enumerates the endless sequence x_current + k * stepSize, for k=1..Infinity.
Public methodEqualsDetermines whether the specified object is equal to the current object.
(Inherited from Object)
Public methodStatic memberExchangeT Exchanges the two instances in the argument.
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.
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.
Public methodGetSolutionPoints Gets a sequence of solution points, using the settings in the argument.
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.
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.
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.
Protected methodGetSolutionPointsVolatile_WithoutStepSizeControl Gets volatile solution points without step size control.
Protected methodGetSolutionPointsVolatile_WithStepSizeControl Gets volatile solution points with step size control.
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.
Public methodGetSolutionPointsVolatileForStepSize(Double, Double, ActionDouble, Double, Double, Double) Initializes the method and gets volatile solution points for constant step size.
Public methodGetTypeGets the Type of the current instance.
(Inherited from Object)
Public methodInitialize Initializes the Runge-Kutta method.
Protected methodMemberwiseCloneCreates a shallow copy of the current Object.
(Inherited from Object)
Protected methodSetOptionsToCore Provides the core with the parameters found in the options.
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.
Top
Fields
 NameDescription
Protected field_core The solver core.
Protected fieldStatic member_emptyDoubleArrayAn empty double array intended for initialization of arrays.
Protected fieldStatic member_emptyJaggedDoubleArrayAn empty jagged double array intended for initialization of arrays.
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

See Also
Inheritance Hierarchy
SystemObject
  Altaxo.Calc.OdeRungeKuttaExplicitBase
    Altaxo.Calc.OdeDOP853
    Altaxo.Calc.OdeRK546M
    Altaxo.Calc.OdeRK547M
    Altaxo.Calc.OdeRK8713M
    Altaxo.Calc.OdeRKF43