Skip to content

Instantly share code, notes, and snippets.

@nickelpro
Created June 16, 2019 05:31
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save nickelpro/4a8388860e6e3da03b966a1b78f1ee29 to your computer and use it in GitHub Desktop.
Save nickelpro/4a8388860e6e3da03b966a1b78f1ee29 to your computer and use it in GitHub Desktop.
# References:
# WHOI TECHNICAL MEMORANDUM 3-81
# Roark's Formulas for Stress and Strain, 7th Edition
mpa_per_foot_sw = 0.003033693
mpa_hy_steel_youngs_modulus = 207000
hy_steel_poissons_ratio = 0.30
mpa_hy80_yield_strength = 550
mpa_hy100_yield_strength = 900
in_ssn21_beam = 41 * 12
in_ssn688_beam = 33 * 12
def calc_buckling_pressure(
youngs_modulus,
poissons_ratio,
thickness,
wall_diameter
):
return (
((thickness / wall_diameter) ** 3) *
((2 * youngs_modulus) / (1 - poissons_ratio ** 2))
)
def calc_buckling_pressure2(
youngs_modulus,
poissons_ratio,
td
):
return (
((td) ** 3) *
((2 * youngs_modulus) / (1 - poissons_ratio ** 2))
)
def calc_td(
pressure,
youngs_modulus,
poissons_ratio
):
return (pressure * ((1 - poissons_ratio ** 2) / (2 * youngs_modulus))) ** (1/3)
def calc_collapse_pressure(
yield_strength,
thickness,
wall_diameter
):
return (
yield_strength *
(1 - ((1 - 2*(thickness/wall_diameter)) ** 2))
)
def calc_depth(mpa_pressure):
return mpa_pressure/mpa_per_foot_sw
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment