Upheaval Buckling Tools#

class pysubsea.upheaval_buckling_tools.PropType(*, bending_stiffness=0.0, submerged_weight=0.0, propped_shape_height=0.0, euler_wave_number=1)[source]#

Bases: object

Class for calculating the properties of natural prop-type imperfections.

Parameters:
  • bending_stiffness (float or array-like, optional) – Bending stiffness for the condition of interest.

  • submerged_weight (float or array-like, optional) – Submerged weight for the condition of interest.

  • propped_shape_height (float or array-like, optional) – Imperfection height for the condition of interest. euler_wave_number : int, optional Euler wave number for the condition of interest. Default is 1 (first wave). Common values are pinned-pinned: m=1,2,3,…; fixed-fixed: m=2,3,4,…;

propped_type_length()[source]#

Compute natural prop-type imperfection length.

Returns:

length – Natural prop-type imperfection length.

Return type:

np.ndarray

Examples

>>> prop = PropType(
...     bending_stiffness=[18272109.437121, 37864772.21769765],
...     submerged_weight=[695.39794758, 1029.76124826],
...     propped_shape_height=[0.5, 0.5]
... )
>>> prop.propped_type_length()
array([62.372..., 67.839...])
propped_shape_buckling_force()[source]#

Compute propped shape buckling force.

The equation used is:

P = 4 * (EI * Ws / h)^(1/2)

where:

  • P is the propped-shape buckling force,

  • EI is the bending stiffness,

  • Ws is the submerged weight, and

  • h is the propped-shape imperfection height.

Returns:

propped_shape_buckling_force – Propped shape lateral buckling force.

Return type:

np.ndarray

Examples

>>> prop = PropType(
...     bending_stiffness=[18272109.437121, 37864772.21769765],
...     submerged_weight=[695.39794758, 1029.76124826],
...     propped_shape_height=[0.5, 0.5]
... )
>>> prop.propped_shape_buckling_force()
array([ 637655.3903..., 1117019.9655...])
euler_buckling_force()[source]#

Compute Euler buckling force using wave-number index m.

The expression used is:

Pm = m^2 * pi^2 * EI / L^2

where L is the natural prop-type imperfection length from propped_type_length() and m is taken from euler_wave_number.

Common values of m by boundary condition are:

  • pinned-pinned: m = 1, 2, 3, ...

  • fixed-fixed: m = 2, 2.861, 3, 4, ...

Returns:

euler_buckling_force – Euler critical buckling force, Pm.

Return type:

np.ndarray

Examples

>>> prop = PropType(
...     bending_stiffness=[18272109.4, 18272109.4, 37864772.2, 37864772.2],
...     submerged_weight=[695.4, 695.4, 1029.8, 1029.8],
...     propped_shape_height=[0.5, 0.5, 0.5, 0.5],
...     euler_wave_number=[1, 2, 1, 2],
... )
>>> np.round(prop.euler_buckling_force(), 4)
array([ 46355.3848, 185421.5391,  81204.9721, 324819.8885])