Beispiel #1
0
 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)
Beispiel #2
0
 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
Beispiel #3
0
 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)
Beispiel #4
0
 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
Beispiel #6
0
 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
Beispiel #7
0
 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
Beispiel #8
0
 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
Beispiel #9
0
 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)
Beispiel #10
0
    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)
Beispiel #11
0
    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()
Beispiel #12
0
    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)