Click or drag to resize

RungeKuttaAlgorithm Class

The basic Runge-Kutta integration algorithm used by the integrators, it's Butcher Tableau, and the derivative information computed during integration.

y[n+1] = y[n] + h * Sum(i=0 to s){ b[i]*k[i] }

k[i] = f(t[n] + c[i]*h, y[n] + Sum(j=0 to i-1){ a[i,j] * k[j] } )

Inheritance Hierarchy

Namespace:  AGI.Foundation.NumericalMethods.Advanced
Assembly:  AGI.Foundation.Core (in AGI.Foundation.Core.dll) Version: 21.1.408.0 (21.1.408.0)
public class RungeKuttaAlgorithm : IThreadAware, 

The RungeKuttaAlgorithm type exposes the following members.

Public propertyCoefficients
Gets the coefficients "a". These represent the factors multiplying the derivatives to provide the intermediate state information.
Public propertyDerivativeFunction
Gets the delegate which defines the first order differential equation representing the derivative of the dependent variables as a function of independent variable and dependent variables.
Public propertyDerivatives
Gets the derivative information used in the algorithm. These represent the values of "k" in the Butcher Tableau for each dependent variable, with the first index representing the stage "i" and the second representing the index of the dependent variable.
Public propertyIsThreadSafe
Gets a value indicating whether the methods on this instance are safe to call from multiple threads simultaneously.
Public propertyNumberOfStages
Gets the total number of stages in this instance of the Runge-Kutta integrator.
Public propertyStages
Gets the coefficients "c". These represent the factors multiplying the step size by which to advance the independent variable at each stage.
Public propertyWeights
Gets the coefficients "b". These represent the coefficients of the "k" stages summed together to represent the slope.
Protected propertyWorkingArray
Gets the working array used as a means to efficiently update the intermediate state information when calling the derivative DerivativeFunction.
Public methodClone
Clones this object using the specified context.
Public methodEquals
Determines whether the specified object is equal to the current object.
(Inherited from Object.)
Protected methodFinalize
Allows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection.
(Inherited from Object.)
Public methodGetHashCode
Serves as the default hash function.
(Inherited from Object.)
Public methodGetType
Gets the Type of the current instance.
(Inherited from Object.)
Public methodInitialize
Initializes the derivative DerivativeFunction and the working arrays used during integration.
Public methodIntegrate
Compute and integration step and update the final dependent variables and store the Derivatives.
Protected methodMemberwiseClone
Creates a shallow copy of the current Object.
(Inherited from Object.)
Public methodToString
Returns a string that represents the current object.
(Inherited from Object.)
See Also