Example #1
0
    def test_dmiax(self):
        """tests DMIAX"""
        model = BDF(debug=None)

        ifo = 1  # square
        tin = 1
        tout = None
        polar = None
        ncol = None
        gj = 2
        cj = 8
        g1 = 10
        c1 = 20
        a1 = 30
        b1 = 40
        lines = [
            ['DMIAX', 'B2PP', 0, 1, 3],
            [
                'DMIAX', 'B2PP', 32, None, None, None, None, None, None, 1027,
                3, None, 4.25 + 6, '2.27+3'
            ],
            #['DMIAX', 'AX', '0', ifo, tin, tout, polar, None, ncol],
            #['DMIAX', 'AX', gj, cj, None, g1, c1, a1, b1],
        ]
        for line in lines:
            model.add_card(line, 'DMIAX')
        fill_dmigs(model)
        str(model.dmigs)
        str(model.get_bdf_stats())

        name = 'B2PPB'
        tin = 1
        ncols = 3
        GCNj = [(1, 2, 3)]
        GCNi = [[(10, 6, 30)]]
        Real = [0.1]
        matrix_form = 1
        #load_sequences = {
        # lseq : [ncx]
        #10 : [[1001, 4, 1003.0]],
        #20 : [[1, 2, 3.], [11, 12, 13.], ],
        #30 : [[1, 2, 3.], [11, 12, 13.], [101, 4, 103.]],
        #}
        uaccel = model.add_dmiax(name,
                                 matrix_form,
                                 tin,
                                 tout,
                                 polar,
                                 ncols,
                                 GCNj,
                                 GCNi,
                                 Real,
                                 Complex=None,
                                 comment='dmiax')
        uaccel.raw_fields()
        str(uaccel)
        #uaccel.tin = 2
        #str(uaccel)
        save_load_deck(model, run_save_load_hdf5=False)
Example #2
0
    def test_dmig_09(self):
        cards = [
            ['DMIG, A, 0, 9, 1, 1,  ,    , 1'],
            ['DMIG, A, 1, ,  , 2, 1, 1.0,'],
            ['DMIG, A, 1, ,  , 2, 2, 1.0,'],
            ['DMIG, A, 1, ,  , 2, 3, 1.0,'],
        ]
        model = BDF(debug=False)
        for card_lines in cards:
            model.add_card(card_lines, 'DMIG', is_list=False)
        fill_dmigs(model)

        a_matrix = model.dmigs['A']
        assert len(a_matrix.GCi) == 3, 'len(GCi)=%s GCi=%s matrix=\n%s' % (len(a_matrix.GCi), a_matrix.GCi, a_matrix)
        assert len(a_matrix.GCj) == 3, 'len(GCj)=%s GCj=%s matrix=\n%s' % (len(a_matrix.GCj), a_matrix.GCj, a_matrix)
        #a_matrix.get_matrix()
        save_load_deck(model)
Example #3
0
 def test_dmig_10(self):
     """symmetric"""
     cards = [
         ['DMIG,AMTRXX,0,6,1,0'],
         ['DMIG,AMTRXX,2,1, ,2,1,201.0, ,+DM1', '+DM1,2,3,203.0'],
         ['DMIG,AMTRXX,3,1, ,3,1,301.0, ,+DM2', '+DM2,3,3,303.0'],
     ]
     model = BDF(debug=False)
     for card_lines in cards:
         model.add_card(card_lines, 'DMIG', is_list=False)
     fill_dmigs(model)
     a_matrix = model.dmigs['AMTRXX']
     assert len(a_matrix.GCi) == 4, 'len(GCi)=%s GCi=%s matrix=\n%s' % (len(
         a_matrix.GCi), a_matrix.GCi, a_matrix)
     assert len(a_matrix.GCj) == 4, 'len(GCj)=%s GCj=%s matrix=\n%s' % (len(
         a_matrix.GCj), a_matrix.GCj, a_matrix)
     assert a_matrix.shape == (4, 4), 'shape=%s' % str(a_matrix.shape)
     a_matrix.get_matrix()
