settings

class description

class settings.FrozenClass[source]

Bases: object

class settings.Settings(case_name, language='python', pyNA_directory='.', engine_file_name='Engine_to.csv', trajectory_file_name='Trajectory_to.csv', output_file_name='Trajectory_stca.sql', ac_name='stca', ac_version='verification', save_results=False, fan_inlet=False, fan_discharge=False, core=False, jet_mixing=False, jet_shock=False, airframe=False, all_sources=True, fan_igv=False, fan_id=False, observer_lst='lateral', 'flyover', method_core_turb='GE', fan_BB_method='geae', fan_RS_method='allied_signal', ge_flight_cleanup='takeoff', levels_int_metric='epnl', engine_mounting='underwing', direct_propagation=True, absorption=True, groundeffects=True, lateral_attenuation=False, suppression=True, fan_liner_suppression=True, shielding=True, hsr_calibration=True, validation=True, bandshare=False, TCF800=True, combination_tones=False, N_shock=8, dT=10.0169, sigma=149975.28900000002, a_coh=0.01, N_f=24, N_b=5, n_altitude_absorption=5, A_e=0.9600600153600001, dt_epnl=0.5, n_harmonics=10, r_0=0.3048, p_ref=2e-05, x_observer_array=array([[3756.66, 450.0, 1.2192], [6499.86, 0.0, 1.2192]]), noise_optimization=False, PTCB=False, PHLD=False, TS_to=1.0, TS_vnrs=1.0, TS_cutback=None, z_cutback=500.0, theta_flaps=10.0, theta_slats=- 6.0, n_segments_vnrs=10, max_iter=200)[source]

Bases: settings.FrozenClass

pyNA settings class

__init__(case_name, language='python', pyNA_directory='.', engine_file_name='Engine_to.csv', trajectory_file_name='Trajectory_to.csv', output_file_name='Trajectory_stca.sql', ac_name='stca', ac_version='verification', save_results=False, fan_inlet=False, fan_discharge=False, core=False, jet_mixing=False, jet_shock=False, airframe=False, all_sources=True, fan_igv=False, fan_id=False, observer_lst='lateral', 'flyover', method_core_turb='GE', fan_BB_method='geae', fan_RS_method='allied_signal', ge_flight_cleanup='takeoff', levels_int_metric='epnl', engine_mounting='underwing', direct_propagation=True, absorption=True, groundeffects=True, lateral_attenuation=False, suppression=True, fan_liner_suppression=True, shielding=True, hsr_calibration=True, validation=True, bandshare=False, TCF800=True, combination_tones=False, N_shock=8, dT=10.0169, sigma=149975.28900000002, a_coh=0.01, N_f=24, N_b=5, n_altitude_absorption=5, A_e=0.9600600153600001, dt_epnl=0.5, n_harmonics=10, r_0=0.3048, p_ref=2e-05, x_observer_array=array([[3756.66, 450.0, 1.2192], [6499.86, 0.0, 1.2192]]), noise_optimization=False, PTCB=False, PHLD=False, TS_to=1.0, TS_vnrs=1.0, TS_cutback=None, z_cutback=500.0, theta_flaps=10.0, theta_slats=- 6.0, n_segments_vnrs=10, max_iter=200)[source]

Initialize pyNA settings class

