Click or drag to resize

NumericalPropagator Class

A propagator which can advance the state from initial conditions by either taking individual integration steps or by propagating over a given time span. Note that a given instance of a propagator is NOT thread safe. So if there is a need to propagate a given state in different threads, make sure to clone the propagator for another thread using CopyT(T).

A NumericalPropagator is created by configuring a NumericalPropagatorDefinition and then calling CreatePropagator.

Inheritance Hierarchy
SystemObject
  AGI.Foundation.PropagatorsNumericalPropagator

Namespace:  AGI.Foundation.Propagators
Assembly:  AGI.Foundation.Models (in AGI.Foundation.Models.dll) Version: 24.2.419.0 (24.2.419.0)
Syntax
public sealed class NumericalPropagator : IThreadAware, 
	ICloneWithContext, IDisposable

The NumericalPropagator type exposes the following members.

Properties
  NameDescription
Public propertyConverter
Gets an instance of a converter which can convert the overall raw output into the output corresponding to a particular PropagationStateElement or AuxiliaryStateElement based on a string identifier and output type. This is also the object to use when producing ephemeris data to create interpolated Point or Vector objects.
Public propertyCurrentState
Public propertyCurrentStepSize
Gets the current step size in seconds that the integrator will take when advancing to the next time.
Public propertyCurrentTime
Gets the time at the end of the last step taken.
Public propertyIncludeIntegratorInformationInOutput
Gets a value indicating whether the NumericalIntegrationInformation produced by the integrator will be stored in the output produced by this propagator when it creates a NumericalPropagationStateHistory.
Public propertyInitialEpoch
Gets the time at which the InitialState is defined.
Public propertyInitialState
Public propertyIsThreadSafe
Gets a value indicating whether the methods on this instance are safe to call from multiple threads simultaneously.
Public propertyPreviousStepSize
Gets the last step size in seconds that was taken by the integrator to produce the CurrentTime and CurrentState.
Public propertyPropagationDirection
Gets the direction of propagation with regard to time, either increasing or decreasing. To reverse the direction of propagation, call either 'Propagate' or 'TakeStep' with a duration which has the opposite sign.
Public propertyStepSizeInformation
Gets information about the last step that was taken by the integrator.
Top
Methods
  NameDescription
Public methodClone
Clones this object using the specified context.
Public methodDispose
Releases any resources associated with this instance.
Public methodEquals
Determines whether the specified object is equal to the current object.
(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 methodPropagate(Duration)
Propagates the state from the CurrentTime and CurrentState. The direction of propagation is determined by the sign of the Duration specified.
Public methodPropagate(Duration, ITrackCalculationProgress)
Propagates the state from the CurrentTime and CurrentState. The direction of propagation is determined by the sign of the Duration specified.
Public methodPropagate(Duration, Int32)
Propagates the state from the CurrentTime and CurrentState. The direction of propagation is determined by the sign of the Duration specified.
Public methodPropagate(Duration, Int32, ITrackCalculationProgress)
Propagates the state from the CurrentTime and CurrentState. The direction of propagation is determined by the sign of the Duration specified.
Public methodPropagateUntilStop(IEnumerableStoppingConditionEvaluator, ITrackCalculationProgress)
Propagates forward until one of the conditions are tripped. This will propagate Increasing by default.
Public methodPropagateUntilStop(IEnumerableStoppingConditionEvaluator, IntegrationSense, ITrackCalculationProgress)
Propagates until one of the conditions are tripped.
Public methodPropagateUntilStop(IEnumerableStoppingConditionEvaluator, IntegrationSense, Boolean, ITrackCalculationProgress)
Propagates until one of the conditions are tripped.
Public methodPropagateUntilStop(IEnumerableStoppingConditionEvaluator, IntegrationSense, Boolean, Int32, ITrackCalculationProgress)
Propagates until one of the conditions are tripped.
Public methodReset
Resets the propagation back to the initial conditions.
Public methodReset(JulianDate, Double)
Resets the propagation to a new set of initial conditions at the epoch time.
Public methodRestep
Instead of advancing from the CurrentState, reintegrate the last step that was taken by the integrator by the given step size to produce a new CurrentState and CurrentTime.
Public methodTakeStep
Advance the state from the CurrentState by taking a single integration step. CurrentState and CurrentTime will be updated to reflect the new values.
Public methodTakeStep(Double)
Advance the state from the CurrentState by taking a single integration step bounded by a maximum. CurrentState and CurrentTime will be updated to reflect the new values.
Public methodToString
Returns a string that represents the current object.
(Inherited from Object.)
Top
Events
  NameDescription
Public eventExceptionDuringPropagation
Gets the instance of the event handler which will be triggered after the propagator throws an exception. If no event handler is specified then the propagator will throw a NumericalPropagationException that wraps the underlying exception.
Public eventStepTaken
Gets the instance of the event handler which will be triggered after every time the propagator takes an integration step.
Top
See Also