def test_rod_opt(self): model = BDF(debug=False, ) model.add_grid(1, [0., 0., 0.]) model.add_grid(2, [1., 0., 0.]) eid_rod = 1 pid_rod = 1 mid = 1 A = 1.0 E = 3.0e7 G = None nu = 0.3 model.add_crod(eid_rod, pid_rod, [1, 2]) model.add_prod(pid_rod, mid, A) model.add_mat1(mid, E, G, nu) eid_tube = 2 pid_tube = 2 model.add_ctube(eid_tube, pid_tube, [1, 2]) model.add_ptube(pid_tube, mid, 1.0) params = [ ('A', 2.0), ('J', 2.0), ] i = make_dvprel_optimization(model, params, 'PROD', pid_rod, i=1) params = [ ('T', 2.0), ] i = make_dvprel_optimization(model, params, 'PTUBE', pid_tube, i) model.cross_reference() model.update_model_by_desvars()
def test_damper_03(self): """tests the CDAMP4, PDAMP, CDAMP4, SPOINT""" model = BDF(debug=False) eid = 3 pid = 2 s1 = 3 s2 = 4 cdamp3 = model.add_cdamp3(eid, pid, [s1, s2], comment='cdamp3') bdamp = 1.0e3 pdamp = model.add_pdamp(pid, bdamp, comment='pdamp') spoints = model.add_spoint([3, 4, 5], comment='spoints') eid = 4 bdamp = 2.0e3 s1 = 3 s2 = 4 cdamp4 = model.add_cdamp4(eid, bdamp, [s1, s2], comment='cdamp4') eid = 5 pid = 5 mid = 10 bdamp = 3.0e3 pdamp5 = model.add_pdamp5(pid, mid, bdamp, comment='pdamp5') cdamp5 = model.add_cdamp5(eid, pid, [s1, s2], comment='cdamp5') eid = 6 pid = 6 ce = 1. cr = 1. model.add_grid(10, [0., 0., 0.]) model.add_grid(11, [0., 0., 0.]) nids = [10, 11] pvisc = model.add_pvisc(pid, ce, cr, comment='pvisc') cvisc = model.add_cvisc(eid, pid, nids, comment='cvisc') eid = 7 pid = 7 x = [1., 2., 3.] g0 = None cgap = model.add_cgap(eid, pid, nids, x, g0, cid=None, comment='cgap') pgap = model.add_pgap(pid, u0=0., f0=0., ka=1.e8, kb=None, mu1=0., kt=None, mu2=None, tmax=0., mar=100., trmin=0.001, comment='pgap') eid = 8 pid = 8 k = [1.0] b = [2.0] ge = [0.01] cbush = model.add_cbush(eid, pid, nids, x, g0, cid=None, s=0.5, ocid=-1, si=None, comment='cbush') pbush = model.add_pbush(pid, k, b, ge, rcv=None, mass=None, comment='pbush') eid = 9 pid = 9 k = 1. c = 2. m = 3. sa = 4. se = 5. #optional_vars = None cbush1d = model.add_cbush1d(eid, pid, nids, cid=None, comment='cbush1d') pbush1d = model.add_pbush1d(pid, k=k, c=c, m=m, sa=sa, se=se, optional_vars=None, comment='pbush1d') E = 3.0e7 G = None nu = 0.3 model.add_mat1(mid, E, G, nu) model.validate() cdamp3.raw_fields() cdamp4.raw_fields() cdamp5.raw_fields() pdamp5.raw_fields() cvisc.raw_fields() pvisc.raw_fields() cgap.raw_fields() pgap.raw_fields() cbush.raw_fields() pbush.raw_fields() cbush1d.raw_fields() pbush1d.raw_fields() spoints.raw_fields() cdamp3.write_card(size=8, is_double=False) cdamp4.write_card(size=8, is_double=False) cdamp5.write_card(size=8, is_double=False) pdamp5.write_card(size=8, is_double=False) cvisc.write_card(size=8, is_double=False) pvisc.write_card(size=8, is_double=False) cgap.write_card(size=8, is_double=False) pgap.write_card(size=8, is_double=False) cbush.write_card(size=8, is_double=False) pbush.write_card(size=8, is_double=False) cbush1d.write_card(size=8, is_double=False) pbush1d.write_card(size=8, is_double=False) params = [ ('K1', 1.0), ('K2', 1.0), ('K3', 1.0), ('K4', 1.0), ('K5', 1.0), ('K6', 1.0), ('B1', 1.0), ('B2', 1.0), ('B3', 1.0), ('B4', 1.0), ('B5', 1.0), ('B6', 1.0), #('M1', 1.0), #('M2', 1.0), #('M3', 1.0), #('M4', 1.0), #('M5', 1.0), #('M6', 1.0), ] i = make_dvprel_optimization(model, params, 'PBUSH', pbush.pid, i=1) params = [(5, 1.0)] i = make_dvprel_optimization(model, params, 'PGAP', pgap.pid, i) params = [('K', 1.0), ('C', 1.0), ('M', 1.0)] i = make_dvprel_optimization(model, params, 'PBUSH1D', pbush1d.pid, i) params = [('CE1', 1.0)] i = make_dvprel_optimization(model, params, 'PVISC', pvisc.pid, i) params = [('B1', 1.0), (3, 1.0)] i = make_dvprel_optimization(model, params, 'PDAMP', pdamp.pid, i) #----------------------------------------- params = [] i = make_dvcrel_optimization(model, params, 'CVISC', cvisc.eid, i) params = [ ('X1', 1.0), ('X2', 2.0), ('X3', 3.0), ('S1', 1.0), ('S2', 2.0), ('S3', 3.0), ('S', 1.0), ] i = make_dvcrel_optimization(model, params, 'CBUSH', cbush.eid, i) params = [] i = make_dvcrel_optimization(model, params, 'CBUSH1D', cbush.eid, i) params = [] i = make_dvcrel_optimization(model, params, 'CGAP', cgap.eid, i) spoints.write_card() model.cross_reference() model.update_model_by_desvars() save_load_deck(model)