Dimensjonering av en trykktank

I en tynnvegget sylinderisk trykktank, er spenninger i veggen til den sylindriske delen av trykktanken gitt ved

\begin{equation} \sigma_x = \frac{Pr}{2t} \tag{1} \end{equation}\begin{equation} \sigma_y = \frac{Pr}{t} \tag{2} \end{equation}

hvor $P$ er trykket, $r$ er radius og $t$ er veggtykkelse. Spenningen $\sigma_x$ er i lengderetningen av tanken mens $\sigma_y$ virker i tangentiell retning.

image.png

Vi skal nå dimensjonere en trykktank med radius lik 500 mm som skal motstå et trykk på 10 bar. Materialet er et rustfritt stål med flytestyrke lik 400 MPa.

Første iterasjon:

In [1]:
r =         500     # mm
P =          10     # MPa (=100 bar)
E =      190000     # MPa
s_yield =   400     # MPa

t =           5     # mm, bare gjetter

sigx = (P*r)/(2*t)
sigy = (P*r)/(1*t)

print('sigx = {:.1f} MPa, sigy = {:.1f} MPa når t = {:.2f} mm.'.format(sigx,sigy,t))
sigx = 500.0 MPa, sigy = 1000.0 MPa når t = 5.00 mm.

Den største spenningen, $\sigma_y$, er nå 2.5 ganger høyere enn flytestyrken. Om spennigen skal være lik flytestyrken, må tykkelsen økes tilsvarende.

Vi kan selvsagt løse (2) for $t$ med $\sigma_y = \sigma_{yield}$ slik at

$$\sigma_{yield} = \frac{Pr}{t} \Rightarrow t = \frac{Pr}{\sigma_{yield}}$$
In [2]:
r =         500     # mm
P =          10     # MPa (=100 bar)
E =      190000     # MPa
s_yield =   400     # MPa

t = P*r/s_yield 

sigx = (P*r)/(2*t)
sigy = (P*r)/(1*t)

print('sigx = {:.1f} MPa, sigy = {:.1f} MPa når t = {:.2f} mm.'.format(sigx,sigy,t))
sigx = 200.0 MPa, sigy = 400.0 MPa når t = 12.50 mm.

Nå er der imidlertid to spenningskomponenter ulik null, og dette har betydning for når det oppstår plastisk deformasjon.

Von Mises spenningen for en generell spenningstilstand er

$$\sigma _{v}=\sqrt{\frac {1}{2}\big((\sigma_{x}-\sigma_{y})^{2}+(\sigma_{y}-\sigma_{z})^{2}+(\sigma_{z}-\sigma_{x})^{2}+6(\tau_{xy}^{2}+\tau_{yz}^{2}+\tau_{xz}^{2})\big)}$$

Når kun $\sigma_x \ne 0$ og $\sigma_y \ne 0 $ kan dette forenkles til:

\begin{equation} \sigma _{v}=\sqrt{\frac {1}{2}\big((\sigma_{x}-\sigma_{y})^{2}+\sigma_{y}^{2}+\sigma_{x}^{2}\big)} \tag{3} \end{equation}
In [3]:
s_mises = ( 0.5*( (sigx-sigy)**2 + sigy**2 + sigx**2 ))**0.5
print('Mises spenning = {:.1f} MPa'.format(s_mises))
Mises spenning = 346.4 MPa

Mises spennigen er altså under flytestyrken, så tykkelsen kan reduseres til noe mindre enn 12.5 mm.

Nå blir det ikke like greit å løse for $t$ (bare prøv med (1) og (2) substituert inn i (3)...).

Derimot kan vi definere en eksponeringsfaktor som

$$f_e = \frac{\sigma_v}{\sigma_{yield}}$$

Denne vil ha følgende tolking:

$$f_e \ge 1 \rightarrow \text{ flyt}$$$$f_e \lt 1 \rightarrow \text{ ikke flyt}$$

Dessuten angir den proporsjonalitet: Dersom f.eks. $f_e = 0.5$, er 50% av flytstyrken utnyttet, og lasten (trykket) kan økes til det dobbelte, eller tykkelsen kan halveres.

In [4]:
fe = s_mises/s_yield
print('Eksponeringsfaktor fe = {:.2f} når t = {:.2f}'.format(fe,t))
Eksponeringsfaktor fe = 0.87 når t = 12.50

Dette betyr at tykkelsen kan reduseres med en faktor tilsvarende eksponeringsfaktoren:

In [5]:
t = t*fe        # mm

sigx = (P*r)/(2*t)
sigy = (P*r)/(1*t)

s_mises = ( 0.5*( (sigx-sigy)**2 + sigy**2 + sigx**2 ))**0.5

fe = s_mises/s_yield

print('Tykkelse er nå {:.2f} mm'.format(t))
print('sigx = {:.1f} MPa, sigy = {:.1f} MPa'.format(sigx,sigy))
print('Mises spenning = {:.1f} MPa og eksponeringsfaktor fe = {:.2f}'.format(s_mises,fe))
Tykkelse er nå 10.83 mm
sigx = 230.9 MPa, sigy = 461.9 MPa
Mises spenning = 400.0 MPa og eksponeringsfaktor fe = 1.00

