Runge |
protected class Core
The RungeKuttaExplicitBaseCore type exposes the following members.
Name | Description | |
---|---|---|
RungeKuttaExplicitBaseCore | Initializes a new instance of the RungeKuttaExplicitBaseCore. |
Name | Description | |
---|---|---|
AbsoluteTolerance | Gets or sets the absolute tolerance. | |
AbsoluteTolerances | Gets or sets the absolute tolerances. It must be ensured that this array is not altered. | |
BHML | Sets the coefficients for the error evaluation. These coefficients are the difference of the high order and low order bottom side coefficients of the Runge-Kutta scheme. If set to null, local error calculation, and thus automatic step size control, is not possible. | |
ErrorNorm | The vector norm, by which from the vector of relative errors (dimension N) the scalar relative error is calculated. | |
InterpolationCoefficients | Gets or sets the interpolation coefficients for dense output. | |
RelativeTolerance | Gets or sets the relative tolerance. | |
RelativeTolerances | Gets or sets the relative tolerances. It must be ensured that this array is not altered. | |
StepSizeFilter | Gets or sets the step size filter. For the values see StepSizeFilter. | |
StiffnessDetectionEveryNumberOfSteps | 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. | |
StiffnessDetectionThresholdValue | Sets the stiffness detection threshold value. | |
X | Gets the current value of x. | |
X_previous | Gets the value of x before the last step. | |
Y_volatile | Gets the current values of the variables. Attention: the returned array will change the next time you call EvaluateNextSolutionPoint(Double). Therefore, if you not intend to use the values immediately, make a copy of this array!. |
Name | Description | |
---|---|---|
Equals | Determines whether the specified object is equal to the current object. (Inherited from Object) | |
EvaluateNextSolutionPoint | Evaluates the next solution point in one step. To get the results, see X and Y_volatile. | |
Finalize | Allows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection. (Inherited from Object) | |
GetHashCode | Serves as the default hash function. (Inherited from Object) | |
GetInitialStepSize | Gets the initial step size. The absolute and relative tolerances must be set before the call to this function. | |
GetInterpolatedY_volatile | Get an interpolated point in the last evaluated interval. Please use the result immediately, or else make a copy of the result, since a internal array is returned, which is overwritten at the next operation. | |
GetRecommendedStepSize | Gets the recommended step size. | |
GetRelativeError_InfinityNorm | Gets the relative error by the infinity norm, which should be in the order of 1, if the step size is optimally chosen. | |
GetRelativeError_L2Norm | Gets the relative error calculated by the L2-norm, which should be in the order of 1, if the step size is optimally chosen. | |
GetType | Gets the Type of the current instance. (Inherited from Object) | |
MemberwiseClone | Creates a shallow copy of the current Object. (Inherited from Object) | |
Revert | Reverts the state of the instance to the former solution point, by setting X to X_previous and Y_volatile y_previous. | |
SetCoefficientsForAdditionalStages | Sets the coefficients for additional stages that are neccessary for dense output (interpolation). | |
ThrowIfStiffnessDetected | Function that is been called after every successfull step. Detects a stiffness condition. If it founds one, an exception will be thrown. | |
ToString | Returns a string that represents the current object. (Inherited from Object) |
Name | Description | |
---|---|---|
_a | Central coefficients of the Runge-Kutta scheme. See [1], page 135. | |
_a_interpolation | Additional central coefficients of the Runge-Kutta scheme optionally needed for interpolation. | |
_absoluteTolerances | The absolute tolerance. This is either an array of length 1 (in this case the absolute tolerances of all y values are equal), or an array of the same size than y. | |
_b | High order bottom side coefficients of the Runge-Kutta scheme. | |
_bhml | Differences between high order and low order bottom side coefficients of the Runge-Kutta scheme (for error estimation). | |
_c | Left side coefficients of the Runge-Kutta scheme (partitions of the step). | |
_c_interpolation | Additional left side coefficients of the Runge-Kutta scheme optionally needed for dense output (partitions of the step). | |
_f | The ODE function. First argument is the independent variable (usually named x or t), 2nd argument are the current y values, and the 3rd argument adopts the derivatives dy/dx calculated by this function. | |
_interpolationCoefficients | The interpolation coefficients. Note that zero to third order is calculated from the y and slopes at the start and end of the step. Thus, this coefficients only have to cover the orders 4.. n of the interpolation. | |
_isDenseOutputPrepared | True if dense output was prepared, i.e. the array _rcont contains valid values. | |
_isFirstSameAsLastMethod | True if the last point is the same as first point (FSAL property). This is for instance true for the Dormand-Prince (RK547M) method. | |
_isKnextEvaluated | Designates whether the slope at y_current was evaluated (for non-FSAL methods). For FSAL methods, this value is meaningless, because the last stage always contains k_next after a step. | |
_k | Array of derivatives at the different stages. | |
_numberOfAdditionalStagesForDenseOutput | The number of additional stages for dense output of high order. | |
_numberOfNonstiffEvaluationResults | The number of evaluation results in ThrowIfStiffnessDetected, for which the result was false (non-stiff). This counter is re-set to zero if a stiff condition is detected. | |
_numberOfRejectedStiffnessDetectionCalls | The number of rejected stiffness detection calls after the last stiffness evaluation. | |
_numberOfStages | The number of stages of this method. | |
_numberOfStiffEvaluationResults | The number of evaluation results in ThrowIfStiffnessDetected, for which the result was true (stiff). This counter is re-set to zero if a non-stiff condition is detected. | |
_order | Order of the Runge-Kutta method (the highest order of the embedded pair). | |
_rcont | Contains the precalcuated polynomial coefficients for dense output. | |
_relativeTolerances | The relativ tolerances. This is either an array of length 1 (in this case the relative tolerances of all y values are equal), or an array of the same size than y. | |
_stepSize_current | Step size of the current step. | |
_stepSize_previous | Step size of the previous step. | |
_stepSizeFilter | The step size filter. | |
_stiffnessDetectionEveryNumberOfSteps | Number of (successfull) steps between calls to stiffness detection. If this is null, then stiffness detection is disabled. | |
_stiffnessDetectionThresholdValueSquared | Squared value of the stiffness detection threshold. | |
_wasSolutionPointEvaluated | True if at least one solution point was evaluated. | |
_x_current | X value at the end of the current step. | |
_x_previous | X value at the begin of the current step. | |
_y_current | Y values at the end of the current step. | |
_y_current_LocalError | Contains the array of local errors. | |
_y_previous | Y values at the beginning of the current step. | |
_y_stages | Array to accomodate y for calculation of the stages. At the end of EvaluateNextSolutionPoint(Double), this array usually contains the y of the last stage (for non-FSAL methods), or the y of the stage before the last stage (FSAL methods). | |
StepSize_MaxFactor | Maximum factor by which the step size can be increased. | |
StepSize_MinFactor | Minimum factor by which the step size can be decreased. | |
StepSize_SafetyFactor | Safety factor for the step size. Without this factor, the control loop for step size would try to set the stepsize so that the relative error would be around 1. But then, if the relative error is slighly above 1, this step would be rejected. By having a safety factor of less than 1 we get the relative error safely below 1. |