Parameters
  • case_name (str) – Case name [-]

  • pyNA_directory (str) – Directory where pyNA is installed

  • engine_file_name (str) – File name of the take-off engine inputs [-]

  • trajectory_file_name (str) – File name of the take-off trajectory [-]

  • output_file_name (str) – Name of the output .sql file [-]

  • ac_name (str) – Name of the aircraft [-]

  • save_results (bool) – Flag to save results [-]

  • fan_inlet (bool) – Enable fan inlet noise source [-]

  • fan_discharge (bool) – Enable fan discharge noise source [-]

  • core (bool) – Enable core noise source [-]

  • jet_mixing (bool) – Enable jet mixing noise source [-]

  • jet_shock (bool) – Enable jet shock noise source [-]

  • airframe (bool) – Enable airframe noise source [-]

  • all_sources (bool) – Enable all noise sources [-]

  • trajectory_mode (str) – mode for trajectory calculations [-] (‘cutback’, optimization’)

  • observer_lst (lst) – List of observers to analyze [-] (‘flyover’,’lateral’,’approach’, ‘contour’)

  • method_core_turb (str) – Method to account for turbine transmission in the combustor (‘GE’, ‘PW’) [-]

  • fan_BB_method (str) – Method BB (original / allied_signal / geae / kresja) [-]

  • fan_RS_method (str) – Method RS (original / allied_signal / geae / kresja) [-]

  • fan_igv (bool) – Enable fan inlet guide vanes

  • fan_id (bool) – Enable fan inlet distortions

  • ge_flight_cleanup (str) – GE flight cleanup switch (none/takeoff/approach) [-]

  • levels_int_metric (str) – Integrated noise metric [-]

  • engine_mounting (str) – Engine mounting (‘fuselage’/’underwing’/’none’) [-]

  • direct_propagation (bool) – Flag for direct propagation (including distance and characteristic impedance effects) [-]

  • absorption (bool) – Flag for atmospheric absorption [-]

  • groundeffects (bool) – Flag for ground effects [-]

  • lateral_attenuation (bool) – Flag for empirical lateral attenuation effects [-]

  • suppression (bool) – Flag for suppression of engine modules [-]

  • fan_liner_suppression (bool) – Flag for fan liner suppression [-]

  • shielding (bool) – Flag for shielding effects (not implemented yet) [-]

  • hsr_calibration (bool) – Flag for HSR-era airframe calibration [-]

  • validation (bool) – Flag for validation with NASA STCA noise model [-]

  • bandshare (bool) – Flag to plot PNLT [-]

  • TCF800 (bool) – Flag for tone penalty addition to PNLT metric; allows any tone below 800Hz to be ignored [-]

  • combination_tones (bool) – Flag for combination tones int he fan noise model [-]

  • N_shock (int) – Number of shocks in supersonic jet [-]

  • dT (float) – dT standard atmosphere [K]

  • sigma (float) – Specific flow resistance of ground [kg/s m3]

  • a_coh (float) – Incoherence constant [-]

  • N_f (int) – Number of discrete 1/3 octave frequency bands [-]

  • N_b (int) – Number of bands (propagation) [-]

  • n_altitude_absorption (int) – Number of integration steps in atmospheric propagation [-]

  • A_e (float) – Engine reference area [m2]

  • dt_epnl (float) – Time step of to calculate EPNL from interpolated PNLT data [s]

  • n_harmonics (int) – Number of harmonics to be considered in tones [-]

  • r_0 (float) – Distance source observer in source mode [m]

  • p_ref (float) – Reference pressure [Pa]

  • noise_optimization (bool) – Flag to noise-optimize the trajectory [-]

  • PTCB (bool) – Enable PTCB [-]

  • PHLD (bool) – Enable PHLD [-]

  • TS_to (float) – Engine TO thrust-setting (values < 1 denote APR) [-]

  • TS_vnrs (float) – Engine VNRS thrust-setting [-]

  • TS_cutback (float) – Engine cutback thrust-setting [-]

  • z_cutback (float) – z-location of cutback [m]

  • theta_flaps (float) – Flap deflection angles [deg]

  • theta_slats (float) – Slat deflection angles [deg]

  • n_segments_vnrs (int) – List with phase number of segments [-]

  • max_iter (int) – Maximum number of iterations for trajectory computations [-]

check() → None[source]

Check the pyNA settings before a run.

Returns

None

sample settings file

# Initialize settings
pyna_settings = dict()

# Directories and file names
pyna_settings['case_name'] = 'NASA STCA Standard'                    # Case name [-]
pyna_settings['case_directory'] = 'pyNA/cases/NASA STCA Standard'    # Case directory [-]
pyna_settings['trajectory_file_name'] = 'Trajectory_to.csv'          # Name of the trajectory in the setup/traj folder [-]
pyna_settings['engine_file_name'] = 'Inputs_to.csv'                  # File name of the take-off engine inputs [-]
pyna_settings['aero_file_name'] = 'aerodeck.csv'                     # File nameme of the aerodynamics deck [-]
pyna_settings['output_file_name'] = 'Trajectory_STCA.sql'            # Name of the output .sql file [-]
pyna_settings['ac_name'] = 'stca'                                    # Aircraft name [-]

# Mode
pyna_settings['language'] = 'python'            # Language to use to solve components (julia/python) [-]
pyna_settings['save_results'] = True            # Flag to save results [-]