La oss så anta at vi vil ha en sikkerhetsfaktor lik 2. Dette er ekvivalent med at eksponeringsfaktoren skal være 0.5. Tykkelsen må dermed økes med denne sikkerhetsfaktoren:

In [6]:
sf = 2       # 'sikkerhetsfaktor' (invers utnyttelsesgrad av flytestyrke)
t = t*sf     # oppdaterer til ny dimensjonert tykkelse

sigx = (P*r)/(2*t)
sigy = (P*r)/(1*t)

s_mises = ( 0.5*( (sigx-sigy)**2 + sigy**2 + sigx**2 ))**0.5

fe = s_mises/s_yield

print('Tykkelse er nå {:.2f} mm'.format(t))
print('sigx = {:.1f} MPa, sigy = {:.1f} MPa'.format(sigx,sigy))
print('Mises spenning = {:.1f} MPa og eksponeringsfaktor fe = {:.2f}'.format(s_mises,fe))
Tykkelse er nå 21.65 mm
sigx = 115.5 MPa, sigy = 230.9 MPa
Mises spenning = 200.0 MPa og eksponeringsfaktor fe = 0.50

Tanken skal dessuten konstrueres for betingelsen lekasje før brudd, som betyr at en sprekk skal kunne vokse stabilt gjennom hele tykkelsen.

Altså: en overflatesprekk med lengde $a=t$ skal ikke føre til katastrofalt brudd.

Fra Bruddmekanikk:

$$K_{I} = Y \sigma \sqrt{\pi a}$$
In [7]:
a = t*0.001    # konverterer til meter
Y = 1.5        # antagelse, forhåpentligvis konservativ...

from math import pi

KI = Y*sigy*((pi*a)**0.5)

print('KI = {:.1f} MPa m^0.5 når Y = {}' .format(KI,Y))
KI = 90.3 MPa m^0.5 når Y = 1.5

Vilkåret for at det ikke skal oppstå et katastrofalt brudd før lekasje, er dermed at bruddseigheten $K_{Ic}$ må være større en den beregnede spenningsintensitetsfaktoren $K_I$

Setter det hele sammen til en funksjon:

In [8]:
def trykktankdesign(r, P, s_yield, sf, KIC, Y):
    t = 1
    sigx, sigy = (P*r)/(2*t)  ,   (P*r)/(1*t)
    s_mises = ( 0.5*( (sigx-sigy)**2 + sigy**2 + sigx**2 ))**0.5
    fe = s_mises/s_yield
    t=t*sf*fe
    sigx, sigy = (P*r)/(2*t)  ,   (P*r)/(1*t)
    s_mises = ( 0.5*( (sigx-sigy)**2 + sigy**2 + sigx**2 ))**0.5
    a = t*0.001
    from math import pi
    KI = Y*sigy*((pi*a)**0.5)
    print('sigx = {:.1f} MPa, sigy = {:.1f} MPa'.format(sigx,sigy))
    print('Mises spenning = {:.1f} MPa, flytestyrken er {:.1f}'.format(s_mises,s_yield))
    print('Tykkelsen er nå {:.2f} mm'.format(t))
    print('KI = {:.1f} MPa m^0.5 når Y = {}' .format(KI,Y))
    if KI > KIC:
        print('Det blir IKKE lekasje før poff siden KI = {:.1f} > KIC = {:.1f}'.format(KI,KIC))
    else:
        print('Det BLIR lekasje før poff siden KI = {:.1f} < KIC = {:.1f}'.format(KI,KIC))

Noen alternative eksempler:

In [9]:
trykktankdesign(r=500, P=10, s_yield = 400, sf=2, KIC = 100, Y=1.5)
sigx = 115.5 MPa, sigy = 230.9 MPa
Mises spenning = 200.0 MPa, flytestyrken er 400.0
Tykkelsen er nå 21.65 mm
KI = 90.3 MPa m^0.5 når Y = 1.5
Det BLIR lekasje før poff siden KI = 90.3 < KIC = 100.0
In [10]:
trykktankdesign(r=500, P=10, s_yield = 200, sf=2, KIC = 100, Y=1.5)
sigx = 57.7 MPa, sigy = 115.5 MPa
Mises spenning = 100.0 MPa, flytestyrken er 200.0
Tykkelsen er nå 43.30 mm
KI = 63.9 MPa m^0.5 når Y = 1.5
Det BLIR lekasje før poff siden KI = 63.9 < KIC = 100.0
In [11]:
trykktankdesign(r=500, P=10, s_yield = 600, sf=1.5, KIC = 100, Y=1.5)
sigx = 230.9 MPa, sigy = 461.9 MPa
Mises spenning = 400.0 MPa, flytestyrken er 600.0
Tykkelsen er nå 10.83 mm
KI = 127.8 MPa m^0.5 når Y = 1.5
Det blir IKKE lekasje før poff siden KI = 127.8 > KIC = 100.0

Disclaimer:This site is designed for educational purposes only. There are most likely errors, mistakes, typos, and poorly crafted statements that are not detected yet... www.ntnu.edu/employees/nils.p.vedvik

Copyright 2023, All rights reserved