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.
|