Blade-Stiffened Cylinder¶
-
compmech.panel.assembly.cylinder_blade_stiffened.
create_cylinder_blade_stiffened
(height, r, stack, stack_blades, width_blades, plyt, laminaprop, npanels, m=8, n=8)[source]¶ Cylinder Assembly
The panel assembly looks like:
B A _______ _______ _______ _______ | | | | | | | | | | | | | | | | p04 | p03 | p02 | p01 | | | | | | | | | | | |_______|_______|_______|_______| Blade Blade Blade Blade 04 03 02 01 _ _ _ _ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |_| |_| |_| |_| x /\ | | y <-------
where edges
A
andB
are connected to produce the cyclic effect.Parameters: height : float
Cylinder height (along x).
r : float
Cylinder radius.
stack : array-like
Stacking sequence for the cylinder.
stack_blades : list of array-like
The stacking sequence for each blade (with length = npanels).
width_blades : array-like
The width for each blade (with length = npanels).
plyt : float
Ply thickness (assumed unique for the whole structure).
laminaprop : list or tuple
Orthotropic lamina properties: E_1, E_2, \nu_{12}, G_{12}, G_{13}, G_{23}.
npanels : int
The number of panels the cylinder perimiter.
m, n : int, optional
Number of approximation terms for each panel.
Returns: assy, conns : tuple
A tuple containing the assembly and the default connectivity list of dictionaries.
-
compmech.panel.assembly.cylinder_blade_stiffened.
cylinder_blade_stiffened_compression_lb_Nxx_cte
(height, r, stack, stack_blades, width_blades, plyt, laminaprop, npanels, Nxxs_skin, Nxxs_blade, m=8, n=8, num_eigvalues=20)[source]¶ Linear buckling analysis with a constant Nxx for each panel
See
create_cylinder_blade_stiffened()
for most parameters.Parameters: Nxxs_skin : list
A Nxx for each skin panel.
Nxxs_blade : list
A Nxx for each blade stiffener.
num_eigvalues : int
Number of eigenvalues to be extracted.
Returns: assy, eigvals, eigvecs : tuple
Assembly, eigenvalues and eigenvectors.
Examples
The following example is one of the test cases:
def test_cylinder_blade_stiffened_compression_lb_Nxx_cte(): print('Testing assembly function: cylinder_blade_stiffened_compression_lb_Nxx_cte') height = 0.500 r = 0.250 npanels = 5 Nxxs = [-100.]*npanels assy, eigvals, eigvecs = cylinder_blade_stiffened_compression_lb_Nxx_cte( height=height, r=r, plyt=0.125e-3, stack=[0, 45, -45, 90, -45, 45], stack_blades=[[0, 90, 0]*4]*npanels, width_blades=[0.02]*npanels, laminaprop=(142.5e9, 8.7e9, 0.28, 5.1e9, 5.1e9, 5.1e9), npanels=npanels, Nxxs_skin=Nxxs, Nxxs_blade=Nxxs, m=8, n=12) assy.plot(eigvecs[:, 0], 'skin', filename='tmp_cylinder_blade_stiffened_compression_lb_Nxx_cte.png') assert np.isclose(Nxxs[0]*eigvals[0], -56569.62172, atol=0.01, rtol=0.001)
-
compmech.panel.assembly.cylinder_blade_stiffened.
cylinder_blade_stiffened_compression_lb_Nxx_from_static
(height, r, stack, stack_blades, width_blades, plyt, laminaprop, npanels, Nxxs_skin, Nxxs_blade, m=8, n=8, num_eigvalues=20)[source]¶ Linear buckling analysis with a Nxx calculated using static analysis
See
create_cylinder_blade_stiffened()
for most parameters.Parameters: Nxxs_skin : list
A Nxx for each skin panel.
Nxxs_blade : list
A Nxx for each blade stiffener.
num_eigvalues : int
Number of eigenvalues to be extracted.
Returns: assy, c, eigvals, eigvecs : tuple
Assembly, static results, eigenvalues and eigenvectors.
Examples
The following example is one of the test cases: