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.
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 ConvertStateT(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 ConvertStateT(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(IEnumerableStoppingConditionEvaluator, ITrackCalculationProgress) |
Propagates forward until one of the conditions are tripped. This will propagate
Increasing by default.
| |
| PropagateUntilStop(IEnumerableStoppingConditionEvaluator, IntegrationSense, ITrackCalculationProgress) |
Propagates until one of the conditions are tripped.
| |
| PropagateUntilStop(IEnumerableStoppingConditionEvaluator, IntegrationSense, Boolean, ITrackCalculationProgress) |
Propagates until one of the conditions are tripped.
| |
| PropagateUntilStop(IEnumerableStoppingConditionEvaluator, 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.
|