proptools.tank_structure module

Tank structure calculations.

Matt Vernacchia proptools 2015 April 17

proptools.tank_structure.cr_ex_press_cylinder(a, t_c, l_c, E, v)

Critical external pressure difference to buckle a cylindrical tank section.

Implements eqn 8-12 in Huzel and Huang.

Parameters:
  • a – Tank radius [units: meter].
  • t_c – Tank wall thickness [units: meter].
  • l_c – Cylinder length [units: meter].
  • E – Wall material modulus of elasticity [units: pascal].
  • v – Wall material Poisson’s ratio [units: none].
Returns:

pascal].

Return type:

Critical external pressure for buckling [units

proptools.tank_structure.cr_ex_press_ellipse_end(a, b, t, E, C_b=0.05)

Critical external pressure difference to buckle a ellipsoidal tank end.

Implements eqn 8-25 in Huzel and Huang.

Parameters:
  • a – Tank radius [units: meter].
  • a – Semiminor axis [units: meter].
  • t – Wall thickness [units: meter].
  • E – Wall material modulus of elasticity [units: pascal].
  • Cb – Buckling coefficient [units: none].
Returns:

pascal].

Return type:

Critical external pressure for buckling [units

proptools.tank_structure.cr_ex_press_sphere(a, t, E, v)

Critical external pressure difference to buckle a spherical tank.

Implements eqn 8-12 in Huzel and Huang.

Parameters:
  • a – Tank radius [units: meter].
  • t – Wall thickness [units: meter].
  • E – Wall material modulus of elasticity [units: pascal].
  • v – Wall material Poisson’s ratio [units: none].
Returns:

pascal].

Return type:

Critical external pressure for buckling [units

proptools.tank_structure.cr_ex_press_sphere_end(a, t, E)

Critical external pressure difference to buckle a spherical tank end.

Implements eqn 8-26 in Huzel and Huang.

Parameters:
  • a – Tank radius [units: meter].
  • t – Wall thickness [units: meter].
  • E – Wall material modulus of elasticity [units: pascal].
Returns:

pascal].

Return type:

Critical external pressure for buckling [units

proptools.tank_structure.crown_thickness(p_t, R, stress, weld_eff)

Crown thickness of a spherical or ellipsoidal tank end.

Implements eqn 8-16 from Huzel and Huang. The crown is the center of the tank end, see figure 8-6 in Huzel and Huang.

Parameters:
  • p_t – Tank internal pressure (less the ambient pressure) [units: pascal].
  • R – Crown radius [units: meter].
  • stress – Max allowable stress in thank wall material [units: pascal].
  • weld_eff – Weld efficiency, scalar in [0, 1] [units: none].
Returns:

meter].

Return type:

crown thickness [units

proptools.tank_structure.cylinder_mass(a, t_c, l_c, rho)

Mass of a cylindrical tank section.

Parameters:
  • a – Tank radius [units: meter].
  • t_c – Tank wall thickness [units: meter].
  • l_c – Cylinder length [units: meter].
  • rho – Tank material density [units: kilogram meter**-3].
Returns:

mass of spherical tank [kilogram].

proptools.tank_structure.cylinder_thickness(p_t, a, stress, weld_eff)

Thickness of a cylindrical tank section.

Implements eqn 8-28 from Huzel and Huang.

Parameters:
  • p_t – Tank internal pressure (less the ambient pressure) [units: pascal].
  • a – Tank radius [units: meter].
  • stress – Max allowable stress in thank wall material [units: pascal].
  • weld_eff – Weld efficiency, scalar in [0, 1] [units: none].
Returns:

meter].

Return type:

cylinder thickness [units

proptools.tank_structure.cylinder_volume(a, l_c)

Volume enclosed by a cylindrical tank section.

Parameters:
  • a – Tank radius [units: meter].
  • l_c – Cylinder length [units: meter].
Returns:

meter**3].

Return type:

tank volume [units

proptools.tank_structure.ellipse_design_factor(ellipse_ratio)

Get the ellipse design factor K for an ellipse ratio.

Implements eqn bs-16 in Huzel and Huang.

Parameters:ellipse_ratio – Ratio of major and minor axes of ellipse end [units: none].
Returns:none].
Return type:ellipse design factor K for ellipsoidal end stress calculations [units
proptools.tank_structure.ellipse_mass(a, b, t, rho)

Mass of a ellipsoidal tank.

Parameters:
  • a – Tank radius [units: meter].
  • b – Tank semimajor axis [units: meter].
  • t – Tank wall thickness [units: meter].
  • rho – Tank material density [units: kilogram meter**-3].
Returns:

mass of ellipsoidal tank [kilogram].

proptools.tank_structure.ellipse_volume(a, b)

Volume enclosed by a ellipsoidal tank.

Parameters:
  • a – Tank radius (semimajor axis) [units: meter].
  • a – Semiminor axis [units: meter].
Returns:

meter**3].

Return type:

tank volume [units

proptools.tank_structure.knuckle_factor(ellipse_ratio)

Get the knuckle factor K for an ellipse ratio.

Implements the “Envelope Curve for K for Combined Stress” curve from figure 8-7 in Huzel and Huang.

Parameters:ellipse_ratio – Ratio of major and minor axes of ellipse end [units: none].
Returns:none].
Return type:knuckle factor K for ellipsoidal end stress calculations [units
proptools.tank_structure.knuckle_thickness(p_t, a, b, stress, weld_eff)

Knuckle thickness of a ellipsoidal tank end.

Implements eqn 8-15 from Huzel and Huang. The knuckle is the transition from the cylindrical section to the tank end, see figure 8-6 in Huzel and Huang.

Parameters:
  • p_t – Tank internal pressure (less the ambient pressure) [units: pascal].
  • a – Tank radius [units: meter].
  • a – Semiminor axis [units: meter].
  • stress – Max allowable stress in thank wall material [units: pascal].
  • weld_eff – Weld efficiency, scalar in [0, 1] [units: none].
Returns:

meter].

Return type:

knuckle thickness [units

proptools.tank_structure.max_axial_load(p_t, a, t_c, l_c, E)

Maximum compressive axial load that a cylindrical section can support.

Implements eqn 8-33 from Huzel and Huang.

Parameters:
  • p_t – Tank internal pressure (less the ambient pressure) [units: pascal].
  • a – Tank radius [units: meter].
  • t_c – Cylinder wall thickness [units: meter].
  • l_c – Cylinder length [units: meter].
  • E – Wall material modulus of elasticity [units: pascal].
Returns:

newtons].

Return type:

Critical compressive axial load [units

proptools.tank_structure.sphere_mass(a, t, rho)

Mass of a spherical tank.

Parameters:
  • a – Tank radius [units: meter].
  • t – Tank wall thickness [units: meter].
  • rho – Tank material density [units: kilogram meter**-3].
Returns:

mass of spherical tank [kilogram].

proptools.tank_structure.sphere_thickness(p_t, a, stress, weld_eff)

Thickness of a spherical tank.

Implements eqn 8-9 from Huzel and Huang.

Parameters:
  • p_t – Tank internal pressure (less the ambient pressure) [units: pascal].
  • a – Tank radius [units: meter].
  • stress – Max allowable stress in thank wall material [units: pascal].
  • weld_eff – Weld efficiency, scalar in [0, 1] [units: none].
Returns:

meter].

Return type:

sphere thickness [units

proptools.tank_structure.sphere_volume(a)

Volume enclosed by a spherical tank.

Parameters:a – Tank radius [units: meter].
Returns:meter**3].
Return type:tank volume [units