Python: Ermitteln Sie die erforderliche Plattendicke für den Grenzknickdruck des freiliegenden Rohrs nach der Brent-Methode

Ich werde weiterhin ein weiteres Beispiel für eine numerische Berechnung nach der Brent-Methode hochladen, das ich bei Bedarf mache. "Python ist praktisch!"

Der Grenzknickdruck des freiliegenden hydraulischen Eisenrohrs wird nach der folgenden Formel berechnet.

\begin{equation}
p_k=\cfrac{2\cdot E_s}{1-\nu_s{}^2}\cdot \left(\cfrac{t}{D_0'}\right)^3
\end{equation}
$ p_k $ Begrenzen Sie den Knickdruck des Eisenrohrs
$ t $ Plattendicke (ohne Randdicke)
$ D_0 '$ Entworfener Außendurchmesser
$ E_s $ Eisenrohrelastizität (= 206.000 MPa)
$ \ nu_s $ Poisson-Verhältnis des Eisenrohrs (= 0,3)

Hier beträgt die normale Randdicke $ \ epsilon = 1,5 mm $, und die Konstruktionsplattendicke $ t_0 $ einschließlich der Randdicke und des Designaußendrucks $ D_0 '$ wird wie folgt berechnet.

\begin{equation}
t_0=t+\epsilon \qquad
D_0'=D_0+t_0
\end{equation}

Hier ist $ D_0 $ der Konstruktionsinnendurchmesser.

Bei freiliegenden hydraulischen Eisenrohren sehen die technischen Normen für Wassertor-Eisenrohre vor, dass sie so ausgelegt sind, dass sie bei Wasserablauf einem Außendruck von 0,02 MPa (tatsächlich einem Unterdruck) standhalten. Für die hierfür erforderliche Plattendicke ist es erforderlich, die Plattendicke so zu bestimmen, dass der kritische Knickdruck $ p_k = 0,03 MPa $ oder mehr unter der Annahme einer Sicherheitsrate von 1,5 erwartet wird.

Betrachten Sie hier die Berechnung der Plattendicke, die den gegebenen kritischen Knickdruck nach der Brent-Methode erfüllt. Durch Modifizieren der Berechnungsformel für den kritischen Knickdruck kann die folgende nichtlineare Gleichung, so dass $ f = 0 $ ist, für $ t $ gelöst werden.

\begin{equation}
f=p_k-\cfrac{2\cdot E_s}{1-\nu_s{}^2}\cdot \left(\cfrac{t}{D_0+t+\epsilon}\right)^3=0
\end{equation}

Die zwei für die Brent-Methodenlösung erforderlichen Anfangswerte werden im Programm als "t1 = 1,0, t2 = 50,0" angegeben.

Ein Programmbeispiel ist unten dargestellt.

import numpy as np
from scipy import optimize


def func(t,d0,eps,pk):
    Es=206000 # elastic modulus of steel
    po=0.3    # Poisson's ratio of steel
    f=pk-2*Es/(1-po**2)*(t/(d0+t+eps))**3
    return f


def main():
    d0=4000.0 # internal diameter of penstock
    eps=1.5   # corrosion alloowance
    pk=0.03   # critical buckling pressure
    t1=1.0    # initial value for Brent method
    t2=50.0   # initial value for Brent method
    tt=optimize.brentq(func,t1,t2,args=(d0,eps,pk))
    t0=np.ceil(tt+eps) # required plate thickness
    print('t + eps=',tt+eps)
    print('t0=',t0)
   

#==============
# Execution
#==============
if __name__ == '__main__': main() 

Das Berechnungsergebnis ist wie folgt.

t + eps= 17.758192911648965
t0= 18.0

That's all. Thank you.

Recommended Posts

Python: Ermitteln Sie die erforderliche Plattendicke für den Grenzknickdruck des freiliegenden Rohrs nach der Brent-Methode
Pandas des Anfängers, vom Anfänger, für den Anfänger [Python]
Ermitteln Sie den Durchmesser des Diagramms anhand der Suche nach Breitenpriorität (Python-Speicher).
[Python] Verwendung der for-Anweisung. Eine Methode zum Extrahieren durch Angabe eines Bereichs oder von Bedingungen.
Finden Sie das Verhältnis der Fläche des Biwa-Sees nach der Monte-Carlo-Methode
Den Namen der Methode, die ihn aufgerufen hat, finden Sie in der Python-Methode
Python-Lernnotiz für maschinelles Lernen von Chainer bis zum Ende von Kapitel 2