ostk.astrodynamics.flight.Maneuver

class Maneuver(
self: ostk.astrodynamics.flight.Maneuver,
states: list[ostk.astrodynamics.trajectory.State],
)

Bases: pybind11_object

Spacecraft Maneuver class. Store an acceleration and mass flow rate profile of a spacecraft maneuver.

Constructor.

Parameters:

states (list[State]) -- An list of states, must be sorted, must include the CartesianPosition, CartesianVelocity, CartesianAcceleration and MassFlowRate subsets.

Methods

calculate_average_specific_impulse

Calculate the average specific impulse of the maneuver.

calculate_average_thrust

Calculate the average thrust of the maneuver.

calculate_delta_mass

Calculate the delta mass of the maneuver.

calculate_delta_v

Calculate the delta-v of the maneuver.

constant_mass_flow_rate_profile

Create a maneuver from a constant mass flow rate profile.

get_interval

Get the interval of the maneuver.

get_states

Get the states.

is_defined

Check if the maneuver is defined.

to_tabulated_dynamics

Convert the maneuver to tabulated dynamics.

calculate_average_specific_impulse(
self: ostk.astrodynamics.flight.Maneuver,
initial_spacecraft_mass: ostk.physics.unit.Mass,
) ostk.core.type.Real

Calculate the average specific impulse of the maneuver.

Parameters:

initial_spacecraft_mass (Mass) -- The initial mass of the spacecraft.

Returns:

The average specific impulse (s).

Return type:

float

calculate_average_thrust(
self: ostk.astrodynamics.flight.Maneuver,
initial_spacecraft_mass: ostk.physics.unit.Mass,
) ostk.core.type.Real

Calculate the average thrust of the maneuver.

Parameters:

initial_spacecraft_mass (Mass) -- The initial mass of the spacecraft.

Returns:

The average thrust (N).

Return type:

float

calculate_delta_mass(
self: ostk.astrodynamics.flight.Maneuver,
) ostk.physics.unit.Mass

Calculate the delta mass of the maneuver.

Returns:

The delta mass (always positive) (kg).

Return type:

Mass

calculate_delta_v(
self: ostk.astrodynamics.flight.Maneuver,
) ostk.core.type.Real

Calculate the delta-v of the maneuver.

Returns:

The delta-v value (m/s).

Return type:

float

static constant_mass_flow_rate_profile(
states: list[ostk.astrodynamics.trajectory.State],
mass_flow_rate: ostk.core.type.Real,
) ostk.astrodynamics.flight.Maneuver

Create a maneuver from a constant mass flow rate profile.

Parameters:
  • instants (list[Instant]) -- An array of instants, must be sorted.

  • acceleration_profile (list[numpy.ndarray]) -- An acceleration profile of the maneuver, one numpy.ndarray per instant.

  • frame (Frame) -- A frame in which the acceleration profile is defined.

  • mass_flow_rate (float) -- The constant mass flow rate (negative number expected).

Returns:

The created maneuver.

Return type:

Maneuver

get_interval(
self: ostk.astrodynamics.flight.Maneuver,
) ostk.physics.time.Interval

Get the interval of the maneuver.

Returns:

The interval.

Return type:

Interval

get_states(
self: ostk.astrodynamics.flight.Maneuver,
) list[ostk.astrodynamics.trajectory.State]

Get the states.

Returns:

The states.

Return type:

list[State]

is_defined(self: ostk.astrodynamics.flight.Maneuver) bool

Check if the maneuver is defined.

Returns:

True if the maneuver is defined, False otherwise. (Always returns true).

Return type:

bool

to_tabulated_dynamics(
self: ostk.astrodynamics.flight.Maneuver,
frame: ostk.physics.coordinate.Frame = GCRF,
interpolation_type: ostk.mathematics.curve_fitting.Interpolator.Type = <Type.BarycentricRational: 0>,
) ostk::astrodynamics::dynamics::Tabulated

Convert the maneuver to tabulated dynamics.

Parameters:
  • frame (Frame, optional) -- The frame in which the acceleration profile is defined. Defaults to the default acceleration frame.

  • interpolation_type (Interpolator.Type, optional) -- The interpolation type to use. Defaults to the default interpolation type.

Returns:

The tabulated dynamics.

Return type:

Tabulated