ostk.astrodynamics.trajectory.Propagator¶
- class Propagator(*args, **kwargs)¶
Bases:
pybind11_object
A Propagator that propagates the provided State using it's NumericalSolver under the set Dynamics.
Overloaded function.
__init__(self: ostk.astrodynamics.trajectory.Propagator, numerical_solver: ostk.astrodynamics.trajectory.state.NumericalSolver, dynamics: list[ostk::astrodynamics::Dynamics] = []) -> None
Construct a new Propagator object.
- Args:
numerical_solver (NumericalSolver) The numerical solver. dynamics (list[Dynamics], optional) The dynamics.
- Returns:
Propagator: The new Propagator object.
__init__(self: ostk.astrodynamics.trajectory.Propagator, numerical_solver: ostk.astrodynamics.trajectory.state.NumericalSolver, dynamics: list[ostk::astrodynamics::Dynamics], maneuvers: list[ostk::astrodynamics::flight::Maneuver], interpolation_type: ostk.mathematics.curve_fitting.Interpolator.Type = <Type.BarycentricRational: 0>) -> None
Construct a new Propagator object with maneuvers.
- Args:
numerical_solver (NumericalSolver) The numerical solver. dynamics (list[Dynamics]) The dynamics. maneuvers (list[Maneuver]) The maneuvers. interpolation_type (Interpolator.Type, optional) The interpolation type. Defaults to Barycentric Rational.
- Returns:
Propagator: The new Propagator object.
Methods
Access the numerical solver.
Add dynamics.
Add a maneuver.
Calculate the state at a given instant.
Calculate the state up to a given event condition.
Calculate the states at given instants.
Clear the dynamics.
Overloaded function.
Create a propagator from an environment.
Get the dynamics.
Get the number of coordinates.
Check if the propagator is defined.
Set the dynamics.
- access_numerical_solver( ) ostk.astrodynamics.trajectory.state.NumericalSolver ¶
Access the numerical solver.
- Returns:
The numerical solver.
- Return type:
NumericalSolver&
- add_dynamics(
- self: ostk.astrodynamics.trajectory.Propagator,
- dynamics: ostk::astrodynamics::Dynamics,
Add dynamics.
- Parameters:
dynamics (Dynamics)
- add_maneuver(
- self: ostk.astrodynamics.trajectory.Propagator,
- maneuver: ostk::astrodynamics::flight::Maneuver,
- interpolation_type: ostk.mathematics.curve_fitting.Interpolator.Type = <Type.BarycentricRational: 0>,
- maneuver: ostk::astrodynamics::flight::Maneuver,
Add a maneuver.
- Parameters:
maneuver (Maneuver)
interpolation_type (Interpolator.Type, optional)
- calculate_state_at(
- self: ostk.astrodynamics.trajectory.Propagator,
- state: ostk.astrodynamics.trajectory.State,
- instant: ostk.physics.time.Instant,
- state: ostk.astrodynamics.trajectory.State,
Calculate the state at a given instant.
- calculate_state_to_condition(
- self: ostk.astrodynamics.trajectory.Propagator,
- state: ostk.astrodynamics.trajectory.State,
- instant: ostk.physics.time.Instant,
- event_condition: ostk::astrodynamics::EventCondition,
- state: ostk.astrodynamics.trajectory.State,
Calculate the state up to a given event condition.
- Parameters:
state (State)
instant (Instant)
event_condition (EventCondition)
- Returns:
The state up to the given event condition.
- Return type:
- calculate_states_at(
- self: ostk.astrodynamics.trajectory.Propagator,
- state: ostk.astrodynamics.trajectory.State,
- instants: list[ostk.physics.time.Instant],
- state: ostk.astrodynamics.trajectory.State,
Calculate the states at given instants. It is more performant than looping calculate_state_at for multiple instants.
- clear_dynamics(self: ostk.astrodynamics.trajectory.Propagator) None ¶
Clear the dynamics.
- static default(*args, **kwargs)¶
Overloaded function.
default() -> ostk.astrodynamics.trajectory.Propagator
Get the default propagator.
- Returns:
Propagator: The default propagator.
default(environment: ostk.physics.Environment) -> ostk.astrodynamics.trajectory.Propagator
Get the default propagator for a given environment.
- Args:
environment (Environment) The environment.
- Returns:
Propagator: The default propagator for the given environment.
- static from_environment(
- numerical_solver: ostk.astrodynamics.trajectory.state.NumericalSolver,
- environment: ostk.physics.Environment,
Create a propagator from an environment.
- Parameters:
numerical_solver (NumericalSolver)
environment (Environment)
- Returns:
The propagator.
- Return type:
- get_dynamics( ) list[ostk::astrodynamics::Dynamics] ¶
Get the dynamics.
- get_number_of_coordinates( ) int ¶
Get the number of coordinates.
- Returns:
The number of coordinates.
- Return type:
- is_defined(self: ostk.astrodynamics.trajectory.Propagator) bool ¶
Check if the propagator is defined.
- Returns:
True if the propagator is defined, False otherwise.
- Return type: