Source code for pyNastran.f06.tables.oqg

#pylint: disable=C0301,C0111
from pyNastran.op2.tables.oqg_constraintForces.oqg_spcForces import RealSPCForces  # ,ComplexSPCForcesObject
from pyNastran.op2.tables.oqg_constraintForces.oqg_mpcForces import RealMPCForces  # ,ComplexMPCForcesObject
from pyNastran.op2.tables.opg_appliedLoads.opg_loadVector import RealLoadVector

[docs]class OQG(object):
[docs] def _read_f06_table(self, data_types, debug=False): pass
def __init__(self): self.iSubcases = [] self.i = 0
[docs] def _load_vector(self): (subcase_name, isubcase, transient, dt, analysis_code, is_sort1) = self._read_f06_subcase_header() headers = self.skip(2) #print "headers = %s" % (headers) data = self._real_f06_table_data(allow_blanks=False) data_code = { 'analysis_code': analysis_code, 'device_code': 1, 'table_code': 1, # ??? 'table_name': 'OPG', 'format_code': 1, # ??? 'sort_code': 0, 'sort_bits': [0, 0, 0], 'num_wide': 8, 'nonlinear_factor': dt, 'dataNames':['lsdvmn'], 'lsdvmn': 1, } if isubcase in self.load_vectors: self.load_vectors[isubcase].add_f06_data(data, transient) else: is_sort1 = True spc = RealLoadVector(data_code, is_sort1, isubcase, dt) spc.add_f06_data(data, transient) self.load_vectors[isubcase] = spc self.iSubcases.append(isubcase)
[docs] def _forces_of_single_point_constraints(self): (subcase_name, isubcase, transient, dt, analysis_code, is_sort1) = self._read_f06_subcase_header() headers = self.skip(2) #print "headers = %s" %(headers) data = self._real_f06_table_data(allow_blanks=False) data_code = { 'analysis_code': analysis_code, 'device_code': 1, 'table_code': 3, 'sort_code': 0, 'sort_bits': [0, 0, 0], 'num_wide': 8, 'table_name': 'OQG', 'nonlinear_factor': dt, 'format_code': 3, # ??? 'dataNames':['lsdvmn'], 'lsdvmn': 1, } if isubcase in self.spc_forces: self.spc_forces[isubcase].add_f06_data(data, transient) else: is_sort1 = True spc = RealSPCForces(data_code, is_sort1, isubcase, dt) spc.add_f06_data(data, transient) self.spc_forces[isubcase] = spc self.iSubcases.append(isubcase)
[docs] def _forces_of_multi_point_constraints(self): (subcase_name, isubcase, transient, dt, analysis_code, is_sort1) = self._read_f06_subcase_header() headers = self.skip(2) #print "headers = %s" %(headers) data = self._real_f06_table_data(allow_blanks=False) data_code = { 'analysis_code': analysis_code, 'device_code': 1, 'table_code': 39, 'sort_code': 0, 'sort_bits': [0, 0, 0], 'num_wide': 8, 'table_name': 'OQG', 'nonlinear_factor': dt, 'dataNames':['lsdvmn'] } if isubcase in self.mpc_forces: self.mpc_forces[isubcase].add_f06_data(data, transient) else: is_sort1 = True mpc = RealMPCForces(data_code, is_sort1, isubcase, dt) mpc.add_f06_data(data, transient) self.mpc_forces[isubcase] = mpc self.iSubcases.append(isubcase)