T-Stiffened Panels#

compmech.panel.assembly.tstiff2d_1stiff_compression.tstiff2d_1stiff_compression(a, b, ys, bb, bf, defect_a, mu, plyt, laminaprop, stack_skin, stack_base, stack_flange, Nxx_skin, Nxx_base, Nxx_flange, run_static_case=True, r=None, m=8, n=8, mb=None, nb=None, mf=None, nf=None, nx=None, ny=None, nxb=None, nyb=None, nxf=None, nyf=None)[source]#

Linear Buckling of T-Stiffened panel with debonding defect

The panel assembly looks like:

skin
 _________ _____ _________
|         |     |         |
|         |     |         |
|   p01   | p02 |   p03   |
|         |     |         |
|_________|_____|_________|
|   p04   | p05 |   p06   |      /\  x
|_________|_____|_________|       |
|         |     |         |       |
|         |     |         |       |
|   p07   | p08 |   p09   |
|         |     |         |
|         |     |         |
|_________|_____|_________|
       loaded edge

          base            flange
           _____           _____
          |     |         |     |
          |     |         |     |
          | p10 |         | p11 |
          |     |         |     |
          |_____|         |_____|
          | p12 |         | p13 |
          |_____|         |_____|
          |     |         |     |
          |     |         |     |
          | p14 |         | p15 |
          |     |         |     |
          |     |         |     |
          |_____|         |_____|
       loaded edge     loaded edge

For more details about the theory involved, see [castro2017AssemblyModels].

Parameters:
afloat

Total length of the assembly (along \(x\)).

bfloat

Total width of the assembly (along \(y\)).

ysfloat

Position of the stiffener along \(y\).

bbfloat

Stiffener’s base width.

bffloat

Stiffener’s flange width.

defect_afloat

Debonding defect/assembly length ratio.

mufloat

Material density.

plytfloat

Ply thickness.

laminaproplist or tuple

Orthotropic lamina properties: \(E_1, E_2, \nu_{12}, G_{12}, G_{13}, G_{23}\).

stack_skinlist or tuple

Stacking sequence for the skin.

stack_baselist or tuple

Stacking sequence for the stiffener’s base.

stack_flangelist or tuple

Stacking sequence for the stiffener’s flange.

Nxx_skinfloat

Skin load distributed at the assembly edge at \(x=0\).

Nxx_basefloat

Stiffener’s base load distributed at the assembly edge at \(x=0\).

Nxx_flangefloat

Stiffener’s flange load distributed at the assembly edge at \(x=0\).

run_static_casebool, optional

If True a static analysis is run before the linear buckling analysis to compute the real membrane stress state along the domain, otherwise it is assumed constant values of \(N_{xx}\) for all components.

rfloat or None, optional

Radius of the stiffened panel.

m, nint, optional

Number of terms of the approximation function for the skin.

mb, nbint, optional

Number of terms of the approximation function for the stiffener’s base.

mf, nfint, optional

Number of terms of the approximation function for the stiffener’s flange.

nx, ny, nxb, nyb, nxf, nyfint, optional

Define of integration points used for skin, stiffener’s base or flange; along x and y. Keeping None will use the default (see Panel).

Examples

The following example is one of the test cases:

def test_tstiff2d_1stiff_compression():
    print('Testing assembly function: tstiff2d_1stiff_compression')
    b = 1.
    bb = b/5.
    bf = bb/2.
    ys = b/2.
    assy, eigvals, eigvecs = tstiff2d_1stiff_compression(
        b=b,
        bb=bb,
        bf=bf,
        a=3.,
        ys=ys,
        defect_a=0.6,
        mu=1.3e3,
        plyt=0.125e-3,
        laminaprop=(142.5e9, 8.7e9, 0.28, 5.1e9, 5.1e9, 5.1e9),
        stack_skin=[0, 45, -45, 90, -45, 45, 0],
        stack_base=[0, 90, 0]*4,
        stack_flange=[0, 90, 0]*8,
        m=8, n=7,
        mb=7, nb=6,
        mf=8, nf=6,
        run_static_case=False,
        Nxx_skin=-1.,
        Nxx_base=-1.,
        Nxx_flange=-1.,
        )
    assert np.isclose(eigvals[0], 142.65057725, rtol=0.001)

    assy, c, eigvals, eigvecs = tstiff2d_1stiff_compression(
        b=b,
        bb=bb,
        bf=bf,
        a=3.,
        ys=ys,
        defect_a=0.6,
        mu=1.3e3,
        plyt=0.125e-3,
        laminaprop=(142.5e9, 8.7e9, 0.28, 5.1e9, 5.1e9, 5.1e9),
        stack_skin=[0, 45, -45, 90, -45, 45, 0],
        stack_base=[0, 90, 0]*4,
        stack_flange=[0, 90, 0]*8,
        m=8, n=7,
        mb=7, nb=6,
        mf=8, nf=6,
        run_static_case=True,
        Nxx_skin=-1.,
        Nxx_base=-1.,
        Nxx_flange=-1.,
        )
    assert np.isclose(eigvals[0], 114.85854770879844, rtol=0.001)
