fastoad.models.performances.mission.segments.speed_change module

Classes for acceleration/deceleration segments.

class fastoad.models.performances.mission.segments.speed_change.SpeedChangeSegment(name: str = '', target: ~fastoad.model_base.flight_point.FlightPoint = <object object>, isa_offset: float = 0.0, propulsion: ~fastoad.model_base.propulsion.IPropulsion = <object object>, polar: ~fastoad.models.performances.mission.polar.Polar = <object object>, reference_area: float = <object object>, time_step: float = 0.2, altitude_bounds: tuple = (-500.0, 40000.0), mach_bounds: tuple = (0.0, 5.0), interrupt_if_getting_further_from_target: bool = True, engine_setting: ~fastoad.constants.EngineSetting = EngineSetting.CLIMB, thrust_rate: float = 1.0)[source]

Bases: AbstractManualThrustSegment

Computes a flight path segment where speed is modified with no change in altitude.

The target must define a speed value among true_airspeed, equivalent_airspeed and mach.

get_distance_to_target(flight_points: List[FlightPoint], target: FlightPoint) float[source]

Computes a “distance” from last flight point to target.

Computed does not need to have a real meaning. The important point is that it must be signed so that algorithm knows on which “side” of the target we are. And of course, it should be 0. if flight point is on target.

  • flight_points – list of all currently computed flight_points

  • target – segment target (will not contain relative values)


  1. if target is attained, a non-null value otherwise

get_gamma_and_acceleration(flight_point: FlightPoint) Tuple[float, float][source]

Computes slope angle (gamma) and acceleration.


flight_point – parameters after propulsion model has been called (i.e. mass, thrust and drag are available)


slope angle in radians and acceleration in m**2/s

property target: FlightPoint

The most base type