Cruise mission methods containing the functions for setting up and solving a mission.
More...
Cruise mission methods containing the functions for setting up and solving a mission.
◆ initialize_conditions() [1/9]
def SUAVE.Methods.Missions.Segments.Cruise.Constant_Speed_Constant_Altitude.initialize_conditions |
( |
|
segment | ) |
|
Constant_Speed_Constant_Altitude.py.
Created: Jul 2014, SUAVE Team Modified: Jan 2016, E. Botero May 2019, T. MacDonald
Sets the specified conditions which are given for the segment type.
Assumptions:
Constant speed and constant altitude
Source:
N/A
Inputs:
segment.altitude [meters]
segment.distance [meters]
segment.speed [meters/second]
Outputs:
conditions.frames.inertial.velocity_vector [meters/second]
conditions.frames.inertial.position_vector [meters]
conditions.freestream.altitude [meters]
conditions.frames.inertial.time [seconds]
Properties Used:
N/A
◆ initialize_conditions() [2/9]
def SUAVE.Methods.Missions.Segments.Cruise.Constant_Acceleration_Constant_Altitude.initialize_conditions |
( |
|
segment | ) |
|
Constant_Acceleration_Constant_Altitude.py.
Created: Jul 2014, SUAVE Team Modified: Jan 2016, E. Botero May 2019, T. MacDonald Mar 2020, M. Clarke
Sets the specified conditions which are given for the segment type.
Assumptions:
Constant acceleration and constant altitude
Source:
N/A
Inputs:
segment.altitude [meters]
segment.air_speed_start [meters/second]
segment.air_speed_end [meters/second]
segment.acceleration [meters/second^2]
conditions.frames.inertial.time [seconds]
Outputs:
conditions.frames.inertial.velocity_vector [meters/second]
conditions.frames.inertial.position_vector [meters]
conditions.freestream.altitude [meters]
conditions.frames.inertial.time [seconds]
Properties Used:
N/A
◆ initialize_conditions() [3/9]
def SUAVE.Methods.Missions.Segments.Cruise.Constant_Speed_Constant_Altitude_Loiter.initialize_conditions |
( |
|
segment | ) |
|
Sets the specified conditions which are given for the segment type.
Assumptions:
Constant speed and constant altitude with set loiter time
Source:
N/A
Inputs:
segment.altitude [meters]
segment.time [seconds]
segment.speed [meters/second]
Outputs:
conditions.frames.inertial.velocity_vector [meters/second]
conditions.frames.inertial.position_vector [meters]
conditions.freestream.altitude [meters]
conditions.frames.inertial.time [seconds]
Properties Used:
N/A
◆ initialize_conditions() [4/9]
def SUAVE.Methods.Missions.Segments.Cruise.Constant_Dynamic_Pressure_Constant_Altitude.initialize_conditions |
( |
|
segment | ) |
|
Sets the specified conditions which are given for the segment type.
Assumptions:
Constant dynamic pressure and constant altitude
Source:
N/A
Inputs:
segment.altitude [meters]
segment.distance [meters]
segment.dynamic_pressure [pascals]
Outputs:
conditions.frames.inertial.velocity_vector [meters/second]
conditions.frames.inertial.position_vector [meters]
conditions.freestream.altitude [meters]
conditions.frames.inertial.time [seconds]
Properties Used:
N/A
◆ initialize_conditions() [5/9]
def SUAVE.Methods.Missions.Segments.Cruise.Constant_Mach_Constant_Altitude_Loiter.initialize_conditions |
( |
|
segment | ) |
|
Sets the specified conditions which are given for the segment type.
Assumptions:
Constant mach and constant altitude with set loiter time
Source:
N/A
Inputs:
segment.altitude [meters]
segment.time [seconds]
segment.mach [unitless]
Outputs:
conditions.frames.inertial.velocity_vector [meters/second]
conditions.frames.inertial.position_vector [meters]
conditions.freestream.altitude [meters]
conditions.frames.inertial.time [seconds]
Properties Used:
N/A
◆ initialize_conditions() [6/9]
def SUAVE.Methods.Missions.Segments.Cruise.Constant_Pitch_Rate_Constant_Altitude.initialize_conditions |
( |
|
segment | ) |
|
Sets the specified conditions which are given for the segment type.
Assumptions:
Constant acceleration and constant altitude
Source:
N/A
Inputs:
segment.altitude [meters]
segment.pitch_initial [radians]
segment.pitch_final [radians]
segment.pitch_rate [radians/second]
Outputs:
conditions.frames.body.inertial_rotations [radians/second]
conditions.frames.inertial.position_vector [meters]
conditions.freestream.altitude [meters]
conditions.frames.inertial.time [seconds]
Properties Used:
N/A
◆ initialize_conditions() [7/9]
def SUAVE.Methods.Missions.Segments.Cruise.Constant_Dynamic_Pressure_Constant_Altitude_Loiter.initialize_conditions |
( |
|
segment | ) |
|
Sets the specified conditions which are given for the segment type.
Assumptions:
Constant dynamic pressure and constant altitude with set loiter time
Source:
N/A
Inputs:
segment.altitude [meters]
segment.time [seconds]
segment.dynamic_pressure [pascals]
Outputs:
conditions.frames.inertial.velocity_vector [meters/second]
conditions.frames.inertial.position_vector [meters]
conditions.freestream.altitude [meters]
conditions.frames.inertial.time [seconds]
Properties Used:
N/A
◆ initialize_conditions() [8/9]
def SUAVE.Methods.Missions.Segments.Cruise.Constant_Mach_Constant_Altitude.initialize_conditions |
( |
|
segment | ) |
|
Sets the specified conditions which are given for the segment type.
Assumptions:
Constant mach and constant altitude
Source:
N/A
Inputs:
segment.altitude [meters]
segment.distance [meters]
segment.mach [unitless]
Outputs:
conditions.frames.inertial.velocity_vector [meters/second]
conditions.frames.inertial.position_vector [meters]
conditions.freestream.altitude [meters]
conditions.frames.inertial.time [seconds]
Properties Used:
N/A
◆ initialize_conditions() [9/9]
def SUAVE.Methods.Missions.Segments.Cruise.Constant_Throttle_Constant_Altitude.initialize_conditions |
( |
|
segment | ) |
|
Sets the specified conditions which are given for the segment type.
Assumptions:
Constant throttle and constant altitude, allows for acceleration
Source:
N/A
Inputs:
segment.altitude [meters]
segment.air_speed_start [meters/second]
segment.air_speed_end [meters/second]
segment.throttle [unitless]
segment.state.numerics.number_control_points [int]
Outputs:
state.conditions.propulsion.throttle [unitless]
conditions.frames.inertial.position_vector [meters]
conditions.freestream.altitude [meters]
Properties Used:
N/A
◆ initialize_cruise_distance()
def SUAVE.Methods.Missions.Segments.Cruise.Variable_Cruise_Distance.initialize_cruise_distance |
( |
|
segment | ) |
|
Variable_Cruise_Distance.py.
Created: Jul 2014, SUAVE Team Modified: Jan 2016, E. Botero Aug 2021, M. Clarke
This is a method that allows your vehicle to land at prescribed landing weight
Assumptions:
N/A
Source:
N/A
Inputs:
segment.cruise_tag [string]
segment.distance [meters]
Outputs:
state.unknowns.cruise_distance [meters]
Properties Used:
N/A
◆ residual_landing_weight()
def SUAVE.Methods.Missions.Segments.Cruise.Variable_Cruise_Distance.residual_landing_weight |
( |
|
segment | ) |
|
This is a method that allows your vehicle to land at prescribed landing weight.
This takes the final weight and compares it against the prescribed landing weight.
Assumptions:
N/A
Source:
N/A
Inputs:
segment.state.segments[-1].conditions.weights.total_mass [kilogram]
segment.target_landing_weight [kilogram]
Outputs:
segment.state.residuals.landing_weight [kilogram]
Properties Used:
N/A
◆ residual_state_of_charge()
def SUAVE.Methods.Missions.Segments.Cruise.Variable_Cruise_Distance.residual_state_of_charge |
( |
|
segment | ) |
|
This is a method that allows your vehicle to land at a prescribed state of charge.
This takes the final weight and compares it against the prescribed state of charge.
Assumptions:
N/A
Source:
N/A
Inputs:
segment.state.segments[-1].conditions.propulsion.battery_state_of_charge [None]
segment.target_state_of_charge [None]
Outputs:
segment.state.residuals.battery_state_of_charge [None]
Properties Used:
N/A
◆ residual_total_forces() [1/5]
def SUAVE.Methods.Missions.Segments.Cruise.Common.residual_total_forces |
( |
|
segment | ) |
|
Calculates a residual based on forces
Assumptions:
The vehicle is not accelerating, doesn't use gravity
Inputs:
segment.state.conditions:
frames.inertial.total_force_vector [Newtons]
weights.total_mass [kg]
Outputs:
segment.state.residuals.forces [meters/second^2]
Properties Used:
N/A
◆ residual_total_forces() [2/5]
def SUAVE.Methods.Missions.Segments.Cruise.Constant_Acceleration_Constant_Altitude.residual_total_forces |
( |
|
segment | ) |
|
Calculates a residual based on forces
Assumptions:
The vehicle is not accelerating, doesn't use gravity
Inputs:
segment.acceleration [meters/second^2]
segment.state.ones_row [vector]
state.conditions:
frames.inertial.total_force_vector [Newtons]
weights.total_mass [kg]
Outputs:
state.conditions:
state.residuals.forces [meters/second^2]
Properties Used:
N/A
◆ residual_total_forces() [3/5]
def SUAVE.Methods.Missions.Segments.Cruise.Constant_Pitch_Rate_Constant_Altitude.residual_total_forces |
( |
|
segment | ) |
|
Calculates a residual based on forces
Assumptions:
The vehicle is accelerating, doesn't use gravity
Inputs:
state.conditions:
frames.inertial.total_force_vector [Newtons]
weights.total_mass [kg]
frames.inertial.velocity_vector [meters/second]
Outputs:
state:
residuals.forces [meters/second^2]
conditions.frames.inertial.acceleration_vector [meters/second^2]
Properties Used:
N/A
◆ residual_total_forces() [4/5]
def SUAVE.Methods.Missions.Segments.Transition.Constant_Acceleration_Constant_Pitchrate_Constant_Altitude.residual_total_forces |
( |
|
segment | ) |
|
Calculates a residual based on forces
Assumptions:
The vehicle is not accelerating, doesn't use gravity
Inputs:
segment.acceleration [meters/second^2]
segment.state.ones_row [vector]
state.conditions:
frames.inertial.total_force_vector [Newtons]
weights.total_mass [kg]
Outputs:
state.conditions:
state.residuals.forces [meters/second^2]
Properties Used:
N/A
◆ residual_total_forces() [5/5]
def SUAVE.Methods.Missions.Segments.Transition.Constant_Acceleration_Constant_Angle_Linear_Climb.residual_total_forces |
( |
|
segment | ) |
|
Calculates a residual based on forces
Assumptions:
The vehicle is not accelerating, doesn't use gravity
Inputs:
segment.acceleration [meters/second^2]
segment.state.ones_row [vector]
state.conditions:
frames.inertial.total_force_vector [Newtons]
weights.total_mass [kg]
Outputs:
state.conditions:
state.residuals.forces [meters/second^2]
Properties Used:
N/A
◆ solve_residuals()
def SUAVE.Methods.Missions.Segments.Cruise.Constant_Throttle_Constant_Altitude.solve_residuals |
( |
|
segment | ) |
|
Calculates a residual based on forces
Assumptions:
The vehicle accelerates, residual on forces and to get it to the final speed
Inputs:
segment.air_speed_end [meters/second]
segment.state.conditions:
frames.inertial.total_force_vector [Newtons]
frames.inertial.velocity_vector [meters/second]
weights.total_mass [kg]
segment.state.numerics.time.differentiate
Outputs:
segment.state.residuals:
forces [meters/second^2]
final_velocity_error [meters/second]
segment.state.conditions:
conditions.frames.inertial.acceleration_vector [meters/second^2]
Properties Used:
N/A
◆ unknown_cruise_distance()
def SUAVE.Methods.Missions.Segments.Cruise.Variable_Cruise_Distance.unknown_cruise_distance |
( |
|
segment | ) |
|
This is a method that allows your vehicle to land at prescribed landing weight
Assumptions:
N/A
Source:
N/A
Inputs:
segment.cruise_tag [string]
state.unknowns.cruise_distance [meters]
Outputs:
segment.distance [meters]
Properties Used:
N/A
◆ unpack_unknowns() [1/3]
def SUAVE.Methods.Missions.Segments.Cruise.Common.unpack_unknowns |
( |
|
segment | ) |
|
Unpacks the throttle setting and body angle from the solver to the mission
Assumptions:
N/A
Inputs:
state.unknowns:
throttle [Unitless]
body_angle [Radians]
Outputs:
state.conditions:
propulsion.throttle [Unitless]
frames.body.inertial_rotations [Radians]
Properties Used:
N/A
◆ unpack_unknowns() [2/3]
def SUAVE.Methods.Missions.Segments.Single_Point.Set_Speed_Set_Altitude_No_Propulsion.unpack_unknowns |
( |
|
segment | ) |
|
Unpacks the throttle setting and body angle from the solver to the mission
Assumptions:
N/A
Inputs:
state.unknowns:
throttle [Unitless]
body_angle [Radians]
Outputs:
state.conditions:
propulsion.throttle [Unitless]
frames.body.inertial_rotations [Radians]
Properties Used:
N/A
◆ unpack_unknowns() [3/3]
def SUAVE.Methods.Missions.Segments.Cruise.Constant_Pitch_Rate_Constant_Altitude.unpack_unknowns |
( |
|
segment | ) |
|
Unpacks the throttle setting and velocity from the solver to the mission
Assumptions:
N/A
Inputs:
state.unknowns:
throttle [Unitless]
velocity [meters/second]
Outputs:
state.conditions:
propulsion.throttle [Unitless]
frames.inertial.velocity_vector [meters/second]
Properties Used:
N/A