def test_mpc_03(self):
        model = BDF(debug=False)

        card = [
            'MPC            1    1002       4      1.    1000       4-.129394',
            '                    1000       5-7.152-3    1000       6-.013655',
            '                    1004       2   123.3',]
        msg8 = (
            'MPC            1    1002       4      1.    1000       4-.129394\n'
            '                    1000       5-7.152-3    1000       6-.013655\n'
            '                    1004       2   123.3\n')
        msg16 = (
            'MPC*                   1            1002               4              1.\n'
            '*                   1000               4        -.129394\n'
            '*                                   1000               5        -.007152\n'
            '*                   1000               6        -.013655\n'
            '*                                   1004               2           123.3\n'
            '*\n')


        card = model.add_card(card, 'MPC', is_list=False)
        assert card is not None
        mpc = MPC.add_card(card)
        msg_8_actual = mpc.write_card(size=8)
        msg_16_actual = mpc.write_card(size=16)
        msg_16_double_actual = mpc.write_card(size=16, is_double=True)
        self.check_card(msg8, msg_8_actual)
        self.check_card(msg16, msg_16_actual)
Ejemplo n.º 2
0
    def test_mpc_03(self):
        model = BDF(debug=False)

        card = [
            'MPC            1    1002       4      1.    1000       4-.129394',
            '                    1000       5-7.152-3    1000       6-.013655',
            '                    1004       2   123.3',
        ]
        msg8 = (
            'MPC            1    1002       4      1.    1000       4-.129394\n'
            '                    1000       5-7.152-3    1000       6-.013655\n'
            '                    1004       2   123.3\n')
        msg16 = (
            'MPC*                   1            1002               4              1.\n'
            '*                   1000               4        -.129394\n'
            '*                                   1000               5        -.007152\n'
            '*                   1000               6        -.013655\n'
            '*                                   1004               2           123.3\n'
            '*\n')

        card = model.add_card(card, 'MPC', is_list=False)
        assert card is not None
        mpc = MPC.add_card(card)
        msg_8_actual = mpc.write_card(size=8)
        msg_16_actual = mpc.write_card(size=16)
        msg_16_double_actual = mpc.write_card(size=16, is_double=True)
        self.check_card(msg8, msg_8_actual)
        self.check_card(msg16, msg_16_actual)
Ejemplo n.º 3
0
 def test_mpc_01(self):
     card = ['MPC', 1, 1002, 1, 1., 1000, 1, -3.861003861]
     card = BDFCard(card)
     mpc = MPC(card)
     #print ' %r' % str(mpc)
     #print '%r' % mpc.write_card(size=8)
     #msg = mpc.write_card(size=8, double=False)
     self.assertEqual('MPC            1    1002       1      1.    1000       1  -3.861\n', mpc.write_card(size=8))
Ejemplo n.º 4
0
    def test_mpc_01(self):
        card = ['MPC', 1, 1002, 1, 1., 1000, 1, -3.861003861]
        card = BDFCard(card)
        mpc = MPC(card)
        #print ' %r' % str(mpc)
        #print '%r' % mpc.write_bdf2(size=8)
        #msg = mpc.write_bdf2(size=8, double=False)
        self.assertEqual(
            'MPC            1    1002       1      1.    1000       1  -3.861\n',
            mpc.write_bdf2(size=8))

        model = BDF()

        card = [
            'MPC            1    1002       4      1.    1000       4-.129394',
            '                    1000       5-7.152-3    1000       6-.013655'
        ]
        msgA = (
            'MPC            1    1002       4      1.    1000       4-.129394\n'
            '                    1000       5-7.152-3    1000       6-.013655\n'
        )

        card = model.add_card(card, 'MPC', is_list=False)
        mpc = MPC(card)
        print('u%r' % msgA)
        print('%r' % mpc.write_bdf2(size=8))
        self.assertEqual(msgA, mpc.write_bdf2(size=8))
        print(mpc, type(mpc))

        card = []
Ejemplo n.º 5
0
 def test_mpc_01(self):
     card = ['MPC', 1, 1002, 1, 1., 1000, 1, -3.861003861]
     card = BDFCard(card)
     mpc = MPC.add_card(card)
     #print ' %r' % str(mpc)
     #print '%r' % mpc.write_card(size=8)
     #msg = mpc.write_card(size=8, double=False)
     self.assertEqual(
         'MPC            1    1002       1      1.    1000       1  -3.861\n',
         mpc.write_card(size=8))
Ejemplo n.º 6
0
    def test_mpc_02(self):
        model = BDF()

        card = ['MPC            1    1002       4      1.    1000       4-.129394',
                '                    1000       5-7.152-3    1000       6-.013655']
        msg8 = ('MPC            1    1002       4      1.    1000       4-.129394\n'
                '                    1000       5-7.152-3    1000       6-.013655\n')
        msg16 =('MPC*                   1            1002               4              1.\n'
                '*                   1000               4        -.129394\n'
                '*                                   1000               5        -.007152\n'
                '*                   1000               6        -.013655\n')


        card = model.add_card(card, 'MPC', is_list=False)
        mpc = MPC(card)
        msg_8_actual = mpc.write_card(size=8)
        msg_16_actual = mpc.write_card(size=16)
        self.check_card(msg8, msg_8_actual)
        self.check_card(msg16, msg_16_actual)
Ejemplo n.º 7
0
def __mirror_mpcs(model: BDF, mirror_model: BDF, nid_offset: int) -> None:
    """mirrors model.rigid_elements"""
    for sid, mpcs in sorted(model.mpcs.items()):
        assert isinstance(mpcs, list), type(mpcs)
        mpcs_new = []
        for mpc in mpcs:
            if mpc.type == 'MPC':
                # coefficients : [1.0, 1.0]
                # components : ['123', '123']
                # node_ids : [1, 4]
                # nodes  : [1, 4]
                new_nids = [
                    nid + nid_offset if nid is not None else None
                    for nid in mpc.node_ids
                ]
                components = deepcopy(mpc.components)
                coefficients = deepcopy(mpc.coefficients)
                mpc_new = MPC(sid, new_nids, components, coefficients)
                mpcs_new.append(mpc_new)
            else:
                mirror_model.log.warning('skipping MPC:\n%s' % str(mpc))
        #print(f'adding {len(mpcs_new)} mpcs')
        model.mpcs[sid].extend(mpcs_new)