compmech.panel.assembly.tstiff2d_1stiff_flutter.tstiff2d_1stiff_flutter(a, b, ys, bb, bf, defect_a, mu, plyt, laminaprop, stack_skin, stack_base, stack_flange, air_speed=None, rho_air=None, Mach=None, speed_sound=None, flow='x', Nxx_skin=None, Nxx_base=None, Nxx_flange=None, run_static_case=True, r=None, m=8, n=8, mb=None, nb=None, mf=None, nf=None)[source]#

Flutter of T-Stiffened Panel with possible defect at middle

For more details about each parameter and the aerodynamic formulation see Ref. [castro2016FlutterPanel] .

The panel assembly looks like:

skin
 _________ _____ _________
|         |     |         |
|         |     |         |
|   p01   | p02 |   p03   |
|         |     |         |
|_________|_____|_________|
|   p04   | p05 |   p06   |      /\  x
|_________|_____|_________|       |
|         |     |         |       |
|         |     |         |       |
|   p07   | p08 |   p09   |
|         |     |         |
|         |     |         |
|_________|_____|_________|
       loaded edge

          base            flange
           _____           _____
          |     |         |     |
          |     |         |     |
          | p10 |         | p11 |
          |     |         |     |
          |_____|         |_____|
          | p12 |         | p13 |
          |_____|         |_____|
          |     |         |     |
          |     |         |     |
          | p14 |         | p15 |
          |     |         |     |
          |     |         |     |
          |_____|         |_____|
       loaded edge     loaded edge
Parameters:
afloat

Total length of the assembly (along \(x\)).

bfloat

Total width of the assembly (along \(y\)).

ysfloat

Position of the stiffener along \(y\).

bbfloat

Stiffener’s base width.

bffloat

Stiffener’s flange width.

defect_afloat

Debonding defect/assembly length ratio.

mufloat

Material density.

plytfloat

Ply thickness.

laminaproplist or tuple

Orthotropic lamina properties: \(E_1, E_2, \nu_{12}, G_{12}, G_{13}, G_{23}\).

stack_skinlist or tuple

Stacking sequence for the skin.

stack_baselist or tuple

Stacking sequence for the stiffener’s base.

stack_flangelist or tuple

Stacking sequence for the stiffener’s flange.

air_speedfloat

Airflow speed.

rho_airfloat

Air density.

Machfloat

Mach number.

speed_soundfloat

Speed of sound.

flow“x” or “y”

Direction of airflow.

Nxx_skinfloat

Skin load distributed at the assembly edge at \(x=0\).

Nxx_basefloat

Stiffener’s base load distributed at the assembly edge at \(x=0\).

Nxx_flangefloat

Stiffener’s flange load distributed at the assembly edge at \(x=0\).

run_static_casebool, optional

If True a static analysis is run before the linear buckling analysis to compute the real membrane stress state along the domain, otherwise it is assumed constant values of \(N_{xx}\) for all components.

rfloat or None, optional

Radius of the stiffened panel.

m, nint, optional

Number of terms of the approximation function for the skin.

mb, nbint, optional

Number of terms of the approximation function for the stiffener’s base.

mf, nfint, optional

Number of terms of the approximation function for the stiffener’s flange.

Examples

The following example is one of the test cases:

