def __init__(self, log=None, debug=False): """ Initializes the SHABP object Parameters ---------- debug : bool/None; default=True used to set the logger if no logger is passed in True: logs debug/info/error messages False: logs info/error messages None: logs error messages log : logging module object / None if log is set, debug is ignored and uses the settings the logging object has """ ShabpOut.__init__(self, log, debug) #self.xyz = {} self.X = {} self.Y = {} self.Z = {} self.trailer = None self.component_name_to_patch = {} self.patch_to_component_num = {} self.component_to_params = {} self.component_num_to_name = {} self.component_name_to_num = {} self.log = get_logger2(log, debug=debug) self.title = '' self.header = '' self.shabp_cases = {}
def test_shabp_2(self): """tests the flap""" log = SimpleLogger(level='info', encoding='utf-8') shabp_infilename = os.path.join(MODEL_PATH, 'flap', 'flap_inviscid.mk5') shabp_outfilename = os.path.join(MODEL_PATH, 'flap', 'SHABP.OUT') #test.model.load_shabp_geometry(shabp_infilename) #test.on_load_geometry(shabp_infilename, geometry_format='shabp', raise_error=True) model = read_shabp(shabp_infilename, read_special_routines=True, log=log, debug=None) #print(f'component_name_to_patch = {model.component_name_to_patch}') #print(f'patch_to_component_num = {model.patch_to_component_num}') #print(f'component_to_params = {model.component_to_params}') #print(f'component_num_to_name = {model.component_num_to_name}') #print(f'component_name_to_num = {model.component_name_to_num}') assert model.component_name_to_patch == { 'COMP1': [1], 'FLAP': [2] }, model.component_name_to_patch assert model.patch_to_component_num == { 0: 1, 1: 2 }, model.patch_to_component_num assert model.component_to_params == { 0: [3, 1, 1, 0, 0, 0.0, 1.0, 0.0, 1.0, 3.0, 3.0], 1: [3, 1, 1, 0, 0, 0.0, 1.0, 0.0, 1.0, 3.0, 3.0] }, model.component_to_params assert model.component_num_to_name == { 0: 'COMP1', 1: 'FLAP' }, model.component_num_to_name assert model.component_name_to_num == { 'COMP1': 0, 'FLAP': 1 }, model.component_name_to_num areas = model.get_area_by_patch() assert np.allclose(areas, [50., 124.6875]), areas areas = model.get_area_by_component() assert np.allclose(areas['COMP1'], 124.6875), areas assert np.allclose(areas['FLAP'], 50.0), areas areas, lengths = model.get_area_xlength_by_component() assert np.allclose(areas['COMP1'], 124.6875), areas assert np.allclose(areas['FLAP'], 50.0), areas assert np.allclose(lengths['COMP1'], 24.9375), lengths assert np.allclose(lengths['FLAP'], 34.9375), lengths out_model = ShabpOut(model, log=log) Cpd, unused_deltad = out_model.read_shabp_out(shabp_outfilename)
def load_shabp_results(self, shabp_filename): #print(dir(self)) #print(dir(self.gui)) model_name = 'main' #print(self.model) model = self.gui.bkp out_model = ShabpOut(model, log=self.gui.log, debug=self.gui.debug) Cpd, deltad = out_model.read_shabp_out(shabp_filename) cases = self.gui.result_cases icase = len(cases) mach_results = [] form = self.gui.get_form() form.append(('Results', None, mach_results)) mach_forms = defaultdict(list) for case_id, Cp in sorted(Cpd.items()): Cp = Cpd[case_id] delta = deltad[case_id] try: mach, alpha, unused_beta = model.shabp_cases[case_id] name = 'Mach=%g Alpha=%g' % (mach, alpha) except KeyError: name = 'Mach=? Alpha=? (Case %i)' % case_id #name = 'Mach=%g Alpha=%g' % (mach, alpha) #(name, icase, 'Cp', 1, 'centroid', '%.3f', '') cases[icase] = Cp #cp_form = [ #('Cp', icase, []) #] ID = 1 cp_res = GuiResult(ID, header='Cp', title='Cp', location='centroid', scalar=Cp) # data_format='%.2f delta_res = GuiResult(ID, header='delta', title='delta', location='centroid', scalar=delta) # data_format='%.2f itime = 0 cases[icase] = (cp_res, (itime, name)) cases[icase + 1] = (delta_res, (itime, name)) mach_forms[mach].append(('Cp', icase, [])) mach_forms[mach].append(('delta', icase + 1, [])) icase += 2 #self.result_cases[(name, 'delta', 1, 'centroid', '%.3f')] = delta for mach, mach_form in sorted(mach_forms.items()): mach_formi = ('Mach=%s' % mach, None, mach_form) mach_results.append(mach_formi) self.gui._finish_results_io2(model_name, form, cases)
def __init__(self, log=None, debug=False): ShabpOut.__init__(self, log, debug) self.X = {} self.Y = {} self.Z = {} self.trailer = None self.component_name_to_patch = {} self.patch_to_component_num = {} self.component_to_params = {} self.component_num_to_name = {} self.component_name_to_num = {}
def __init__(self, log=None, debug=False): ShabpOut.__init__(self, log, debug) #self.xyz = {} self.X = {} self.Y = {} self.Z = {} self.trailer = None self.component_name_to_patch = {} self.patch_to_component_num = {} self.component_to_params = {} self.component_num_to_name = {} self.component_name_to_num = {} self.log = get_logger(log, 'debug' if debug else 'info')
def __init__(self, log=None, debug=False): ShabpOut.__init__(self, log, debug) #self.xyz = {} self.X = {} self.Y = {} self.Z = {} self.trailer = None self.component_name_to_patch = {} self.patch_to_component_num = {} self.component_to_params = {} self.component_num_to_name = {} self.component_name_to_num = {} self.log = get_logger2(log, debug=debug) self.title = '' self.header = '' self.shabp_cases = {}