Example #1
0
    def test_celas1(self):
        """Tests a CELAS1/PELAS"""
        model = BDF(debug=True, log=None, mode='msc')
        model.add_grid(1, [0., 0., 0.])
        model.add_grid(2, [0., 0., 0.])
        nids = [1, 2]
        eid = 1
        pid = 2
        model.add_celas1(eid, pid, nids, c1=1, c2=1, comment='')
        k = 1000.

        load_id = 2
        spc_id = 3
        model.add_pelas(pid, k, ge=0., s=0., comment='')
        # model.add_sload(load_id, 2, 20.)
        fxyz = [1., 0., 0.]
        mag = 20.
        model.add_force(load_id, 2, mag, fxyz, cid=0, comment='')

        components = 123456
        nodes = 1
        model.add_spc1(spc_id, components, nodes, comment='')
        setup_case_control(model)

        solver = Solver(model)
        solver.run()

        # F = k * d
        # d = F / k
        # 20=1000.*d
        d = mag / k
        assert np.allclose(solver.xa_[0], d)
Example #2
0
    def test_celas3(self):
        """Tests a CELAS3/PELAS"""
        model = BDF(debug=True, log=None, mode='msc')
        model.bdf_filename = 'celas3.bdf'
        #model.add_grid(1, [0., 0., 0.])
        #model.add_grid(2, [0., 0., 0.])
        model.add_spoint([1, 2])
        nids = [1, 2]
        eid = 1
        pid = 2
        model.add_celas3(eid, pid, nids, comment='')
        k = 1000.

        load_id = 2
        spc_id = 3
        model.add_pelas(pid, k, ge=0., s=0., comment='')
        # model.add_sload(load_id, 2, 20.)
        #fxyz = [1., 0., 0.]
        mag = 20.
        # model.add_force(load_id, 2, mag, fxyz, cid=0, comment='')
        nids = 2
        mags = mag
        model.add_sload(load_id, nids, mags, comment='')

        components = 0
        nodes = 1
        model.add_spc1(spc_id, components, nodes, comment='')
        setup_case_control(model)

        solver = Solver(model)
        #model.sol = 103
        #solver.run()

        model.sol = 101
        solver.run()

        # F = k * d
        # d = F / k
        # 20=1000.*d
        d = mag / k
        assert np.allclose(solver.xa_[0], d), solver.xa_
        os.remove(solver.f06_filename)
        os.remove(solver.op2_filename)