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:

a : float

Total length of the assembly (along x).

b : float

Total width of the assembly (along y).

ys : float

Position of the stiffener along y.

bb : float

Stiffener’s base width.

bf : float

Stiffener’s flange width.

defect_a : float

Debonding defect/assembly length ratio.

mu : float

Material density.

plyt : float

Ply thickness.

laminaprop : list or tuple

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

stack_skin : list or tuple

Stacking sequence for the skin.

stack_base : list or tuple

Stacking sequence for the stiffener’s base.

stack_flange : list or tuple

Stacking sequence for the stiffener’s flange.

Nxx_skin : float

Skin load distributed at the assembly edge at x=0.

Nxx_base : float

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

Nxx_flange : float

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

run_static_case : bool, 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.

r : float or None, optional

Radius of the stiffened panel.

m, n : int, optional

Number of terms of the approximation function for the skin.

mb, nb : int, optional

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

mf, nf : int, optional

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

nx, ny, nxb, nyb, nxf, nyf : int, 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:

a : float

Total length of the assembly (along x).

b : float

Total width of the assembly (along y).

ys : float

Position of the stiffener along y.

bb : float

Stiffener’s base width.

bf : float

Stiffener’s flange width.

defect_a : float

Debonding defect/assembly length ratio.

mu : float

Material density.

plyt : float

Ply thickness.

laminaprop : list or tuple

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

stack_skin : list or tuple

Stacking sequence for the skin.

stack_base : list or tuple

Stacking sequence for the stiffener’s base.

stack_flange : list or tuple

Stacking sequence for the stiffener’s flange.

air_speed : float

Airflow speed.

rho_air : float

Air density.

Mach : float

Mach number.

speed_sound : float

Speed of sound.

flow : “x” or “y”

Direction of airflow.

Nxx_skin : float

Skin load distributed at the assembly edge at x=0.

Nxx_base : float

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

Nxx_flange : float

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

run_static_case : bool, 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.

r : float or None, optional

Radius of the stiffened panel.

m, n : int, optional

Number of terms of the approximation function for the skin.

mb, nb : int, optional

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

mf, nf : int, 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], 1423.254820+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:

a : float

Total length of the assembly (along x).

b : float

Total width of the assembly (along y).

ys : float

Position of the stiffener along y.

bb : float

Stiffener’s base width.

bf : float

Stiffener’s flange width.

defect_a : float

Debonding defect/assembly length ratio.

mu : float

Material density.

plyt : float

Ply thickness.

laminaprop : list or tuple

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

stack_skin : list or tuple

Stacking sequence for the skin.

stack_base : list or tuple

Stacking sequence for the stiffener’s base.

stack_flange : list or tuple

Stacking sequence for the stiffener’s flange.

r : float or None, optional

Radius of the stiffened panel.

m, n : int, optional

Number of terms of the approximation function for the skin.

mb, nb : int, optional

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

mf, nf : int, 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)