Source code for RCAIDE.Framework.Mission.Segments.Cruise.Constant_Throttle_Constant_Altitude
# RCAIDE/Framework/Analyses/Mission/Segments/Cruise/Constant_Throttle_Constant_Altitude.py
#
#
# Created: Jul 2023, M. Clarke
# ----------------------------------------------------------------------------------------------------------------------
# IMPORT
# ----------------------------------------------------------------------------------------------------------------------
# RCAIDE imports
from RCAIDE.Framework.Mission.Segments.Evaluate import Evaluate
from RCAIDE.Framework.Core import Units
from RCAIDE.Library.Mission import Common,Segments
from RCAIDE.Framework.Analyses import Process
# ----------------------------------------------------------------------------------------------------------------------
# Constant_Throttle_Constant_Altitude
# ----------------------------------------------------------------------------------------------------------------------
[docs]
class Constant_Throttle_Constant_Altitude(Evaluate):
""" Vehicle flies at a set throttle setting. Allows a vehicle to do a level acceleration.
Assumptions:
None
Source:
None
"""
# ------------------------------------------------------------------
# Data Defaults
# ------------------------------------------------------------------
def __defaults__(self):
""" This sets the default solver flow. Anything in here can be modified after initializing a segment.
Assumptions:
None
Source:
N/A
Inputs:
None
Outputs:
None
Properties Used:
None
"""
# --------------------------------------------------------------------------------------------------------------
# User Inputs
# --------------------------------------------------------------------------------------------------------------
self.throttle = None
self.altitude = None
self.air_speed_start = None
self.air_speed_end = 0.0
self.true_course = 0.0 * Units.degrees
# --------------------------------------------------------------------------------------------------------------
# Mission Specific Unknowns and Residuals
# --------------------------------------------------------------------------------------------------------------
self.state.residuals.final_velocity_error = 0.0
# --------------------------------------------------------------------------------------------------------------
# Mission specific processes
# --------------------------------------------------------------------------------------------------------------
initialize = self.process.initialize
initialize.conditions = Segments.Cruise.Constant_Throttle_Constant_Altitude.initialize_conditions
iterate = self.process.iterate
# Update Conditions
iterate.conditions = Process()
iterate.conditions.differentials = Common.Update.differentials_time
iterate.conditions.velocity = Segments.Cruise.Constant_Throttle_Constant_Altitude.integrate_velocity
iterate.conditions.orientations = Common.Update.orientations
iterate.conditions.acceleration = Common.Update.acceleration
iterate.conditions.angular_acceleration = Common.Update.angular_acceleration
iterate.conditions.altitude = Common.Update.altitude
iterate.conditions.atmosphere = Common.Update.atmosphere
iterate.conditions.gravity = Common.Update.gravity
iterate.conditions.freestream = Common.Update.freestream
iterate.conditions.energy = Common.Update.thrust
iterate.conditions.aerodynamics = Common.Update.aerodynamics
iterate.conditions.stability = Common.Update.stability
iterate.conditions.weights = Common.Update.weights
iterate.conditions.forces = Common.Update.forces
iterate.conditions.moments = Common.Update.moments
iterate.conditions.planet_position = Common.Update.planet_position
iterate.residuals.flight_dynamics = Common.Residuals.flight_dynamics
iterate.residuals.velocity = Segments.Cruise.Constant_Throttle_Constant_Altitude.solve_velocity
iterate.unknowns.mission = Common.Unpack_Unknowns.orientation
iterate.unknowns.acceleration = Segments.Cruise.Constant_Throttle_Constant_Altitude.unpack_unknowns
return