def test_pbar_1(self): """tests the PBAR BDF add""" area = 0.0 i11 = 4.9e-2 i22 = 5.5e-2 i12 = 6.6e-2 j = 7.7e-2 nsm = 1.0 fields = [ u'PBAR', 1510998, 1520998, area, i11, i22, j, nsm, None, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, None, None, i12, ] card = print_card_8(fields) #print(card) card = print_card_8(fields) lines = card.split('\n') model = BDF(debug=False) card = model._process_card(lines) cardi = BDFCard(card) pbar = PBAR.add_card(cardi) pbar.raw_fields() self.assertEqual(pbar.A, area) self.assertEqual(pbar.i1, i11) self.assertEqual(pbar.i2, i22) self.assertEqual(pbar.i12, i12) self.assertEqual(pbar.j, j) self.assertEqual(pbar.k1, None) self.assertEqual(pbar.k2, None) self.assertEqual(pbar.nsm, nsm) assert np.allclose(pbar.Area(), area) assert np.allclose(pbar.I11(), i11) assert np.allclose(pbar.I22(), i22) assert np.allclose(pbar.I12(), i12) assert np.allclose(pbar.J(), j) assert np.allclose(pbar.Nsm(), nsm)
def test_pbar_01(self): fields = [u'PBAR', 1510998, 1520998, 0.0, 4.9000000000000006e-14, 4.9000000000000006e-14, 0.0, 0.0, None, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, None, None, 0.0] card = print_card(fields) #print(card) card = print_card(fields) lines = card.split('\n') card = bdf.process_card(lines) card2 = BDFCard(card) pbar = PBAR(card2) self.assertEqual(pbar.A, 0.), pbar.A self.assertEqual(pbar.i12, 0.), pbar.i12 self.assertEqual(pbar.K1, None), pbar.K1 self.assertEqual(pbar.K2, None), pbar.K2
def test_pbar_01(self): fields = [ u'PBAR', 1510998, 1520998, 0.0, 4.9000000000000006e-14, 4.9000000000000006e-14, 0.0, 0.0, None, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, None, None, 0.0 ] card = print_card(fields) #print(card) card = print_card(fields) lines = card.split('\n') card = bdf.process_card(lines) card2 = BDFCard(card) with self.assertRaises(AssertionError): # A=0, I12=0, K1=0 pbar = PBAR(card2)
def readPBAR(self, data): """ PBAR(52,20,181) - the marker for Record 11 @warning this makes a funny property... """ #print "reading PBAR" while len(data) >= 76: # 19*4 eData = data[:76] data = data[76:] out = unpack(b'2i17f', eData) #print "len(out) = ",len(out) #print out (pid, mid, a, I1, I2, J, nsm, fe, c1, c2, d1, d2, e1, e2, f1, f2, k1, k2, I12) = out prop = PBAR(None, out) self.addOp2Property(prop)
def test_pbar_01(self): fields = [ u'PBAR', 1510998, 1520998, 0.0, 4.9000000000000006e-14, 4.9000000000000006e-14, 0.0, 0.0, None, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, None, None, 0.0 ] card = print_card_8(fields) #print(card) card = print_card_8(fields) lines = card.split('\n') card = bdf.process_card(lines) cardi = BDFCard(card) pbar = PBAR.add_card(cardi) self.assertEqual(pbar.A, 0.), pbar.A self.assertEqual(pbar.i12, 0.), pbar.i12 self.assertEqual(pbar.k1, None), pbar.k1 self.assertEqual(pbar.k2, None), pbar.k2
def _read_pbar(self, data, n): """ PBAR(52,20,181) - the marker for Record 11 .. warning:: this makes a funny property... """ ntotal = 76 # 19*4 s = Struct(b(self._endian + '2i17f')) nentries = (len(data) - n) // ntotal for i in range(nentries): edata = data[n:n+76] out = s.unpack(edata) (pid, mid, a, I1, I2, J, nsm, fe, c1, c2, d1, d2, e1, e2, f1, f2, k1, k2, I12) = out prop = PBAR.add_op2_data(out) self._add_op2_property(prop) n += ntotal self.card_count['PBAR'] = nentries return n
def _readPBAR(self, data, n): """ PBAR(52,20,181) - the marker for Record 11 .. warning:: this makes a funny property... """ ntotal = 76 # 19*4 s = Struct(b'2i17f') nentries = (len(data) - n) // ntotal for i in range(nentries): eData = data[n:n + 76] out = s.unpack(eData) (pid, mid, a, I1, I2, J, nsm, fe, c1, c2, d1, d2, e1, e2, f1, f2, k1, k2, I12) = out prop = PBAR(None, out) self.addOp2Property(prop) n += ntotal self.card_count['PBAR'] = nentries return n
def test_pbar_1(self): """tests the PBAR BDF add""" fields = [ u'PBAR', 1510998, 1520998, 0.0, 4.9000000000000006e-14, 4.9000000000000006e-14, 0.0, 0.0, None, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, None, None, 0.0 ] card = print_card_8(fields) #print(card) card = print_card_8(fields) lines = card.split('\n') model = BDF(debug=False) card = model.process_card(lines) cardi = BDFCard(card) pbar = PBAR.add_card(cardi) self.assertEqual(pbar.A, 0.), pbar.A self.assertEqual(pbar.i12, 0.), pbar.i12 self.assertEqual(pbar.k1, None), pbar.k1 self.assertEqual(pbar.k2, None), pbar.k2
def test_pbar_02(self): pid = 1 mid = 2 A = None I1 = I2 = None J = None nsm = None c1 = c2 = d1 = d2 = e1 = e2 = f1 = f2 = None k1 = k2 = None i12 = 3. fields = [ 'PBAR', pid, mid, A, I1, I2, J, nsm, None, c1, c2, d1, d2, e1, e2, f1, f2, k1, k2, i12 ] card = print_card(fields) lines = card.split('\n') card = bdf.process_card(lines) #print(card) card2 = BDFCard(card) #print(card2) pbar = PBAR(card2) self.assertEqual(pbar.pid, 1) self.assertEqual(pbar.mid, 2) self.assertEqual(pbar.A, 0.0) self.assertEqual(pbar.i1, 0.0) self.assertEqual(pbar.i2, 0.0) self.assertEqual(pbar.j, 0.0) self.assertEqual(pbar.nsm, 0.0) self.assertEqual(pbar.i12, 3.0) self.assertEqual(pbar.C1, 0.0) self.assertEqual(pbar.C2, 0.0) self.assertEqual(pbar.D1, 0.0) self.assertEqual(pbar.D2, 0.0) self.assertEqual(pbar.E1, 0.0) self.assertEqual(pbar.E2, 0.0) self.assertEqual(pbar.K1, 1e8) self.assertEqual(pbar.K2, 1e8)
def test_pbar_2(self): """tests the PBAR BDF add""" pid = 1 mid = 2 A = None I1 = I2 = None J = None nsm = None c1 = c2 = d1 = d2 = e1 = e2 = f1 = f2 = None k1 = k2 = None i12 = 3. fields = [ 'PBAR', pid, mid, A, I1, I2, J, nsm, None, c1, c2, d1, d2, e1, e2, f1, f2, k1, k2, i12 ] card = print_card_8(fields) lines = card.split('\n') model = BDF(debug=False) card = model.process_card(lines) cardi = BDFCard(card) pbar = PBAR.add_card(cardi) self.assertEqual(pbar.pid, 1) self.assertEqual(pbar.mid, 2) self.assertEqual(pbar.A, 0.0) self.assertEqual(pbar.i1, 0.0) self.assertEqual(pbar.i2, 0.0) self.assertEqual(pbar.j, 0.0) self.assertEqual(pbar.nsm, 0.0) self.assertEqual(pbar.i12, 3.0) self.assertEqual(pbar.c1, 0.0) self.assertEqual(pbar.c2, 0.0) self.assertEqual(pbar.d1, 0.0) self.assertEqual(pbar.d2, 0.0) self.assertEqual(pbar.e1, 0.0) self.assertEqual(pbar.e2, 0.0) self.assertEqual(pbar.k1, None) self.assertEqual(pbar.k2, None) #-------------------------------------------------------- A = 6. I1 = 5. I2 = 4. J = 3. nsm = 2. c1 = c2 = d1 = d2 = e1 = e2 = f1 = f2 = None k1 = k2 = 1e2 i12 = 0. fields = [ 'PBAR', pid, mid, A, I1, I2, J, nsm, None, c1, c2, d1, d2, e1, e2, f1, f2, k1, k2, i12 ] card = print_card_8(fields) lines = card.split('\n') model = BDF(debug=False) card = model.process_card(lines) cardi = BDFCard(card) pbar = PBAR.add_card(cardi) self.assertEqual(pbar.pid, 1) self.assertEqual(pbar.mid, 2) self.assertEqual(pbar.A, 6.0) self.assertEqual(pbar.i1, 5.0) self.assertEqual(pbar.i2, 4.0) self.assertEqual(pbar.j, 3.0) self.assertEqual(pbar.nsm, 2.0) self.assertEqual(pbar.i12, 0.0) self.assertEqual(pbar.c1, 0.0) self.assertEqual(pbar.c2, 0.0) self.assertEqual(pbar.d1, 0.0) self.assertEqual(pbar.d2, 0.0) self.assertEqual(pbar.e1, 0.0) self.assertEqual(pbar.e2, 0.0) self.assertEqual(pbar.k1, 1e2) self.assertEqual(pbar.k2, 1e2)
def test_pbar_3(self): """tests the PBAR validate""" pid = 42 mid = 10 i1 = -1. i2 = -2. i12 = -3. j = -4. pbar = PBAR(pid, mid, A=0., i1=i1, i2=i2, i12=i12, j=j, nsm=0., c1=0., c2=0., d1=0., d2=0., e1=0., e2=0., f1=0., f2=0., k1=1.e8, k2=1.e8, comment='cat') with self.assertRaises(ValueError): pbar.validate() pbar.i1 = 1. with self.assertRaises(ValueError): pbar.validate() pbar.i2 = 2. with self.assertRaises(ValueError): pbar.validate() pbar.j = 4. pbar.validate()
def test_pbar_3(self): """tests the PBAR validate""" pid = 42 mid = 10 i1 = -1. i2 = -2. i12 = -3. j = -4. pbar = PBAR(pid, mid, A=0., i1=i1, i2=i2, i12=i12, j=j, nsm=0., c1=0., c2=0., d1=0., d2=0., e1=0., e2=0., f1=0., f2=0., k1=1.e8, k2=1.e8, comment='pbar') with self.assertRaises(ValueError): pbar.validate() pbar.i1 = 1. with self.assertRaises(ValueError): pbar.validate() pbar.i2 = 2. with self.assertRaises(ValueError): pbar.validate() pbar.j = 4. pbar.validate() model = BDF(debug=False) pbar = model.add_pbar(pid, mid, A=0., i1=2., i2=2., i12=1., j=4., nsm=0., c1=0., c2=0., d1=0., d2=0., e1=0., e2=0., f1=0., f2=0., k1=1.e8, k2=1.e8, comment='pbar') pbar.validate() nids = [100, 101] eid = 1000 x = [0., 0., 1.] g0 = None model.add_cbar(eid, pid, nids, x, g0, comment='cbar') model.add_grid(100, [0., 0., 0.]) model.add_grid(101, [1., 0., 0.]) E = 3.0e7 G = None nu = 0.3 model.add_mat1(mid, E, G, nu) save_load_deck(model)
def test_pbar_02(self): pid = 1 mid = 2 A = None I1 = I2 = None J = None nsm = None c1 = c2 = d1 = d2 = e1 = e2 = f1 = f2 = None k1 = k2 = None i12 = 3. fields = [ 'PBAR', pid, mid, A, I1, I2, J, nsm, None, c1, c2, d1, d2, e1, e2, f1, f2, k1, k2, i12 ] card = print_card_8(fields) lines = card.split('\n') card = bdf.process_card(lines) cardi = BDFCard(card) pbar = PBAR.add_card(cardi) self.assertEqual(pbar.pid, 1) self.assertEqual(pbar.mid, 2) self.assertEqual(pbar.A, 0.0) self.assertEqual(pbar.i1, 0.0) self.assertEqual(pbar.i2, 0.0) self.assertEqual(pbar.j, 0.0) self.assertEqual(pbar.nsm, 0.0) self.assertEqual(pbar.i12, 3.0) self.assertEqual(pbar.c1, 0.0) self.assertEqual(pbar.c2, 0.0) self.assertEqual(pbar.d1, 0.0) self.assertEqual(pbar.d2, 0.0) self.assertEqual(pbar.e1, 0.0) self.assertEqual(pbar.e2, 0.0) self.assertEqual(pbar.k1, None) self.assertEqual(pbar.k2, None) #-------------------------------------------------------- A = 6. I1 = 5. I2 = 4. J = 3. nsm = 2. c1 = c2 = d1 = d2 = e1 = e2 = f1 = f2 = None k1 = k2 = 1e2 i12 = 0. fields = [ 'PBAR', pid, mid, A, I1, I2, J, nsm, None, c1, c2, d1, d2, e1, e2, f1, f2, k1, k2, i12] card = print_card_8(fields) lines = card.split('\n') card = bdf.process_card(lines) cardi = BDFCard(card) pbar = PBAR.add_card(cardi) self.assertEqual(pbar.pid, 1) self.assertEqual(pbar.mid, 2) self.assertEqual(pbar.A, 6.0) self.assertEqual(pbar.i1, 5.0) self.assertEqual(pbar.i2, 4.0) self.assertEqual(pbar.j, 3.0) self.assertEqual(pbar.nsm, 2.0) self.assertEqual(pbar.i12, 0.0) self.assertEqual(pbar.c1, 0.0) self.assertEqual(pbar.c2, 0.0) self.assertEqual(pbar.d1, 0.0) self.assertEqual(pbar.d2, 0.0) self.assertEqual(pbar.e1, 0.0) self.assertEqual(pbar.e2, 0.0) self.assertEqual(pbar.k1, 1e2) self.assertEqual(pbar.k2, 1e2)