Source code for RCAIDE.Library.Mission.Common.Initialize.inertial_position

# RCAIDE/Library/Missions/Segments/Common/Initialize/inertial_position.py
# 
# 
# Created:  Jul 2023, M. Clarke 

# ----------------------------------------------------------------------------------------------------------------------
#  Initialize Inertial Position
# ----------------------------------------------------------------------------------------------------------------------
[docs] def inertial_position(segment): """ Initializes intertial positon of vehicle Assumptions: Only used if there is an initial condition Inputs: state.conditions: numerics.dimensionless.integrate [i] numerics.dimensionless.control_points [-] frames.inertial.aircraft_range [m] Outputs: state.conditions.frames.inertial.position_vector [m] state.conditions.frames.inertial.aircraft_range [m] Properties Used: N/A """ if segment.state.initials: r_initial = segment.state.initials.conditions.frames.inertial.position_vector r_current = segment.state.conditions.frames.inertial.position_vector R_initial = segment.state.initials.conditions.frames.inertial.aircraft_range R_current = segment.state.conditions.frames.inertial.aircraft_range if 'altitude' in segment.keys() and segment.altitude is not None: r_initial[-1,None,-1] = -segment.altitude elif 'altitude_start' in segment.keys() and segment.altitude_start is not None: r_initial[-1,None,-1] = -segment.altitude_start else: assert('Altitude not set') segment.state.conditions.frames.inertial.position_vector[:,:] = r_current + (r_initial[-1,None,:] - r_current[0,None,:]) segment.state.conditions.frames.inertial.aircraft_range[:,:] = R_current + (R_initial[-1,None,:] - R_current[0,None,:]) return