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 Copy<T>(T).
A NumericalPropagator is created by configuring a NumericalPropagatorDefinition and then calling CreatePropagator().
Namespace: AGI.Foundation.Propagators
The NumericalPropagator type exposes the following members.
Name | Description | |
---|---|---|
![]() | Converter |
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.
|
![]() | CurrentState |
Gets a copy of the raw state at the end of the last step taken. For processed state data
use the ConvertState<T> (String,Double[]) method on the
Converter property.
|
![]() | CurrentStepSize |
Gets the current step size in seconds that the integrator will take when advancing to the next time.
|
![]() | CurrentTime |
Gets the time at the end of the last step taken.
|
![]() | IncludeIntegratorInformationInOutput |
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.
|
![]() | InitialEpoch |
Gets the time at which the InitialState is defined.
|
![]() | InitialState |
Gets a copy of the raw initial state used to start propagation. For processed state data
use the ConvertState<T> (String,Double[]) method on the
Converter property.
|
![]() | IsThreadSafe |
Gets a value indicating whether the methods on this instance are safe to call from
multiple threads simultaneously.
|
![]() | PreviousStepSize |
Gets the last step size in seconds that was taken by the integrator to produce the
CurrentTime and CurrentState.
|
![]() | PropagationDirection |
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.
|
![]() | StepSizeInformation |
Gets information about the last step that was taken by the integrator.
|
Name | Description | |
---|---|---|
![]() | Clone |
Clones this object using the specified context.
|
![]() | Dispose |
Releases any resources associated with this instance.
|
![]() | Equals | Determines whether the specified object is equal to the current object. (Inherited from Object.) |
![]() | GetHashCode | Serves as the default hash function. (Inherited from Object.) |
![]() | GetType | Gets the Type of the current instance. (Inherited from Object.) |
![]() | Propagate(Duration) |
Propagates the state from the CurrentTime and CurrentState.
The direction of propagation is determined by the sign of the Duration
specified.
|
![]() | Propagate(Duration, ITrackCalculationProgress) |
Propagates the state from the CurrentTime and CurrentState.
The direction of propagation is determined by the sign of the Duration
specified.
|
![]() | Propagate(Duration, Int32) |
Propagates the state from the CurrentTime and CurrentState.
The direction of propagation is determined by the sign of the Duration
specified.
|
![]() | Propagate(Duration, Int32, ITrackCalculationProgress) |
Propagates the state from the CurrentTime and CurrentState.
The direction of propagation is determined by the sign of the Duration
specified.
|
![]() | PropagateUntilStop(IEnumerable<StoppingConditionEvaluator>, ITrackCalculationProgress) |
Propagates forward until one of the conditions are tripped. This will propagate
Increasing by default.
|
![]() | PropagateUntilStop(IEnumerable<StoppingConditionEvaluator>, IntegrationSense, ITrackCalculationProgress) |
Propagates until one of the conditions are tripped.
|
![]() | PropagateUntilStop(IEnumerable<StoppingConditionEvaluator>, IntegrationSense, Boolean, ITrackCalculationProgress) |
Propagates until one of the conditions are tripped.
|
![]() | PropagateUntilStop(IEnumerable<StoppingConditionEvaluator>, IntegrationSense, Boolean, Int32, ITrackCalculationProgress) |
Propagates until one of the conditions are tripped.
|
![]() | Reset() |
Resets the propagation back to the initial conditions.
|
![]() | Reset(JulianDate,Double[]) |
Resets the propagation to a new set of initial conditions at the epoch time.
|
![]() | Restep |
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.
|
![]() | TakeStep() |
Advance the state from the CurrentState by taking a single integration step.
CurrentState and CurrentTime will be updated to reflect the new values.
|
![]() | TakeStep(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.
|
![]() | ToString | Returns a string that represents the current object. (Inherited from Object.) |
Name | Description | |
---|---|---|
![]() | ExceptionDuringPropagation |
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.
|
![]() | StepTaken |
Gets the instance of the event handler which will be triggered after
every time the propagator takes an integration step.
|