def __init__(self, make_geom: bool = True, debug: bool = False, log: Any = None, debug_file: Optional[str] = None, mode: str = 'msc'): """ Initializes the OP2 object Parameters ---------- make_geom : bool; default=False reads the BDF tables debug : bool; default=False enables the debug log and sets the debug in the logger log: log() a logging object to write debug messages to (.. seealso:: import logging) debug_file : default=None -> no debug sets the filename that will be written to mode : str; default='msc' {msc, nx} """ BDF.__init__(self, debug=debug, log=log) OP2GeomCommon.__init__(self, make_geom=make_geom, debug=debug, log=log, debug_file=debug_file, mode=mode)
def __init__(self, language='english'): self.language = 'english' BDF.__init__(self) self.max_nid_len = None self.max_eid_len = None self.max_pid_len = None self.max_mid_len = None
def __init__(self, make_geom=True, debug=False, log=None, debug_file=None): """ Initializes the OP2 object :param make_geom: reads the BDF tables (default=False) :param debug: enables the debug log and sets the debug in the logger (default=False) :param log: a logging object to write debug messages to (.. seealso:: import logging) :param debug_file: sets the filename that will be written to (default=None -> no debug) """ assert make_geom == True, make_geom BDF.__init__(self, debug=debug, log=log) GEOM1.__init__(self) GEOM2.__init__(self) GEOM3.__init__(self) GEOM4.__init__(self) EPT.__init__(self) MPT.__init__(self) DIT.__init__(self) DYNAMICS.__init__(self) OP2.__init__(self, debug, log=log, debug_file=debug_file) self.make_geom = make_geom
def __init__(self, make_geom=True, debug=False, log=None, debug_file=None, mode='msc'): """ Initializes the OP2 object Parameters ---------- make_geom : bool; default=False reads the BDF tables debug : bool; default=False enables the debug log and sets the debug in the logger log: log() a logging object to write debug messages to (.. seealso:: import logging) debug_file : default=None -> no debug sets the filename that will be written to mode : str; default='msc' {msc, nx} """ # make_geom=False, debug=True, log=None, debug_file=None BDF.__init__(self, debug=debug, log=log) GEOM1.__init__(self) GEOM2.__init__(self) GEOM3.__init__(self) GEOM4.__init__(self) EPT.__init__(self) MPT.__init__(self) DIT.__init__(self) DYNAMICS.__init__(self) OP2.__init__(self, debug, log=log, debug_file=debug_file, mode=mode) self.make_geom = True
def __init__(self, language='english'): self.language = language assert self.language in ['english'] BDF.__init__(self) self.max_nid_len = 0 self.max_eid_len = 0 self.max_pid_len = 0 self.max_mid_len = 0
def __init__(self, language='english', debug: Optional[bool] = True, log: Any = None, mode: str = 'msc'): self.language = language assert self.language in ['english'] BDF.__init__(self, debug=debug, log=log, mode=mode) self.max_nid_len = 0 self.max_eid_len = 0 self.max_pid_len = 0 self.max_mid_len = 0
def __init__(self, log, card_fingerprint_set): """ Initializes the BDFUniqueCard 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 card_fingerprint_set : set([str, str, ...]) a set to store data """ self.card_set = card_fingerprint_set #self.new_bdf = new_bdf BDF.__init__(self, log=log)
def __init__(self, language='english'): self.language = 'english' BDF.__init__(self)
def __init__(self, log, fingset): self.card_set = fingset self.f = open('cards.out.bdf', 'wb') #self.newBDF = newBDF BDF.__init__(self, log=log)
def __init__(self): BDF.__init__(self) self._type_map = { 'GRID': self.nodes, #'RINGAX': self.nodes, 'MAT1': self.materials, 'MAT2': self.materials, 'MAT3': self.materials, 'MAT4': self.materials, 'MAT5': self.materials, 'MAT8': self.materials, 'MAT10': self.materials, # shell 'CTRIAX': self.elements, 'CTRIA3': self.elements, 'CTRIA6': self.elements, 'CQUAD': self.elements, 'CQUAD4': self.elements, 'CQUAD8': self.elements, 'CQUADX': self.elements, 'PCOMP': self.properties, 'PCOMPG': self.properties, 'PSHELL': self.properties, # shear, 'CSHEAR': self.elements, 'PSHEAR': self.properties, # plane #'PLPLANE' : self.elements, # solid 'CTETRA' : self.elements, 'CPENTA' : self.elements, 'CHEXA' : self.elements, 'PSOLID' : self.properties, 'PLSOLID': self.properties, # rod 'CONROD': self.elements, 'CROD' : self.elements, 'PROD' : self.properties, # tube 'CTUBE' : self.elements, 'PTUBE' : self.properties, # beam 'CBEAM' : self.elements, 'PBEAM' : self.properties, 'PBEAML' : self.properties, # bar 'CBAR' : self.elements, 'PBAR' : self.properties, 'PBARL' : self.properties, # bend 'CBEND': self.elements, 'PBEND': self.properties, # bush 'CBUSH' : self.elements, 'CBUSH1D': self.elements, 'CBUSH2D': self.elements, 'PBUSH' : self.properties, 'PBUSH1D': self.properties, #'PBUSH2D': self.properties, #'PBUSHT' : self.properties, # spring 'CELAS1': self.elements, 'CELAS2': self.elements, 'CELAS3': self.elements, 'CELAS4': self.elements, 'PELAS' : self.properties, # dampers 'CFAST': self.elements, 'PFAST': self.properties, # dampers 'CDAMP1': self.elements, 'CDAMP2': self.elements, 'CDAMP3': self.elements, 'CDAMP4': self.elements, 'CDAMP5': self.elements, 'PDAMP' : self.properties, 'PDAMPT': self.properties, 'PDAMP5': self.properties, 'PVISC' : self.properties, #'CRAC2D' : self.elements, #'CRAC3D' : self.elements, #'PRAC2D' : self.properties, #'PRAC3D' : self.properties, # mass #'CONM1': self.elements, 'CONM2' : self.elements, 'CMASS1': self.elements, 'CMASS2': self.elements, 'CMASS3': self.elements, 'CMASS4': self.elements, 'PMASS' : self.properties, #'NSM' : self.elements, # ??? # rigid elements 'RBAR' : self.rigidElements, 'RBAR1' : self.rigidElements, 'RBE1' : self.rigidElements, 'RBE2' : self.rigidElements, 'RBE3' : self.rigidElements, # methods 'EIGB' : self.methods, 'EIGC' : self.methods, 'EIGP' : self.methods, 'EIGR' : self.methods, 'EIGRL': self.methods, # frequencies #'FREQ' : self.freqs, #'FREQ1' : self.freqs, #'FREQ2' : self.freqs, # param 'PARAM' : self.params, # ========= remove these ============= # loads 'FORCE' : self.loads, 'FORCE1' : self.loads, 'FORCE2' : self.loads, 'MOMENT' : self.loads, 'MOMENT1' : self.loads, 'MOMENT2' : self.loads, 'RFORCE' : self.loads, 'LOAD' : self.loads, 'DLOAD' : self.loads, 'SLOAD' : self.loads, 'TLOAD1' : self.loads, 'TLOAD2' : self.loads, 'RLOAD1' : self.loads, 'RLOAD2' : self.loads, 'DAREA' : self.loads, 'GRAV' : self.loads, #'ACCEL' : self.loads, 'ACCEL1' : self.loads, # constraints 'SPC1' : self.spcObject, 'SPC' : self.spcObject, 'SPCADD' : self.spcObject, 'SPCAX' : self.spcObject, 'MPC' : self.mpcObject, 'MPCADD' : self.mpcObject, } for key in self._type_map: assert key in self.cards_to_read, 'key=%r is not a valid card' % key
def __init__(self, log=None, debug=False): BDF.__init__(self, debug=debug, log=log)
def __init__(self, log=None, debug=False): BDF.__init__(self, debug=debug, log=log) self.hyper = {} self.flow = {} self.cards_to_read.add('HYPER') self.cards_to_read.add('FLOW')
def __init__(self, op2FileName, make_geom=False, debug=True, log=None): """ Initializes the OP2 object :param op2FileName: the file to be parsed :param make_geom: reads the BDF tables (default=False) :param debug: prints data about how the OP2 was parsed (default=False) :param log: a logging object to write debug messages to (.. seealso:: import logging) """ BDF.__init__(self, debug=debug, log=log) self.set_subcases() # initializes the variables self.log.debug('op2FileName = %s' % (op2FileName)) bdfExtension = '.bdf' f06Extension = '.f06' (fname, extension) = os.path.splitext(op2FileName) self.table_name = 'temp' #: should the BDF tables be parsed self.make_geom = make_geom #: the input OP2 filename self.op2FileName = op2FileName #: the expected BDF filename (guessed) self.bdfFileName = fname + bdfExtension #: the expected F06 filename (guessed) self.f06FileName = fname + f06Extension #print "bdfFileName = ",self.bdfFileName #: developer parameter to write the OP2 is ASCII format #: to better understand it self.make_op2_debug = False #: BDF Title self.Title = '' #: limit output DTs self.expected_times = {} #self.expected_times = {1:array([0.1,0.12])} #: file object containing the skipped cards self.skippedCardsFile = open('skippedCards.out', 'a') #: the list of supported tables (dont edit this) self.tablesToRead = [ # nodes/geometry/loads/BCs 'GEOM1', 'GEOM2', 'GEOM3', 'GEOM4', # regular 'GEOM1S', 'GEOM2S', 'GEOM3S', 'GEOM4S', # superelements 'GEOM1OLD', 'GEOM1N', # ??? 'EPT', 'MPT', # properties/materials 'EPTS', 'MPTS', # properties/materials - superelements 'EDTS', # ??? 'DYNAMIC', 'DYNAMICS', 'DIT', # tables (e.g. TABLED1) 'LAMA', 'BLAMA', # eigenvalues 'BGPDT', 'BGPDTS', # boundary grids??? 'EQEXIN', 'EQEXINS', 'PVT0', 'CASECC', 'EDOM', 'CASEXX', 'DESTAB', # design variables 'OQG1', 'OQGV1', # spc forces 'OQMG1', # mpc forces 'OUGV1', 'OUG1', # displacements 'OGPFB1', # grid point forces 'OGS1', # grid point stresses 'OEF1X', 'DOEF1', 'OEFIT', # element forces 'OPG1', 'OPGV1', 'OPNL1', # applied forces 'OES1', 'OES1X', 'OES1X1', 'OES1C', # stress 'OSTR1C', 'OSTR1X', # strains 'OESNLXR', 'OESNLXD', 'OESNL1X', 'OESNLBR', # nonlinear stress 'OESCP', # cylinder stress??? 'OESTRCP', # cylinder strain??? 'OESRT', # rotational stress? 'ONRGY1', # energy 'ONRGY2', # energy (sort2, unsupported) 'R1TABRG', 'HISADD', # SOL 200 # unsupported frequency results 'OAGPSD2', 'OAGATO2', 'OAGRMS2', 'OAGNO2', 'OAGCRM2', 'OEFPSD2', 'OEFATO2', 'OEFRMS2', 'OEFNO2', 'OEFCRM2', 'OESPSD2', 'OESATO2', 'OESRMS2', 'OESNO2', 'OESCRM2', 'OPGPSD2', 'OPGATO2', 'OPGRMS2', 'OPGNO2', 'OPGCRM2', 'OQGPSD2', 'OQGATO2', 'OQGRMS2', 'OQGNO2', 'OQGCRM2', # supported-ish 'OQMPSD2', 'OQMATO2', 'OQMRMS2', 'OQMNO2', 'OQMCRM2', 'OSTRPSD2', 'OSTRATO2', 'OSTRRMS2', 'OSTRNO2', 'OSTRCRM2', 'OUGPSD2', 'OUGATO2', 'OUGCRM2', 'OUGNO2', 'OUGRMS2', 'OVGPSD2', 'OVGATO2', 'OVGRMS2', 'OVGNO2', 'OVGCRM2', # TODO what do these do??? 'OUPV1', 'VIEWTB', 'ERRORN', 'OFMPF2M', 'OSMPF2M', 'OPMPF2M', 'OGPMPF2M', 'OLMPF2M', 'PCOMPTS', 'OMM2', 'EDOM', 'STDISP', 'SDF', 'MONITOR', 'AEMONPT', 'OGPWG', # grid point weight 'OQP1', 'OCRUG', 'OCRPG', # new 'AFRF', 'AGRF', 'PMRF', 'PERF', 'PFRF', 'FOL', 'DBCOPT', 'CONTACT', ] #: a dictionary that maps an integer of the subcaseName to the #: subcaseID self.iSubcaseNameMap = {} #: list of OP2 tables that were read #: mainly for debugging self.tablenames = [] self.__objects_init__()
def __init__(self, log, fingset): self.card_set = fingset self.f = open('cards.out.bdf', 'w') #self.newBDF = newBDF BDF.__init__(self, log=log)
def __init__(self, op2FileName, make_geom=False, debug=True, log=None): """ Initializes the OP2 object :param op2FileName: the file to be parsed :param make_geom: reads the BDF tables (default=False) :param debug: prints data about how the OP2 was parsed (default=False) :param log: a logging object to write debug messages to (.. seealso:: import logging) """ BDF.__init__(self, debug=debug, log=log) self.set_subcases() # initializes the variables self.log.debug('op2FileName = %s' % (op2FileName)) bdfExtension = '.bdf' f06Extension = '.f06' (fname, extension) = os.path.splitext(op2FileName) self.table_name = 'temp' #: should the BDF tables be parsed self.make_geom = make_geom #: the input OP2 filename self.op2FileName = op2FileName #: the expected BDF filename (guessed) self.bdfFileName = fname + bdfExtension #: the expected F06 filename (guessed) self.f06FileName = fname + f06Extension #print "bdfFileName = ",self.bdfFileName #: developer parameter to write the OP2 is ASCII format #: to better understand it self.make_op2_debug = False #: BDF Title self.Title = '' #: limit output DTs self.expected_times = {} #self.expected_times = {1:array([0.1,0.12])} #: file object containing the skipped cards self.skippedCardsFile = open('skippedCards.out', 'a') #: the list of supported tables (dont edit this) self.tablesToRead = [ # nodes/geometry/loads/BCs 'GEOM1', 'GEOM2', 'GEOM3', 'GEOM4', # regular 'GEOM1S', 'GEOM2S', 'GEOM3S', 'GEOM4S', # superelements 'GEOM1OLD', 'GEOM1N', # ??? 'EPT', 'MPT', # properties/materials 'EPTS', 'MPTS', # properties/materials - superelements 'EDTS', # ??? 'DYNAMIC', 'DYNAMICS', 'DIT', # tables (e.g. TABLED1) 'LAMA', 'BLAMA', # eigenvalues 'BGPDT', 'BGPDTS', # boundary grids??? 'EQEXIN', 'EQEXINS', 'PVT0', 'CASECC', 'EDOM', 'CASEXX', 'DESTAB', # design variables 'OQG1', 'OQGV1', # spc forces 'OQMG1', # mpc forces 'OUGV1', 'OUG1', # displacements 'OGPFB1', # grid point forces 'OGS1', # grid point stresses 'OEF1X', 'DOEF1', 'OEFIT', # element forces 'OPG1', 'OPGV1', 'OPNL1', # applied forces 'OES1', 'OES1X', 'OES1X1', 'OES1C', # stress 'OSTR1C', 'OSTR1X', # strains 'OESNLXR', 'OESNLXD', 'OESNL1X', 'OESNLBR', # nonlinear stress 'OESCP', # cylinder stress??? 'OESTRCP', # cylinder strain??? 'OESRT', # rotational stress? 'ONRGY1', # energy 'ONRGY2', # energy (sort2, unsupported) 'R1TABRG', 'HISADD', # SOL 200 # unsupported frequency results 'OAGPSD2', 'OAGATO2', 'OAGRMS2', 'OAGNO2', 'OAGCRM2', 'OEFPSD2', 'OEFATO2', 'OEFRMS2', 'OEFNO2', 'OEFCRM2', 'OESPSD2', 'OESATO2', 'OESRMS2', 'OESNO2', 'OESCRM2', 'OPGPSD2', 'OPGATO2', 'OPGRMS2', 'OPGNO2', 'OPGCRM2', 'OQGPSD2', 'OQGATO2', 'OQGRMS2', 'OQGNO2', 'OQGCRM2', # supported-ish 'OQMPSD2', 'OQMATO2', 'OQMRMS2', 'OQMNO2', 'OQMCRM2', 'OSTRPSD2', 'OSTRATO2', 'OSTRRMS2', 'OSTRNO2', 'OSTRCRM2', 'OUGPSD2', 'OUGATO2', 'OUGCRM2', 'OUGNO2', 'OUGRMS2', 'OVGPSD2', 'OVGATO2', 'OVGRMS2', 'OVGNO2', 'OVGCRM2', # TODO what do these do??? 'OUPV1', 'VIEWTB', 'ERRORN', 'OFMPF2M', 'OSMPF2M', 'OPMPF2M', 'OGPMPF2M', 'OLMPF2M', 'PCOMPTS', 'OMM2', 'EDOM', 'STDISP', 'SDF', 'MONITOR', 'AEMONPT', 'OGPWG', # grid point weight 'OQP1', 'OCRUG', 'OCRPG', # new 'AFRF', 'AGRF', 'PMRF', 'PERF', 'PFRF', 'FOL', 'DBCOPT','CONTACT', ] #: a dictionary that maps an integer of the subcaseName to the #: subcaseID self.iSubcaseNameMap = {} #: list of OP2 tables that were read #: mainly for debugging self.tablenames = [] self.__objects_init__()
def __init__(self, language='english', encoding='ascii'): self.language = 'english' BDF.__init__(self)
def __init__(self): BDF.__init__(self) self._type_map = { 'GRID': self.nodes, #'RINGAX': self.nodes, 'MAT1': self.materials, 'MAT2': self.materials, 'MAT3': self.materials, 'MAT4': self.materials, 'MAT5': self.materials, 'MAT8': self.materials, 'MAT10': self.materials, # shell 'CTRIAX': self.elements, 'CTRIA3': self.elements, 'CTRIA6': self.elements, 'CQUAD': self.elements, 'CQUAD4': self.elements, 'CQUAD8': self.elements, 'CQUADX': self.elements, 'PCOMP': self.properties, 'PCOMPG': self.properties, 'PSHELL': self.properties, # shear, 'CSHEAR': self.elements, 'PSHEAR': self.properties, # plane #'PLPLANE' : self.elements, # solid 'CTETRA': self.elements, 'CPENTA': self.elements, 'CHEXA': self.elements, 'PSOLID': self.properties, 'PLSOLID': self.properties, # rod 'CONROD': self.elements, 'CROD': self.elements, 'PROD': self.properties, # tube 'CTUBE': self.elements, 'PTUBE': self.properties, # beam 'CBEAM': self.elements, 'PBEAM': self.properties, 'PBEAML': self.properties, # bar 'CBAR': self.elements, 'PBAR': self.properties, 'PBARL': self.properties, # bend 'CBEND': self.elements, 'PBEND': self.properties, # bush 'CBUSH': self.elements, 'CBUSH1D': self.elements, 'CBUSH2D': self.elements, 'PBUSH': self.properties, 'PBUSH1D': self.properties, #'PBUSH2D': self.properties, #'PBUSHT' : self.properties, # spring 'CELAS1': self.elements, 'CELAS2': self.elements, 'CELAS3': self.elements, 'CELAS4': self.elements, 'PELAS': self.properties, # dampers 'CFAST': self.elements, 'PFAST': self.properties, # dampers 'CDAMP1': self.elements, 'CDAMP2': self.elements, 'CDAMP3': self.elements, 'CDAMP4': self.elements, 'CDAMP5': self.elements, 'PDAMP': self.properties, 'PDAMPT': self.properties, 'PDAMP5': self.properties, 'PVISC': self.properties, #'CRAC2D' : self.elements, #'CRAC3D' : self.elements, #'PRAC2D' : self.properties, #'PRAC3D' : self.properties, # mass #'CONM1': self.elements, 'CONM2': self.elements, 'CMASS1': self.elements, 'CMASS2': self.elements, 'CMASS3': self.elements, 'CMASS4': self.elements, 'PMASS': self.properties, #'NSM' : self.elements, # ??? # rigid elements 'RBAR': self.rigidElements, 'RBAR1': self.rigidElements, 'RBE1': self.rigidElements, 'RBE2': self.rigidElements, 'RBE3': self.rigidElements, # methods 'EIGB': self.methods, 'EIGC': self.methods, 'EIGP': self.methods, 'EIGR': self.methods, 'EIGRL': self.methods, # frequencies #'FREQ' : self.freqs, #'FREQ1' : self.freqs, #'FREQ2' : self.freqs, # param 'PARAM': self.params, # ========= remove these ============= # loads 'FORCE': self.loads, 'FORCE1': self.loads, 'FORCE2': self.loads, 'MOMENT': self.loads, 'MOMENT1': self.loads, 'MOMENT2': self.loads, 'RFORCE': self.loads, 'LOAD': self.loads, 'DLOAD': self.loads, 'SLOAD': self.loads, 'TLOAD1': self.loads, 'TLOAD2': self.loads, 'RLOAD1': self.loads, 'RLOAD2': self.loads, 'DAREA': self.loads, 'GRAV': self.loads, #'ACCEL' : self.loads, 'ACCEL1': self.loads, # constraints 'SPC1': self.spcObject, 'SPC': self.spcObject, 'SPCADD': self.spcObject, 'SPCAX': self.spcObject, 'MPC': self.mpcObject, 'MPCADD': self.mpcObject, } for key in self._type_map: assert key in self.cardsToRead, 'key=%r is not a valid card' % key
def __init__(self): BDF.__init__(self)
def __init__(self, bdf_out_filename, debug=True, log=None): BDF.__init__(self, debug=debug, log=log) self._auto_reject = True self.bdf_out_filename = bdf_out_filename
def __init__(self, bdf_out_filename, debug=True, log=None): BDF.__init__(self, debug=debug, log=log) self.bdf_out_filename = bdf_out_filename
def __init__(self, language='english'): self.language = language assert self.language in ['english'] BDF.__init__(self)