Example #4
0
    def test_dmig_uaccel(self):
        """tests DMIG,UACCEL"""
        model = BDF(debug=None)

        lines = [
            ['DMIG', 'UACCEL', '0', 9, 1, None, None, None, 4],
            ['DMIG', 'UACCEL', 2, None, None, 2, 3, 386.4],
            ['DMIG', 'UACCEL', 3, None, None, 2, 4, 3.0],
            ['DMIG', 'UACCEL', 4, None, None, 2, 6, 1.0],
        ]
        for line in lines:
            model.add_card(line, 'DMIG')
        fill_dmigs(model)
        str(model.dmigs)
        str(model.get_bdf_stats())

        tin = 1
        ncol = 3
        load_sequences = {
            # lseq : [ncx]
            10: [[1001, 4, 1003.0]],
            20: [
                [1, 2, 3.],
                [11, 12, 13.],
            ],
            30: [[1, 2, 3.], [11, 12, 13.], [101, 4, 103.]],
        }
        uaccel = model.add_dmig_uaccel(tin,
                                       ncol,
                                       load_sequences,
                                       comment='uaccel')
        uaccel.raw_fields()
        str(uaccel)
        uaccel.tin = 2
        str(uaccel)
        save_load_deck(model)
Example #5
0
    def test_dmiax(self):
        """tests DMIAX"""
        model = BDF(debug=None)

        #ifo = 1  # square
        tin = 1
        tout = None
        #ncol = None
        #gj = 2
        #cj = 8
        #g1 = 10
        #c1 = 20
        #a1 = 30
        #b1 = 40
        lines = [
            ['DMIAX', 'B2PP', 0, 1, 3],
            [
                'DMIAX', 'B2PP', 32, None, None, None, None, None, None, 1027,
                3, None, 4.25 + 6, '2.27+3'
            ],
            #['DMIAX', 'AX', '0', ifo, tin, tout, polar, None, ncol],
            #['DMIAX', 'AX', gj, cj, None, g1, c1, a1, b1],
        ]
        for line in lines:
            model.add_card(line, 'DMIAX')
        fill_dmigs(model)
        str(model.dmiax)
        str(model.get_bdf_stats())
        str(model.dmiax['B2PP'])

        name = 'AXREAL1'
        tin = 1
        tout = 2
        ncols = 3
        GCNj = [(1, 2, 3)]
        GCNi = [[(10, 6, 30)]]
        Real = [0.1]
        matrix_form = 1
        dmiax_real = model.add_dmiax(name,
                                     matrix_form,
                                     tin,
                                     tout,
                                     ncols,
                                     GCNj,
                                     GCNi,
                                     Real,
                                     Complex=None,
                                     comment='dmiax')
        assert dmiax_real.is_real is True, dmiax_real.is_real
        assert dmiax_real.is_complex is False, dmiax_real.is_complex
        assert dmiax_real.is_polar is False, dmiax_real.is_polar

        name = 'AXREAL1'
        tin = 2
        tout = 1
        dmiax_real = model.add_dmiax(name,
                                     matrix_form,
                                     tin,
                                     tout,
                                     ncols,
                                     GCNj,
                                     GCNi,
                                     Real,
                                     Complex=None,
                                     comment='dmiax')
        assert dmiax_real.is_real is True, dmiax_real.is_real
        assert dmiax_real.is_complex is False, dmiax_real.is_complex
        assert dmiax_real.is_polar is False, dmiax_real.is_polar

        name = 'AXIMAG1'
        Complex = [0.2]
        tin = 3
        tout = 4
        dmiax_mag = model.add_dmiax(name,
                                    matrix_form,
                                    tin,
                                    tout,
                                    ncols,
                                    GCNj,
                                    GCNi,
                                    Real,
                                    Complex=Complex,
                                    comment='dmiax')
        assert dmiax_mag.is_real is False, dmiax_mag.is_real
        assert dmiax_mag.is_complex is True, dmiax_mag.is_complex
        assert dmiax_mag.is_polar is False, dmiax_mag.is_polar

        name = 'AXIMAG2'
        Complex = [0.2]
        tout = 4
        tin = 3
        dmiax_imag = model.add_dmiax(name,
                                     matrix_form,
                                     tin,
                                     tout,
                                     ncols,
                                     GCNj,
                                     GCNi,
                                     Real,
                                     Complex=Complex,
                                     comment='dmiax')
        assert dmiax_imag.is_real is False, dmiax_imag.is_real
        assert dmiax_imag.is_complex is True, dmiax_imag.is_complex
        assert dmiax_imag.is_polar is False, dmiax_imag.is_polar

        dmiax_real.raw_fields()
        dmiax_imag.raw_fields()
        str(dmiax_real)
        str(dmiax_imag)
        save_load_deck(model)