Source code for RCAIDE.Framework.Analyses.Noise.Noise

# RCAIDE/Framework/Analyses/Noise/Noise.py
# 
# 
# Created:  Jul 2023, M. Clarke

# ----------------------------------------------------------------------------------------------------------------------
#  IMPORT
# ---------------------------------------------------------------------------------------------------------------------- 
from RCAIDE.Framework.Core import Data
from RCAIDE.Framework.Analyses import Analysis

# package imports
import numpy as np 
# ----------------------------------------------------------------------
#  Noise
# ----------------------------------------------------------------------
[docs] class Noise(Analysis): """ RCAIDE.Framework.Analyses.Noise.Noise() The Top Level Noise Analysis Class Assumptions: None Source: N/A """ def __defaults__(self): """This sets the default values and methods for the analysis. Assumptions: None Source: N/A Inputs: None Outputs: None Properties Used: N/A """ self.tag = 'Noise' self.vehicle = Data() self.settings = Data() self.settings = self.settings self.settings.harmonics = np.arange(1,30) self.settings.flyover = False self.settings.approach = False self.settings.sideline = False self.settings.sideline_x_position = 0 self.settings.print_noise_output = False self.settings.mean_sea_level_altitude = True self.settings.aircraft_origin_location = np.array([0,0,0]) self.settings.aircraft_destination_location = np.array([0,0,0]) self.settings.aircraft_origin_coordinates = np.array([0.0,0.0]) self.settings.aircraft_destination_coordinates = np.array([0.0,0.0]) self.settings.noise_reduction_factors = Data() self.settings.noise_reduction_factors.SPL_dbA = 0.0 # Reduction factors are proportional (.1 is a 10% weight reduction) self.settings.topography_file = None self.settings.microphone_locations = None self.settings.microphone_coordinates = None self.settings.microphone_x_resolution = 11 self.settings.microphone_y_resolution = 11 self.settings.noise_times_steps = 101 self.settings.number_of_microphone_in_stencil = 10 self.settings.microphone_min_x = 0 self.settings.microphone_max_x = 1000 self.settings.microphone_min_y = -100 self.settings.microphone_max_y = 100 self.settings.noise_hemisphere = False self.settings.noise_hemisphere_radius = 20 epsilon = 1E-5 self.settings.noise_hemisphere_phi_angles = np.linspace(epsilon + (np.pi/2), np.pi-epsilon,6) self.settings.noise_hemisphere_theta_angles = np.linspace(epsilon + 0 , 2*np.pi-epsilon,12) # settings for acoustic frequency resolution self.settings.center_frequencies = np.array([16,20,25,31.5,40, 50, 63, 80, 100, 125, 160, 200, 250, 315, 400, \ 500, 630, 800, 1000, 1250, 1600, 2000, 2500, 3150, 4000, 5000, 6300, 8000, 10000]) self.settings.lower_frequencies = np.array([14,18,22.4,28,35.5,45,56,71,90,112,140,180,224,280,355,450,560,710,\ 900,1120,1400,1800,2240,2800,3550,4500,5600,7100,9000 ]) self.settings.upper_frequencies = np.array([18,22.4,28,35.5,45,56,71,90,112,140,180,224,280,355,450,560,710,900,1120,\ 1400,1800,2240,2800,3550,4500,5600,7100,9000,11200 ]) return
[docs] def evaluate(self,state): """The default evaluate function. Assumptions: None Source: N/A Inputs: None Outputs: results <Results class> (empty) Properties Used: N/A """ results = Data() return results