[PYTHON] Stress analysis of torus under internal pressure using axisymmetric stress analysis program

This is an application example of an axisymmetric stress analysis program created in Python.

Theoretical solution

A torus (toroidal shell) is a donut-shaped solid in which the annulus is rotated around the central axis (here, the vertical axis), as shown on the left in the figure below.

tex_fig1.png

Consider a torus that receives an equal internal pressure p, as shown on the right of the above figure. In this case, the circumferential axial force $ N_ {\ varphi} $ with radius a and its axial axial force $ N_ {\ theta} $ are given by Timoshenko (Theory of Plates and Shells) by the following equation. ..

\begin{equation*} N_{\varphi}=\cfrac{p a (r_0 + b)}{2 r_0} \qquad\qquad N_{\theta}=\cfrac{p a}{2} \end{equation*}

From the above equation, it can be seen that $ N_ {\ varphi} $ changes depending on the location, but $ N_ {\ theta} $ takes a uniform value on the circle with radius a. Now, if you rewrite $ N_ {\ varphi} $ at the representative point,

\begin{align*} &N_{\varphi}=p a \left\\{1 + \cfrac{a}{2(b - a)}\right\\} & (r_0 = b - a) \\\ &N_{\varphi}=p a & (r_0 = b) \\\ &N_{\varphi}=p a \left\\{1 - \cfrac{a}{2(b + a)}\right\\} & (r_0 = b + a) \end{align*}

It can be seen that the stress in the circumferential direction inside the annulus, that is, on the rotation axis side ($ r_0 = b --a $) increases. In addition, the circumferential stress at the top and bottom of the annulus with radius a is the same as the circumferential axial force of a straight annulus with radius a that receives normal uniform internal water pressure.

Analysis by axisymmetric FEM

The generated stress of the torus shown below was predicted by axisymmetric FEM analysis. The analysis conditions are as follows. Here, t indicates the plate thickness of the material that makes up the torus.

E (MPa)pop (MPa)a (mm)b (mm)t (mm)
200,0000.31.02,0004,00010
Number of elements: 360 (a circle with radius a is divided by a central angle of 1 degree)

In the axisymmetric FEM, the load is input per rad with respect to the rotation axis. Note that water pressure is no exception, and it is necessary to create and input loads faithfully to the definition.

tex_fig2.png

In the stress distribution map at the bottom right of the above figure, For the angle of the horizontal axis, refer to the displacement diagram. The outermost point (horizontal left end) of the torus is set to zero, the top is 90 degrees, the innermost point on the rotation axis side is 180 degrees, and the bottom is 270 degrees.

The table below shows a comparison between the analysis results and Timoshenko's solution.

LocationFEMTimoshenko
(φ) σφσθσφσθ
0 (r=b+a)166.59 99.54166.66100.00
90 (r=b) 198.43105.62200.00100.00
180 (r=b-a)300.54 99.55300.00100.00
The unit of stress is MPa

program

The program is shown by a link to Gist.

that's all

Recommended Posts

Stress analysis of torus under internal pressure using axisymmetric stress analysis program
Axisymmetric stress analysis program by Python (square element) [revised edition]
Axisymmetric stress analysis in Python
Recommendation of data analysis using MessagePack