Source code for RCAIDE.Library.Mission.Common.Update.freestream

# RCAIDE/Library/Missions/Common/Update/Aerodynamics.py
# 
# 
# Created:  Jul 2023, M. Clarke

# ----------------------------------------------------------------------------------------------------------------------
#  IMPORT
# ----------------------------------------------------------------------------------------------------------------------

# RCAIDE imports 
import numpy as np 
    
# ----------------------------------------------------------------------------------------------------------------------
#  Update Freestream
# ----------------------------------------------------------------------------------------------------------------------
[docs] def freestream(segment): """ Updates the freestream conditions Assumptions: N/A Inputs: segment.state.conditions.: frames.inertial.velocity_vector [m/s] freestream.density [kg/m^3] freestream.speed_of_sound [m/s] freestream.dynamic_viscosity [Pa-s] Outputs: segment.conditions.freestream velocity [m/s] mach_number [-] reynolds_number [-] dynamic_pressure [Pa] Properties Used: N/A """ # unpack conditions = segment.state.conditions V = conditions.frames.inertial.velocity_vector rho = conditions.freestream.density a = conditions.freestream.speed_of_sound mu = conditions.freestream.dynamic_viscosity # velocity magnitude Vmag2 = np.sum( V**2, axis=1)[:,None] Vmag = np.sqrt(Vmag2) # dynamic pressure q = 0.5 * rho * Vmag2 # Pa # Mach number M = Vmag / a # Reynolds number Re = rho * Vmag / mu # per m # pack conditions.freestream.velocity = Vmag conditions.freestream.mach_number = M conditions.freestream.reynolds_number = Re conditions.freestream.dynamic_pressure = q return