def __init__(self, log=None, debug=None, batch=False): self.log = get_logger2(log, debug) self.debug = debug self.n = 0 #self.p_inf = self.rho_inf = 0.002377 self.v_inf = 100. self.q_inf = 0.5 * self.rho_inf * self.v_inf ** 2 self.batch = batch self.cg = None self.machs = None self.alphas = None self.betas = None self.nodes = None self.Cp = None self.tris = None self.surf_id = None self.edges = None self.edge_surf_id = None self.area = None self.wake_xyz = None self.wake_elements = None
def __init__(self, log=None, debug=False): # defines binary file specific features FortranFormat.__init__(self) self.endian = b'<' self.tecplot_filename = '' self.log = get_logger2(log, debug=debug) self.debug = debug # mesh = None : model hasn't been read self.is_mesh = None # mesh = True : this is a structured/unstructured grid self.xyz = array([], dtype='float32') self.tet_elements = array([], dtype='int32') self.hexa_elements = array([], dtype='int32') self.quad_elements = array([], dtype='int32') self.tri_elements = array([], dtype='int32') self.results = array([], dtype='float32') self.variables = [] # mesh = False : this is a plot file self.use_cols = None self.dtype = None self.A = None
def __init__(self, log=None, debug=None): self.nodes = None self.tris = None self.tets = None self.bcs = None self.precision = 'double' self.log = get_logger2(log, debug=debug)
def __init__(self, log=None, debug=None): """ Initializes the Usm3d 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 """ self.nodes = None self.tris = None self.tets = None self.bcs = None self.header = None self.loads = None self.mapbc = None self.precision = 'double' self.log = get_logger2(log, debug=debug)
def __init__(self, log=None, debug=False): self.log = get_logger2(log, debug=debug) self.nodes = None self.elements = None self.header = '' self.infilename = None
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 __init__(self, log=None, debug=False): """ Initializes the AFLR2 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 """ self.log = get_logger2(log=log, debug=debug) self.debug = debug self.nodes = None self.bars = None self.curves = None self.subcurves = None self.grid_bc = None self.grid_bcs = None self.turn_angle = None
def main(): # pragma: no cover """runs the spline mapping problem""" from pyNastran.utils.log import get_logger2 log = get_logger2(None, debug=True) basepath = os.getcwd() configpath = os.path.join(basepath, 'inputs') workpath = os.path.join(basepath, 'outputsFinal') bdf_filename = os.path.join(configpath, 'fem3.bdf') #f06_filename = os.path.join(configpath, 'fem3.f06') op2_filename = os.path.join(workpath, 'fem3.op2') cart3d = os.path.join(configpath, 'Cart3d_bwb.i.tri') node_list = [ 20037, 21140, 21787, 21028, 1151, 1886, 2018, 1477, 1023, 1116, 1201, 1116, 1201, 1828, 2589, 1373, 1315, 1571, 1507, 1532, 1317, 1327, 2011, 1445, 2352, 1564, 1878, 1402, 1196, 1234, 1252, 1679, 1926, 1274, 2060, 2365, 21486, 20018, 20890, 20035, 1393, 2350, 1487, 1530, 1698, 1782, ] #node_list = [1001, 1002, 1003, 1004, 1005, 1006] # these are the hard points #node_list = mesh.getNodeIDs() # [0:200] cart3d2 = cart3d + '_deflected' wA, wS = run_map_deflections(node_list, bdf_filename, op2_filename, cart3d, cart3d2, log=log) print("wAero = %s" % wA) wSmax = max(wS) print("wSmax = %s" % wSmax[0, 0])
def __init__(self, log=None, debug=False): self.x = {} self.y = {} self.z = {} self.block_shapes = {} self.log = get_logger2(log=log, debug=debug)
def __init__(self, log=None, debug=True): self.infilename = None self.title_lines = [] self.xz_symmetry = 0 self.xy_symmetry = 0 self.nsymmetry_planes = 0 self.title = '' self.nnetworks = 0 self.patches = {} self.lines = [] self.alphas = [0.] self.ncases = None self.betas = [0.] self.alpha_compressibility = 0. self.beta_compressibility = 0. self.sref = 1. self.bref = 1. self.cref = 1. self.dref = 1. self.xref = 0. self.yref = 0. self.zref = 0. self.isings = 0.0 self.isingp = 0.0 self.igeomp = 0.0 self.icontp = 0.0 self.ibconp = 0.0 self.iedgep = 0.0 self.ipraic = 0.0 self.nexdgn = 0.0 self.ioutpr = 0.0 self.ifmcpr = 0.0 self.icostp = 0.0 self.epsgeo = 0.0 self.igeoin = -1.0 self.igeout = 0. self.nwxref = 0. self.triint = 0.0 self.iabsum = -0.0 self.is_end = None self.pea_section = '' self.mach = 0.0 self.data_check = 2 self.title_section = '' self.xyz_section = '' self.streamline_section = '' self.flow_section = '' self.sectional_prop_section = '' self.grid_section = '' self.symmetry_section = '' self.msg = '' self.log = get_logger2(log, debug=debug)
def __init__(self, log=None, debug=None, batch=False): self.log = get_logger2(log, debug) self.debug = debug self.n = 0 #self.p_inf = self.rho_inf = 0.002377 self.v_inf = 100. self.q_inf = 0.5 * self.rho_inf * self.v_inf ** 2 self.batch = batch
def __init__(self, log=None, debug=False): self.log = get_logger2(log=log, debug=debug, encoding='utf-8') self.headers = ['x', 'y', 'z', 'wx', 'wy', 'wz', 'cp2ndu', 'cpisnu', 'lmachu', 'source', 'doublet'] self.headers_ft13 = ['x', 'y', 'z', 'd0', 'dx', 'dy', 'dz', 's0', 'anx', 'any', 'anz', 'lmachu', 'wxu', 'wyu', 'wzu', 'pheu', 'vxu', 'vyu', 'vzu', 'cplinu', 'cpslnu', 'cp2ndu', 'cpisnu', 'lmachl', 'wxl', 'wyl', 'wzl', 'phel', 'vxl', 'vyl', 'vzl', 'cplinl', 'cpslnl', 'cp2ndl', 'cpisnl', 'wnu', 'wnl', 'pwnu', 'pwnl', 'vtu', 'vtl', 'pvtu', 'pvtl', 'cplind', 'cpslnd', 'cp2ndd', 'cpisnd'] self.networks = {} self.networks_ft13 = {}
def __init__(self, log=None, debug=None, batch=False): self.log = get_logger2(log, debug) self.debug = debug self.n = 0 #self.p_inf = self.rho_inf = 0.002377 self.v_inf = 100. self.q_inf = 0.5 * self.rho_inf * self.v_inf ** 2 self.batch = batch
def test_plot_flutter2(self): f06_filename = os.path.join(pkg_path, '..', 'models', 'aero', '2_mode_flutter', '0012_flutter.f06') log = get_logger2(log=None, debug=False, encoding='utf-8') plot_flutter_f06(f06_filename, plot_vg=True, plot_vg_vf=True, plot_root_locus=True, plot_kfreq_damping=True, show=False, log=None)
def __init__(self, log=None, debug=False): self.log = get_logger2(log=log, debug=debug) self.debug = debug self.nodes = None self.bars = None self.curves = None self.subcurves = None self.grid_bc = None self.grid_bcs = None self.turn_angle = None
def __init__(self, log=None, debug=False): self.log = get_logger2(log=log, debug=debug) self.debug = debug self.nodes = None self.bars = None self.curves = None self.subcurves = None self.grid_bc = None self.grid_bcs = None self.turn_angle = None
def __init__(self, log=None, debug=True): self.debug = debug self.parts = {} self.boundaries = {} self.materials = {} self.amplitudes = {} self.assembly = {} self.initial_conditions = {} self.steps = {} self.heading = None self.preprint = None self.log = get_logger2(log, debug)
def __init__(self, log=None, debug=True): self.debug = debug self.parts = {} self.boundaries = {} self.materials = {} self.amplitudes = {} self.assembly = {} self.initial_conditions = {} self.steps = {} self.heading = None self.preprint = None self.log = get_logger2(log, debug)
def test_log_messages(self): log1 = get_logger2(debug=True) log1.info('info') log1.warning('warning') log1.error('error') log1.debug('debug') log1.exception('exception') log1.critical('critical') log1.info('%r' % log1) log2 = get_logger2(debug=False) log2.info('info') log2.warning('warning') log2.error('error') log2.debug('debug') log3 = get_logger2(debug=None) log3.info('info') log3.warning('warning') log3.error('error') log3.debug('debug') with self.assertRaises(NameError): log.bad('bad')
def main(): dirnames = ['ascii', 'binary'] log = get_logger2(debug=False) for dirname in dirnames: fnames = [os.path.join(dirname, fname) for fname in os.listdir(dirname) if not fname.endswith('.png')] for fname in fnames: try: read_tecplot(fname, log=log) log.info('read %r' % fname) except Exception as e: log.warning('failed reading %r' % fname) log.error(e) print('')
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)
def __init__(self, log=None, debug=False): self.log = get_logger2(log, debug=debug) self._endian = b'' self._encoding = 'latin1' self.n = 0 self.infile = None # self.readHalf = False # self.nPoints = None # self.nelements = None self.infilename = None self.points = None self.elements = None self.regions = None self.loads = {}
def __init__(self, log=None, debug=False): self.log = get_logger2(log=log, debug=debug) self.infilename = None self.zones = None self.npoints = None self.nfaces = None self.ndm = None self.npatches = [] self.nodes = empty(shape=0) self.tri_elements = empty(shape=0) self.quad_elements = empty(shape=0) self.tet_elements = empty(shape=0) self.hexa_elements = empty(shape=0)
def test_plot_flutter2(self): """tests plot_flutter_f06""" f06_filename = os.path.join(PKG_PATH, '..', 'models', 'aero', '2_mode_flutter', '0012_flutter.f06') log = get_logger2(log=None, debug=None, encoding='utf-8') plot_flutter_f06(f06_filename, plot_vg=True, plot_vg_vf=True, plot_root_locus=True, plot_kfreq_damping=True, export_zona=True, export_veas=True, export_f06=True, show=False, log=log)
def __init__(self, log=None, debug=False): debug = False #log = None self.log = get_logger2(log, debug=debug) # arrays self.nodes = None self.hexas = None self.npoints = None self.grading = None self.iname_to_quads = None self.inames = None self.bcs = None self.iname_to_name = None self.iname_to_type = None
def __init__(self, log=None, debug=False): self.name = 'model_name' self.log = get_logger2(log=log, debug=debug, encoding='utf-8') self.avl_filename = '' self.mach = 0. self.sref = 0. self.cref = 0. self.bcref = 0. self.xref = 0. self.yref = 0. self.zref = 0. self.cd0 = 0. self.sections = []
def __init__(self, read_includes, dumplines, encoding, log=None, debug=False): self.dumplines = dumplines self.encoding = encoding self.include_dir = '' self.reject_lines = [] self.read_includes = read_includes self.active_filenames = [] self.active_filename = None self.debug = debug self.log = get_logger2(log, debug)
def __init__(self, log=None, debug=False): """ Initializes the LaWGS 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 """ self.log = get_logger2(log=log, debug=debug) self.panels = {}
def __init__(self, read_includes, dumplines, encoding, nastran_format='msc', consider_superelements=True, log=None, debug=False): """ Parameters ---------- read_includes : bool should include files be read dumplines : bool Writes 'pyNastran_dump.bdf' up to some failed line index encoding : str the character encoding (e.g., utf8, latin1, cp1252) nastran_format : str; default='msc' 'zona' has a special read method {msc, nx, zona} consider_superelements : bool; default=True parse 'begin super=2' log : logger(); default=None a logger for printing INCLUDE files that are loadaed debug : bool; default=False used when testing; for the logger """ self.dumplines = dumplines self.encoding = encoding self.nastran_format = nastran_format self.include_dir = '' self.include_lines = defaultdict(list) self.read_includes = read_includes self.active_filenames = [] self.active_filename = None self.consider_superelements = consider_superelements self.debug = debug self.log = get_logger2(log, debug)
def __init__(self, log=None, debug=False): """ Initializes the STL 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 """ self.log = get_logger2(log, debug=debug) self.nodes = None self.elements = None self.header = '' self.infilename = None
def __init__(self, fem, pids, debug=False): Model.__init__(self) self.log = get_logger2(None, debug=debug) self.debug = debug if self.debug: print("*StructuralModel.init") self.fem = fem #nodes = fem.getNodes() #elements = fem.getElements() node_ids = fem.node_ids element_ids = fem.element_ids self.nnodes = len(node_ids) self.nelements = len(element_ids) self.pids = pids #self.points = points #self.elements = elements if self.debug: self.log.debug("***StructuralModel.init")
def __init__(self, log=None, debug=False): self.log = get_logger2(log, debug=debug) self.nodes = None self.tris = None self.tets = None
def __init__(self, log=None, debug=True): """ Initializes the PanairGrid 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 """ self.infilename = None self.title_lines = [] self.xz_symmetry = 0 self.xy_symmetry = 0 self.nsymmetry_planes = 0 self.title = '' self.nnetworks = 0 self.patches = {} self.lines = [] self.alphas = [0.] self.ncases = 0 self.betas = [0.] self.alpha_compressibility = 0. self.beta_compressibility = 0. self.sref = 1. self.bref = 1. self.cref = 1. self.dref = 1. self.xref = 0. self.yref = 0. self.zref = 0. self.isings = 0.0 self.isingp = 0.0 self.igeomp = 0.0 self.icontp = 0.0 self.ibconp = 0.0 self.iedgep = 0.0 self.ipraic = 0.0 self.nexdgn = 0.0 self.ioutpr = 0.0 self.ifmcpr = 0.0 self.icostp = 0.0 self.epsgeo = 0.0 self.igeoin = -1.0 self.igeout = 0. self.nwxref = 0. self.triint = 0.0 self.iabsum = -0.0 self.is_end = None self.pea_section = '' self.mach = 0.0 self.data_check = 2 self.noff_body_points = 0 self.nstreamlines = 0 self.title_section = '' self.xyz_section = '' self.streamline_section = '' self.flow_section = '' self.sectional_prop_section = '' self.grid_section = '' self.symmetry_section = '' self.msg = '' self.log = get_logger2(log, debug=debug)
def __init__(self, log=None, debug=None): self.log = get_logger2(log=log, debug=debug) self.nodes = None self.tris = None self.quads = None
def plot_flutter_f06(f06_filename, f06_units=None, out_units=None, modes=None, plot_vg=False, plot_vg_vf=False, plot_root_locus=False, plot_kfreq_damping=False, show=True, xlim=None, ylim_damping=None, ylim_freq=None): """ Plots a flutter (SOL 145) deck Returns ------- flutters : dict key : int subcase_id value : FlutterResponse() Supports: --------- o single subcase o single subcase, no subcase marker o multiple subcases o PK o PKNL o calculation of: - equivalent airspeed - dynamic pressure - altitude Doesn't support: ---------------- o long tables (use LINE=500000) o SOL 200 o fixing mode switching problem o fixing unconverged points """ if f06_units is None: f06_units = {'velocity' : 'in/s', 'density' : 'slinch/in^3'} if out_units is None: out_units = {'velocity' : 'in/s', 'density' : 'slug/ft^3', 'altitude' : 'ft', 'dynamic_pressure' : 'psf'} log = get_logger2(log=None, debug=True, encoding='utf-8') flutters = {} iline = 0 modes_to_plot = modes # 1 is the default subcase number subcase = 1 results = [] modes = [] configuration = None xysym = None xzsym = None mach = None density_ratio = None method = None log.info('f06_filename = %r' % f06_filename) with open(f06_filename, 'r') as f06_file: while 1: nblank = 0 line = f06_file.readline() iline += 1 #log.debug('line%ia = %r' % (iline, line)) while 'SUBCASE ' not in line and 'FLUTTER SUMMARY' not in line: line = f06_file.readline() iline += 1 if not line: nblank += 1 if nblank == 100: print(line.strip()) break if nblank == 100: break #log.debug('line%ib = %r' % (iline, line)) if 'SUBCASE' in line[109:]: sline = line.strip().split() isubcase = sline.index('SUBCASE') new_subcase = int(sline[isubcase + 1]) #print('subcasei = %r' % new_subcase) if new_subcase > subcase: print() log.info('subcase=%s -> new_subcase=%s' % (subcase, new_subcase)) log.info('modes1 = %s' % modes) flutter = FlutterResponse(subcase, configuration, xysym, xzsym, mach, density_ratio, method, modes, results, f06_units=f06_units, out_units=out_units) flutters[subcase] = flutter modes = [] results = [] subcase = new_subcase #break continue #log.debug('line%i_FSa = %r' % (iline, line)) last_line = None while 'FLUTTER SUMMARY' not in line: last_line = line line = f06_file.readline() #log.debug('i=%s %s' % (iline, line.strip().replace(' ', ' '))) iline += 1 if not line: nblank += 1 if nblank == 100: print(line.strip()) log.warning('breaking on nblank=100 a') break if nblank == 100: log.warning('breaking on nblank=100 b') break # pulls the subcase id for the first subcase if last_line is not None: #log.debug('line%i_FSb = %r' % (iline, line)) #log.debug('line%i_FSb = %r' % (iline-1, last_line.replace(' ', ' '))) sline = last_line.strip().split() isubcase = sline.index('SUBCASE') subcase = int(sline[isubcase + 1]) log.info('subcase = %s' % subcase) configuration_sline = f06_file.readline().split() iline += 1 configuration = configuration_sline[2] xysym = configuration_sline[5] xzsym = configuration_sline[8] #print(configuration, xysym, xzsym) point_sline = f06_file.readline().split() iline += 1 mode = int(point_sline[2]) method = point_sline[-1] # 13 for PN, 5 for PK #log.debug(point_sline) if method == 'PK': mach = float(point_sline[6]) density_ratio = float(point_sline[10]) #method = point_sline[13] if mode == 1: print('# iline mode mach density_ratio method') print(iline, mode, mach, density_ratio, method) elif method == 'PKNL': mach = None density_ratio = None if mode == 1: print('# iline mode method') print(iline, mode, method) f06_file.readline() iline += 1 else: raise NotImplementedError(point_sline) if mode in modes: log.warning('found existing mode...') continue modes.append(mode) # blanks f06_file.readline() f06_file.readline() iline += 2 lines = [] # KFREQ 1./KFREQ VELOCITY DAMPING FREQUENCY COMPLEX EIGENVALUE - PK # KFREQ 1./KFREQ DENSITY MACH NO. VELOCITY DAMPING FREQUENCY COMPLEX EIGENVALUE - PKNL if method == 'PK': nvalues = 7 elif method == 'PKNL': nvalues = 9 else: raise NotImplementedError(method) sline = [None] * nvalues while len(sline) == nvalues: sline = f06_file.readline().split() iline += 1 if (sline and 'PAGE' not in sline and 'INFORMATION' not in sline and 'EIGENVALUE' not in sline): #print('sline = %s' % sline) lines.append(sline) results.append(lines) #print('') #print(len(results)) log.info('modes = %s' % modes) flutter = FlutterResponse(subcase, configuration, xysym, xzsym, mach, density_ratio, method, modes, results, f06_units=f06_units, out_units=out_units) flutters[subcase] = flutter make_flutter_plots(modes_to_plot, flutters, xlim, ylim_damping, ylim_freq, plot_vg, plot_vg_vf, plot_root_locus, plot_kfreq_damping, show=show) return flutters