Python: Trouvez l'épaisseur de plaque requise pour la pression limite de flambage du tube exposé par la méthode Brent

Je continuerai à télécharger un autre exemple de calcul numérique par la méthode Brent, que je fais si nécessaire. "Python est pratique!"

La pression limite de flambage du tuyau en fer hydraulique exposé est calculée par la formule suivante.

\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 $ Limiter la pression de flambement du tuyau en fer
$ t $ Épaisseur de la plaque (hors épaisseur de la marge)
$ D_0 '$ Diamètre extérieur de conception
$ E_s $ Élasticité du tube de fer (= 206 000MPa)
$ \ nu_s $ Coefficient de Poisson du tuyau en fer (= 0,3)

Ici, l'épaisseur de marge normale est $ \ epsilon = 1,5 mm $, et l'épaisseur de la plaque de conception $ t_0 $ comprenant l'épaisseur de la marge et la pression externe de conception $ D_0 '$ sont calculées comme suit.

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

Ici, $ D_0 $ est le diamètre intérieur de conception.

Dans le cas des conduites hydrauliques en fer exposées, les normes techniques relatives aux conduites en fer à guillotine stipulent qu'elles doivent être conçues pour résister à une pression externe de 0,02 MPa (en fait une pression négative) en cas de drainage de l'eau. Quant à l'épaisseur de plaque requise pour cela, il est nécessaire de déterminer l'épaisseur de la plaque de sorte que la pression de flambement critique $ p_k = 0,03 MPa $ ou plus soit attendue, en supposant un taux de sécurité de 1,5.

Ici, envisagez de calculer l'épaisseur de la plaque qui satisfait la pression de flambement critique donnée par la méthode de Brent. En modifiant la formule de calcul de la pression de flambement critique, l'équation non linéaire suivante telle que $ f = 0 $ peut être résolue pour $ t $.

\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}

Les deux valeurs initiales requises pour la solution de la méthode Brent sont données sous la forme t1 = 1.0, t2 = 50.0``` dans le programme.

Un exemple de programme est présenté ci-dessous.

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() 

Le résultat du calcul est le suivant.

t + eps= 17.758192911648965
t0= 18.0

That's all. Thank you.

Recommended Posts

Python: Trouvez l'épaisseur de plaque requise pour la pression limite de flambage du tube exposé par la méthode Brent
Pandas du débutant, par le débutant, pour le débutant [Python]
Trouver le diamètre du graphique par recherche de priorité de largeur (mémoire Python)
[Python] Comment utiliser l'instruction for. Une méthode d'extraction en spécifiant une plage ou des conditions.
Trouvez le ratio de la superficie du lac Biwa par la méthode de Monte Carlo
Découvrez le nom de la méthode qui l'a appelée à partir de la méthode qui est python
Mémo d'apprentissage Python pour l'apprentissage automatique par Chainer jusqu'à la fin du chapitre 2