Пример #1
0
def test_freq_models():
    print('Testing frequency analysis for StiffPanelBay with 2 plates')
    # From Table 4 of
    # Lee and Lee. "Vibration analysis of anisotropic plates with eccentric
    #    stiffeners". Computers & Structures, Vol. 57, No. 1, pp. 99-105,
    #    1995.
    for model in [
            'plate_clt_donnell_bardell', 'cpanel_clt_donnell_bardell',
            'kpanel_clt_donnell_bardell'
    ]:
        spb = StiffPanelBay()
        spb.a = 0.5
        spb.b = 0.250
        spb.plyt = 0.00013
        spb.laminaprop = (128.e9, 11.e9, 0.25, 4.48e9, 1.53e9, 1.53e9)
        spb.stack = [0, -45, +45, 90, 90, +45, -45, 0]
        spb.model = model
        spb.r = 1.e6
        spb.alphadeg = 0.
        spb.mu = 1.5e3
        spb.m = 9
        spb.n = 10

        # clamping
        spb.w1rx = 0.
        spb.w2rx = 0.
        spb.w1ry = 0.
        spb.w2ry = 0.

        spb.add_panel(0, spb.b / 2., plyt=spb.plyt)
        spb.add_panel(spb.b / 2., spb.b, plyt=spb.plyt)

        k0 = spb.calc_k0(silent=True)
        M = spb.calc_kM(silent=True)
        eigvals, eigvecs = freq(k0, M, silent=True)

        ref = [
            85.12907802 - 0.j, 134.16422850 - 0.j, 206.77295186 - 0.j,
            216.45992453 - 0.j, 252.24546171 - 0.j
        ]
        assert np.allclose(eigvals[:5] / 2 / np.pi, ref, atol=0.1, rtol=0)
Пример #2
0
def test_freq_models():
    print('Testing frequency analysis for StiffPanelBay with 2 plates')
    # From Table 4 of
    # Lee and Lee. "Vibration analysis of anisotropic plates with eccentric
    #    stiffeners". Computers & Structures, Vol. 57, No. 1, pp. 99-105,
    #    1995.
    for model in ['plate_clt_donnell_bardell',
                  'cpanel_clt_donnell_bardell',
                  'kpanel_clt_donnell_bardell']:
        spb = StiffPanelBay()
        spb.a = 0.5
        spb.b = 0.250
        spb.plyt = 0.00013
        spb.laminaprop = (128.e9, 11.e9, 0.25, 4.48e9, 1.53e9, 1.53e9)
        spb.stack = [0, -45, +45, 90, 90, +45, -45, 0]
        spb.model = model
        spb.r = 1.e6
        spb.alphadeg = 0.
        spb.mu = 1.5e3
        spb.m = 9
        spb.n = 10

        # clamping
        spb.w1rx = 0.
        spb.w2rx = 0.
        spb.w1ry = 0.
        spb.w2ry = 0.

        spb.add_panel(0, spb.b/2., plyt=spb.plyt)
        spb.add_panel(spb.b/2., spb.b, plyt=spb.plyt)

        k0 = spb.calc_k0(silent=True)
        M = spb.calc_kM(silent=True)
        eigvals, eigvecs = freq(k0, M, silent=True)

        ref = [85.12907802-0.j, 134.16422850-0.j, 206.77295186-0.j,
                216.45992453-0.j, 252.24546171-0.j]
        assert np.allclose(eigvals[:5]/2/np.pi, ref, atol=0.1, rtol=0)
from compmech.stiffpanelbay import StiffPanelBay

spb = StiffPanelBay()
spb.a = 2.
spb.b = 1.
spb.r = 2.
spb.stack = [0]
spb.plyt = 1e-3*1.6
E = 71.e9
nu = 0.33
G = E/(2.*(1. + nu))
spb.laminaprop = (E, E, nu, G, G, G)
spb.model = 'cpanel_clt_donnell_bardell'
spb.m = 22
spb.n = 22

spb.u1tx = 0.
spb.u1rx = 1.
spb.u2tx = 0.
spb.u2rx = 1.
spb.u1ty = 0.
spb.u1ry = 1.
spb.u2ty = 0.
spb.u2ry = 1.
spb.v1tx = 0.
spb.v1rx = 1.
spb.v2tx = 0.
spb.v2rx = 1.
spb.v1ty = 0.
spb.v1ry = 1.
spb.v2ty = 0.
Пример #4
0
from compmech.stiffpanelbay import StiffPanelBay

spb = StiffPanelBay()
spb.a = 2.
spb.b = 1.
spb.r = 2.
spb.stack = [0, 90, 90, 0, -45, +45]
spb.plyt = 1e-3*0.125
spb.laminaprop = (142.5e9, 8.7e9, 0.28, 5.1e9, 5.1e9, 5.1e9)
spb.model = 'cpanel_clt_donnell_bardell'
spb.m = 15
spb.n = 16

spb.u1tx = 0.
spb.u1rx = 1.
spb.u2tx = 0.
spb.u2rx = 1.
spb.u1ty = 0.
spb.u1ry = 1.
spb.u2ty = 0.
spb.u2ry = 1.
spb.v1tx = 0.
spb.v1rx = 1.
spb.v2tx = 0.
spb.v2rx = 1.
spb.v1ty = 0.
spb.v1ry = 1.
spb.v2ty = 0.
spb.v2ry = 1.
spb.w1tx = 0.
spb.w1rx = 1.
Пример #5
0
from compmech.stiffpanelbay import StiffPanelBay

spb = StiffPanelBay()
spb.a = 2.
spb.b = 1.
spb.r = 10.
spb.stack = [0, 90, 90, 0, -45, +45]
spb.plyt = 1e-3*0.125
spb.laminaprop = (142.5e9, 8.7e9, 0.28, 5.1e9, 5.1e9, 5.1e9)
spb.model = 'cpanel_clt_donnell_bardell'
spb.mu = 1.3e3
spb.m = 13
spb.n = 14

spb.add_panel(y1=0, y2=spb.b/3., plyt=spb.plyt, Nxx=-100.)
spb.add_panel(y1=spb.b/3., y2=2*spb.b/3., plyt=spb.plyt, Nxx=-100.)
spb.add_panel(y1=2*spb.b/3., y2=spb.b, plyt=spb.plyt, Nxx=-100.)

spb.add_bladestiff1d(ys=spb.b/3., Fx=-100., bf=0.05,
                     fstack=[0, 90, 90, 0]*4, fplyt=spb.plyt,
                     flaminaprop=spb.laminaprop)
spb.add_bladestiff1d(ys=2*spb.b/3., Fx=-100., bf=0.05,
                     fstack=[0, 90, 90, 0]*4, fplyt=spb.plyt,
                     flaminaprop=spb.laminaprop)

spb.lb(silent=False)

print 'Fx', spb.bladestiff1ds[0].Fx
print 'ys', spb.bladestiff1ds[0].ys
print 'bf', spb.bladestiff1ds[0].bf
print 'df', spb.bladestiff1ds[0].df