RCAIDE.Library.Mission.Segments.Climb.Constant_Mach_Constant_Angle

Constant_Mach_Constant_Angle#

Functions

initialize_conditions(segment)

Initializes conditions for constant Mach climb with fixed angle

residual_total_forces(segment)

update_differentials(segment)

On each iteration creates the differentials and integration functions from knowns about the problem.

initialize_conditions(segment)[source]#

Initializes conditions for constant Mach climb with fixed angle

Parameters:

segment (Segment) – The mission segment being analyzed

Notes

This function sets up the initial conditions for a climb segment with constant Mach number and constant climb angle.

Required Segment Components

segment:
  • climb_anglefloat

    Fixed climb angle [rad]

  • mach_numberfloat

    Mach number to maintain [-]

  • altitude_startfloat

    Initial altitude [m]

  • altitude_endfloat

    Final altitude [m]

  • sideslip_anglefloat

    Aircraft sideslip angle [rad]

  • state:
    numerics.dimensionless.control_pointsarray

    Discretization points [-]

    conditionsData

    State conditions container

  • analyses:
    atmosphereModel

    Atmospheric model for property calculations

Calculation Process
  1. Get atmospheric properties for speed of sound

  2. Calculate true airspeed from Mach number

  3. Decompose velocity into components using:
    • Fixed climb angle

    • Sideslip angle

    • Constant Mach requirement

Major Assumptions
  • Constant Mach number

  • Fixed climb angle

  • Standard atmosphere model

  • Small angle approximations

  • Quasi-steady flight

Returns:

Updates segment conditions directly:

Return type:

None

residual_total_forces(segment)[source]#
update_differentials(segment)[source]#

On each iteration creates the differentials and integration functions from knowns about the problem. Sets the time at each point. Must return in dimensional time, with t[0] = 0. This is different from the common method as it also includes the scaling of operators.

Assumptions: Works with a segment discretized in vertical position, altitude

Inputs: state.numerics.dimensionless.control_points [Unitless] state.numerics.dimensionless.differentiate [Unitless] state.numerics.dimensionless.integrate [Unitless] state.conditions.frames.inertial.position_vector [meter] state.conditions.frames.inertial.velocity_vector [meter/second]

Outputs: state.conditions.frames.inertial.time [second]