def load_panair_results(self, panair_filename, dirname): cases = self.result_cases if os.path.basename(panair_filename) == 'agps': model = AGPS(log=self.log, debug=self.debug) model.read_agps(panair_filename) else: raise RuntimeError('only files named "agps" files are supported') # get the Cp on the nodes Cp_array = zeros(self.nNodes, dtype='float32') imin = 0 for ipatch, Cp in sorted(iteritems(model.pressures)): Cpv = ravel(Cp) nCp = len(Cpv) try: Cp_array[imin:imin + nCp] = Cpv except ValueError: # agps stores implicit and explicit wakes # we're skipping all wakes pass imin += nCp Cp_array2 = ( Cp_array[self.elements[:, 0]] + Cp_array[self.elements[:, 1]] + Cp_array[self.elements[:, 2]] + Cp_array[self.elements[:, 3]]) / 4. icase = len(self.result_cases) form = self.get_form() results_form = [ ('Cp Nodal', icase, []), ( 'Cp Centroidal', icase + 1, [], ), ] form.append(('Results', None, results_form)) ID = 1 Cpn_res = GuiResult(ID, 'Cp Nodal', 'Cp', 'node', Cp_array, data_format='%.3f', uname='Cp_nodal') Cpc_res = GuiResult(ID, 'Cp Centroidal', 'Cp', 'centroid', Cp_array2, data_format='%.3f', uname='Cp_centroidal') cases[icase] = (Cpn_res, (0, 'Cp_nodal')) cases[icase + 1] = (Cpc_res, (0, 'Cp_centroidal')) self._finish_results_io2(form, cases)
def load_panair_results(self, panair_filename, dirname): cases = self.result_cases if os.path.basename(panair_filename) == 'agps': model = AGPS(log=self.log, debug=self.debug) model.read_agps(panair_filename) else: raise RuntimeError('only files named "agps" files are supported') # get the Cp on the nodes Cp_array = zeros(self.nNodes, dtype='float32') imin = 0 for ipatch, Cp in sorted(iteritems(model.pressures)): Cpv = ravel(Cp) nCp = len(Cpv) try: Cp_array[imin:imin + nCp] = Cpv except ValueError: # agps stores implicit and explicit wakes # we're skipping all wakes pass imin += nCp Cp_array2 = (Cp_array[self.elements[:, 0]] + Cp_array[self.elements[:, 1]] + Cp_array[self.elements[:, 2]] + Cp_array[self.elements[:, 3]]) / 4. #key = (1, 'Cp', 1, 'centroid', '%.3f') #self.result_cases[key] = Cp_array2 icase = len(self.result_cases) form = self.get_form() results_form = [ ('Cp Nodal', icase, []), ('Cp Centroidal', icase + 1, [],), ] form.append(('Results', None, results_form)) if 0: key = (1, icase, 'Cp_nodal', 1, 'node', '%.3f', '') self.result_cases[key] = Cp_array key = (1, icase + 1, 'Cp_centroidal', 1, 'centroid', '%.3f', '') self.result_cases[key] = Cp_array2 else: ID = 1 Cpn_res = GuiResult(ID, 'Cp Nodal', 'Cp', 'node', Cp_array, data_format='%.3f', uname='Cp_nodal') Cpc_res = GuiResult(ID, 'Cp Centroidal', 'Cp', 'centroid', Cp_array2, data_format='%.3f', uname='Cp_centroidal') cases[icase] = (Cpn_res, (0, 'Cp_nodal')) cases[icase + 1] = (Cpc_res, (0, 'Cp_centroidal')) self._finish_results_io2(form, cases)
def load_panair_results(self, panairFileName, dirname): if os.path.basename(panairFileName) == 'agps': model = AGPS(log=self.log, debug=self.debug) model.read_agps(panairFileName) else: raise RuntimeError('only files named "agps" files are supported') # get the Cp on the nodes Cp_array = zeros(self.nNodes, dtype='float32') imin = 0 for ipatch, Cp in sorted(iteritems(model.pressures)): Cpv = ravel(Cp) nCp = len(Cpv) try: Cp_array[imin:imin + nCp] = Cpv except ValueError: # agps stores implicit and explicit wakes # we're skipping all wakes pass imin += nCp if self.is_centroidal: Cp_array2 = (Cp_array[self.elements[:, 0]] + Cp_array[self.elements[:, 1]] + Cp_array[self.elements[:, 2]] + Cp_array[self.elements[:, 3]]) / 4. key = (1, 'Cp', 1, 'centroid', '%.3f') self.resultCases[key] = Cp_array2 elif self.is_nodal: key = (1, 'Cp', 1, 'node', '%.3f') self.resultCases[key] = Cp_array #self.resultCases = cases self.caseKeys = sorted(self.resultCases.keys()) self.iCase = -1 self.nCases = len(self.resultCases) - 1 # number of keys in dictionary #self.nCases = 1 self.cycleResults() # start at nCase=0
def load_panair_results(self, panair_filename): model_name = 'main' #colormap = self.colormap colormap = 'jet' cases = self.gui.result_cases model = AGPS(log=self.gui.log, debug=self.gui.debug) model.read_agps(panair_filename) icase = len(self.gui.result_cases) results_form = [] # get the Cp on the nodes cp0 = model.pressures[0] ncp = cp0.shape[0] nnodes = self.gui.nnodes nelements = self.gui.nelements geom_model = self.gui.geom_model mach = geom_model.mach #ncases = geom_model.ncases ID = 1 is_beta0 = min(geom_model.betas) == max(geom_model.betas) and geom_model.betas[0] == 0. for icp in range(ncp): alpha = geom_model.alphas[icp] beta = geom_model.betas[icp] case_name = 'alpha=%s' % alpha if not is_beta0: case_name += ' beta=%s' % beta imin = 0 Cp_array = zeros(nnodes, dtype='float32') for unused_ipatch, Cp in sorted(model.pressures.items()): Cpv = Cp[icp].ravel() nCp = len(Cpv) try: Cp_array[imin:imin + nCp] = Cpv except ValueError: # agps stores implicit and explicit wakes # we're skipping all wakes pass imin += nCp #Cp_array2 = (Cp_array[self.elements[:, 0]] + #Cp_array[self.elements[:, 1]] + #Cp_array[self.elements[:, 2]] + #Cp_array[self.elements[:, 3]]) / 4. results_form += [ ('Cp Nodal - %s' % case_name, icase, []), #('Cp Centroidal', icase + 1, [],), ] Cpn_res = GuiResult(ID, 'Cp Nodal - %s' % case_name, 'Cp', 'node', Cp_array, data_format='%.3f', colormap=colormap, uname='Cp_nodal') #Cpc_res = GuiResult(ID, 'Cp Centroidal', 'Cp', 'centroid', Cp_array2, #data_format='%.3f', uname='Cp_centroidal') cases[icase] = (Cpn_res, (0, 'Cp_nodal')) icase += 1 form = self.gui.get_form() assert len(results_form) > 0, results_form form.append(('Results: Mach=%s' % mach, None, results_form)) dirname = os.path.dirname(panair_filename) panair_out_filename = os.path.join(dirname, 'panair.out') ft13_filename = os.path.join(dirname, 'ft13') if os.path.exists(panair_out_filename): out = read_panair_out(panair_out_filename, log=self.gui.log) unused_alphas = geom_model.alphas unused_betas = geom_model.betas icase, out_form = add_networks(out.networks, out.headers, is_beta0, ID, icase, cases, geom_model, nelements, self.gui.log, colormap=colormap) assert len(out_form) > 0, out_form form.append(('Out: Mach=%s' % mach, None, out_form)) if os.path.exists(ft13_filename): out.read_ft13(ft13_filename) icase, ft13_form = add_networks(out.networks_ft13, out.headers_ft13, is_beta0, ID, icase, cases, geom_model, nelements, self.gui.log, colormap=colormap) assert len(ft13_form) > 0, ft13_form form.append(('Ft13: Mach=%s' % mach, None, ft13_form)) #cases[icase + 1] = (Cpc_res, (0, 'Cp_centroidal')) self.gui._finish_results_io2(model_name, form, cases)