def test_tstiff2d_1stiff_flutter():
    print('Testing assembly function: tstiff2d_1stiff_flutter')
    b = 1.
    bb = b/5.
    bf = bb/2.
    ys = b/2.
    assy, c, eigvals, eigvecs = tstiff2d_1stiff_flutter(
        b=b,
        bb=bb,
        bf=bf,
        a=3.,
        ys=ys,
        defect_a=0.1,
        mu=1.3e3,
        plyt=0.125e-3,
        laminaprop=(142.5e9, 8.7e9, 0.28, 5.1e9, 5.1e9, 5.1e9),
        stack_skin=[0, 45, -45, 90, -45, 45, 0],
        stack_base=[0, 90, 0]*4,
        stack_flange=[0, 90, 0]*8,
        m=6, n=7,
        mb=5, nb=6,
        mf=6, nf=7,
        air_speed=800.,
        rho_air=1500.,
        Mach=2.,
        speed_sound=343.,
        run_static_case=True,
        )
    assert np.isclose(eigvals[0], 958.7080550167907+0.j, rtol=0.001)
compmech.panel.assembly.tstiff2d_1stiff_freq.tstiff2d_1stiff_freq(a, b, ys, bb, bf, defect_a, mu, plyt, laminaprop, stack_skin, stack_base, stack_flange, r=None, m=8, n=8, mb=None, nb=None, mf=None, nf=None)[source]#

Frequency T-Stiffened Panel with possible defect at middle

For more details about each parameter and the aerodynamic formulation see Ref. [castro2016FlutterPanel] .

For more details about the theory involved on the assembly of panels, see [castro2017AssemblyModels].

The panel assembly looks like:

skin
 _________ _____ _________
|         |     |         |
|         |     |         |
|   p01   | p02 |   p03   |
|         |     |         |
|_________|_____|_________|
|   p04   | p05 |   p06   |
|_________|_____|_________|
|         |     |         |
|         |     |         |
|   p07   | p08 |   p09   |
|         |     |         |
|         |     |         |
|_________|_____|_________|

          base            flange
           _____           _____
          |     |         |     |
          |     |         |     |
          | p10 |         | p11 |
          |     |         |     |
          |_____|         |_____|
          | p12 |         | p13 |
          |_____|         |_____|
          |     |         |     |
          |     |         |     |
          | p14 |         | p15 |
          |     |         |     |
          |     |         |     |
          |_____|         |_____|
Parameters:
afloat

Total length of the assembly (along \(x\)).

bfloat

Total width of the assembly (along \(y\)).

ysfloat

Position of the stiffener along \(y\).

bbfloat

Stiffener’s base width.

bffloat

Stiffener’s flange width.

defect_afloat

Debonding defect/assembly length ratio.

mufloat

Material density.

plytfloat

Ply thickness.

laminaproplist or tuple

Orthotropic lamina properties: \(E_1, E_2, \nu_{12}, G_{12}, G_{13}, G_{23}\).

stack_skinlist or tuple

Stacking sequence for the skin.

stack_baselist or tuple

Stacking sequence for the stiffener’s base.

stack_flangelist or tuple

Stacking sequence for the stiffener’s flange.

rfloat or None, optional

Radius of the stiffened panel.

m, nint, optional

Number of terms of the approximation function for the skin.

mb, nbint, optional

Number of terms of the approximation function for the stiffener’s base.

mf, nfint, optional

Number of terms of the approximation function for the stiffener’s flange.

Examples

The following example is one of the test cases:

def test_tstiff2d_1stiff_freq():
    print('Testing assembly function: tstiff2d_1stiff_freq')
    b = 1.
    bb = b/5.
    bf = bb/2.
    ys = b/2.
    assy, eigvals, eigvecs = tstiff2d_1stiff_freq(
        b=b,
        bb=bb,
        bf=bf,
        a=3.,
        ys=ys,
        defect_a=0.1,
        mu=1.3e3,
        plyt=0.125e-3,
        laminaprop=(142.5e9, 8.7e9, 0.28, 5.1e9, 5.1e9, 5.1e9),
        stack_skin=[0, 45, -45, 90, -45, 45, 0],
        stack_base=[0, 90, 0]*4,
        stack_flange=[0, 90, 0]*8,
        m=6, n=7,
        mb=5, nb=6,
        mf=6, nf=7,
        )
    assert np.isclose(eigvals[0], 48.440425531703042+0.j, atol=0.001)