Click or drag to resize

GaussJacksonIntegrator Class

A multi-step second order integrator based on the Gauss-Jackson integration algorithm, using a RungeKuttaFehlberg78Integrator to start the integration and a summed Adams first order integration algorithm.
Inheritance Hierarchy

Namespace:  AGI.Foundation.NumericalMethods
Assembly:  AGI.Foundation.Core (in AGI.Foundation.Core.dll) Version: 24.1.418.0 (24.1.418.0)
Syntax
public class GaussJacksonIntegrator : MultipleStepIntegrator

The GaussJacksonIntegrator type exposes the following members.

Constructors
  NameDescription
Public methodGaussJacksonIntegrator
Initializes a new instance.
Protected methodGaussJacksonIntegrator(GaussJacksonIntegrator, CopyContext)
Initializes a new instance as a copy of an existing instance.
Top
Properties
  NameDescription
Public propertyCurrentStepSize
Gets the current (positive) size of the step which the integrator will use for the next integration step.
(Overrides NumericalIntegratorCurrentStepSize.)
Public propertyDimension
Gets the number of dependent variables based on the Dimension of the SystemOfEquations.
(Inherited from NumericalIntegrator.)
Public propertyDirection
Gets or sets whether to integrate forward, increasing the independent variable, or backward, decreasing the independent variable.
(Inherited from NumericalIntegrator.)
Public propertyFinalDependentVariableValues
Gets or sets the values of the dependent variables resulting from the last integration step.
(Inherited from NumericalIntegrator.)
Public propertyFinalIndependentVariableValue
Gets or sets the value of the independent variable after an integration step.
(Inherited from NumericalIntegrator.)
Public propertyInitialDependentVariableValues
Gets or sets the values of the dependent variables prior to an integration step. These values will be updated to the previous FinalDependentVariableValues at the beginning of each integration step.
(Inherited from NumericalIntegrator.)
Public propertyInitialIndependentVariableValue
Gets or sets the value of the independent variable prior to an integration step.
(Inherited from NumericalIntegrator.)
Public propertyInitialStepSize
Gets or sets the initial (positive) size of the step to add to the InitialIndependentVariableValue when performing an integration. By default, the initial value is one.
(Inherited from NumericalIntegrator.)
Public propertyIsThreadSafe
Gets a value indicating whether the methods on this instance are safe to call from multiple threads simultaneously.
(Inherited from NumericalIntegrator.)
Public propertyPreviousStepSize
Gets the size of the last step taken by the integrator. This returns the difference between the FinalIndependentVariableValue and the InitialIndependentVariableValue.
(Inherited from NumericalIntegrator.)
Public propertyStepSizeInformation
Gets or sets a value indicating whether the CurrentStepSize was changed from the InitialStepSize and, if so, the nature of how it was changed.
(Inherited from NumericalIntegrator.)
Public propertySystemOfEquations
Gets or sets the system of differential equations corresponding to the derivatives of the dependent variables.
(Inherited from NumericalIntegrator.)
Top
Methods
  NameDescription
Public methodClone
Create a copy of this integrator.
(Overrides NumericalIntegratorClone(CopyContext).)
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
Initialize the integrator's initial independent and dependent variables and reset the integration parameters. This should be called by the user prior to performing the first integration step.
(Overrides NumericalIntegratorInitialize(Double, Double).)
Public methodIntegrate

Perform an integration step moving the independent and dependent variables from their initial (the final values of the previous step) to their new final values, using the CurrentStepSize.

When overriding this method, StartNextStep should be called prior to integration.

(Overrides NumericalIntegratorIntegrate.)
Public methodIntegrate(Double)

Perform an integration step moving the independent and dependent variables from their initial (the final values of the previous step) to their new final values.

When overriding this method, StartNextStep should be called prior to integration. Also note that the CurrentStepSize property should be unaffected by the stepSize parameter.

(Overrides NumericalIntegratorIntegrate(Double).)
Protected methodMemberwiseClone
Creates a shallow copy of the current Object.
(Inherited from Object.)
Public methodReintegrate

Repeats the last integration of the differential equations.

When overriding this method, note that the CurrentStepSize property should be unaffected by the stepSize parameter.

(Overrides NumericalIntegratorReintegrate(Double).)
Protected methodStartNextStep
This performs the task of setting the Initial values to the previous Final values prior to taking the next step. This method is called prior to integrating the step but not called during reintegration.
(Overrides NumericalIntegratorStartNextStep.)
Public methodToString
Returns a string that represents the current object.
(Inherited from Object.)
Public methodUpdateSavedDerivatives
This method is used in order to update the last step's derivatives with any post integration corrections.
(Overrides MultipleStepIntegratorUpdateSavedDerivatives(Double).)
Top
Remarks
For more detailed information, see: "Implementation of Gauss-Jackson Integration for Orbit Propagation." Berry, Matthew M. and Liam M. Healy. The Journal of the Astronautical Sciences, Vol. 52, No. 3, July-September 2004, pp. 331-357.
See Also