# Noise settings
pyna_settings['fan_inlet'] = False              # Enable fan inlet noise source (True/False)
pyna_settings['fan_discharge'] = False          # Enable fan discharge noise source (True/False)
pyna_settings['core'] = False                   # Enable core noise source (True/False)
pyna_settings['jet_mixing'] = True              # Enable jet mixing noise source (True/False)
pyna_settings['jet_shock'] = False              # Enable jet shock noise source (True/False)
pyna_settings['airframe'] = False               # Enable airframe noise source (True/False)
pyna_settings['all_sources'] = False            # Enable all noise sources (True/False)
pyna_settings['observer'] = 'lateral'           # Observers to analyze [-] ('flyover','lateral','approach')
pyna_settings['method_core_turb'] = 'GE'        # Method to account for turbine transmission in the combustor ('GE', 'PW') [-]
pyna_settings['fan_BB_method'] = 'geae'         # Method BB (original / allied_signal / geae / kresja) [-]
pyna_settings['fan_RS_method'] = 'allied_signal'# Method RS (original / allied_signal / geae / kresja) [-]
pyna_settings['fan_igv'] = False                # Fan inlet guide vanes (True/False)
pyna_settings['fan_id'] = False                 # Fan inlet distortions (True/False)
pyna_settings['ge_flight_cleanup'] = 'takeoff'  # GE flight cleanup switch (none / takeoff / approach) [-]

# Flags
pyna_settings['absorption'] = True              # Flag for atmospheric absorption
pyna_settings['groundeffects'] = True           # Flag for ground effects
pyna_settings['suppression'] = True             # Flag for suppression of engine modules
pyna_settings['shielding'] = False              # Flag for shielding effects (not implemented yet)
pyna_settings['hsr_calibration'] = True         # Flag for HSR-era airframe calibration
pyna_settings['validation'] = True              # Flag for validation with NASA STCA noise model
pyna_settings['bandshare'] = False              # Flag to plot PNLT
pyna_settings['TCF800'] = True                  # Flag for tone penalty addition to PNLT metric; allows any tone below 800Hz to be ignored
pyna_settings['combination_tones'] = False      # Flag for combination tones int he fan noise model

# Constants
pyna_settings['N_e'] = 3                        # Number of engines[-]
pyna_settings['N_shock'] = 8                    # Number of shocks in supersonic jet [-]
pyna_settings['dT'] = 10.0169                   # dT standard atmosphere [K]
pyna_settings['sigma'] = 291.0 * 515.379        # Specific flow resistance of ground [kg/s m3]
pyna_settings['a_coh'] = 0.01                   # Incoherence constant [-]
pyna_settings['N_f'] = 24                       # Number of discrete 1/3 octave frequency bands [-]
pyna_settings['N_b'] = 5                        # Number of bands (propagation) [-]
pyna_settings['n_altitude_absorption'] = 5      # Number of integration steps in atmospheric propagation [-]
pyna_settings['A_e'] = 10.334 * (0.3048 ** 2)   # Engine reference area [m2]
pyna_settings['dt_epnl'] = 0.5                  # Time step of to calculate EPNL from interpolated PNLT data [s]
pyna_settings['n_harmonics'] = 10               # Number of harmonics to be considered in tones [-]
pyna_settings['r_0'] = 0.3048                   # Distance source observer in source mode [m]
pyna_settings['p_ref'] = 2e-5                   # Reference pressure [Pa]

# Trajectory settings
if pyna_settings['case_name'] in ['case_1', 'stca', 'a10']:
    pyna_settings['trajectory_mode'] = 'compute'                    # Mode for trajectory calculations [-] ('load' / 'compute')
    pyna_settings['trajectory_optimize_noise'] = False              # Flag to noise-optimize the trajectory [-]
elif pyna_settings['case_name'] == 'NASA STCA Standard':
    pyna_settings['trajectory_mode'] = 'load'                       # Mode for trajectory calculations [-] ('load' / 'compute')
    pyna_settings['trajectory_optimize_noise'] = False              # Flag to noise-optimize the trajectory [-]

pyna_settings['trajectory_climb_phase_lst'] = ['climb', 'climb2']   # Climb phase names [-]
pyna_settings['trajectory_groundroll_TS'] = 0.95                    # Groundroll thrust setting [-]
pyna_settings['trajectory_rotation_TS'] = 0.95                      # Rotation thrust setting [-]
pyna_settings['trajectory_climb_alt_lst'] = [0, 210, 1500.]         # Climb phases altitude list [-]
pyna_settings['trajectory_climb_TS_lst'] = [0.95, 0.65*0.95]        # Climb phases thrust setting list [-]

pyna_settings['trajectory_num_segments'] = 5                        # Trajectory number of segments [-]
pyna_settings['trajectory_transcription_order'] = 3                 # Trajectory dymos transcription ordor [-]
pyna_settings['trajectory_max_iter'] = 250                          # Maximum number of iterations for trajectory computations [-]