Pythonで軸対称応力解析

## 概要
２次元応力解析プログラムを改良して，軸対称応力解析プログラムを作ってみました．軸対称応力解析は，水力発電所のケーシング周りやバレルコンクリートの応力解析に，簡易手法としてよく用いられています．簡易手法というのは，現在はコンピュータの性能アップや解析手法の発達に伴い，３次元ソリッドモデルによる解析も行われるようになってきているため，それと比較すると簡易手法の位置づけになるという意味です．


## プログラム
プログラムはGistへのリンクで示します．

+ [軸対称FEM解析プログラム (py_fem_asnt.py)](https://gist.github.com/damyarou/ec5d4052e4a852bef58381269bfa2eba/raw/1_py_fem_asnt.py)


## 入力データフォーマット

```
npoin  nele  nsec  npfix  nlod # 基本量
E  po  alpha  gamma  gkz     # 材料特性
..... (1~nsec) .....
node1  node2  node3  node4  isec     # 要素-節点関係，材料特性番号
..... (1~nele) .....
z  r  deltaT                         # 節点座標，節点温度変化
..... (1~npoin) .....
node  koz  kor  rdisz  rdisr         # 変位拘束条件
..... (1~npfix) .....
node  fz  fr                         # 外力
..... (1~nlod) .....
```

<table>
<tr><td>npoin, nele, nsec</td><td>節点数，要素数，材料特性数</td></tr>
<tr><td>npfix, nlod</td><td>拘束節点数，載荷節点数</td></tr>
<tr><td>E, po, alpha</td><td>弾性係数，ポアソン比，線膨張係数</td></tr>
<tr><td>gamma, gkz</td><td>単位体積重量，z方向加速度（gの比）</td></tr>
<tr><td>z, r, deltaT</td><td>節点z座標，節点r座標，節点温度変化</td></tr>
<tr><td>node, koz, kor</td><td>拘束節点番号，z及びr方向拘束の有無（拘束：１，自由：０）</td></tr>
<tr><td>rdisz, rdisr</td><td>z及びr方向変位（無拘束でも０を入力）</td></tr>
<tr><td>node, fz, fr</td><td>載荷重節点番号，z方向荷重，r方向荷重</td></tr>
</table>

## 出力データフォーマット

```
npoin  nele  nsec npfix  nlod
   10     4     1     7     0
  sec               E              po           alpha           gamma             gkz
    1   2.0000000e+06   3.0000000e-01   1.0000000e-05   0.0000000e+00   0.0000000e+00
 node               z               r              fz              fr          deltaT   koz   kor
    1   0.0000000e+00   0.0000000e+00   0.0000000e+00   0.0000000e+00  -1.0000000e+01     1     1
    2   1.0000000e+00   0.0000000e+00   0.0000000e+00   0.0000000e+00  -1.0000000e+01     0     1
    3   2.0000000e+00   0.0000000e+00   0.0000000e+00   0.0000000e+00  -1.0000000e+01     0     1
    4   3.0000000e+00   0.0000000e+00   0.0000000e+00   0.0000000e+00  -1.0000000e+01     0     1
    5   4.0000000e+00   0.0000000e+00   0.0000000e+00   0.0000000e+00  -1.0000000e+01     1     1
    6   0.0000000e+00   1.0000000e+00   0.0000000e+00   0.0000000e+00  -1.0000000e+01     1     0
    7   1.0000000e+00   1.0000000e+00   0.0000000e+00   0.0000000e+00  -1.0000000e+01     0     0
    8   2.0000000e+00   1.0000000e+00   0.0000000e+00   0.0000000e+00  -1.0000000e+01     0     0
    9   3.0000000e+00   1.0000000e+00   0.0000000e+00   0.0000000e+00  -1.0000000e+01     0     0
   10   4.0000000e+00   1.0000000e+00   0.0000000e+00   0.0000000e+00  -1.0000000e+01     1     0
 node   kox   koy          rdis_z          rdis_r
    1     1     1   0.0000000e+00   0.0000000e+00
    2     0     1   0.0000000e+00   0.0000000e+00
    3     0     1   0.0000000e+00   0.0000000e+00
    4     0     1   0.0000000e+00   0.0000000e+00
    5     1     1   0.0000000e+00   0.0000000e+00
    6     1     0   0.0000000e+00   0.0000000e+00
   10     1     0   0.0000000e+00   0.0000000e+00
 elem     i     j     k     l   sec
    1     1     2     7     6     1
    2     2     3     8     7     1
    3     3     4     9     8     1
    4     4     5    10     9     1
 node           dis-z           dis-r
    1   0.0000000e+00   0.0000000e+00
    2  -1.5079475e-21   0.0000000e+00
    3  -6.6349691e-21   0.0000000e+00
    4   1.6651950e-20   0.0000000e+00
    5   0.0000000e+00   0.0000000e+00
    6   0.0000000e+00  -1.3000000e-04
    7  -4.9830486e-21  -1.3000000e-04
    8   2.0274556e-20  -1.3000000e-04
    9   1.2150518e-20  -1.3000000e-04
   10   0.0000000e+00  -1.3000000e-04
 elem           sig_z           sig_r           sig_t          tau_zr              p1              p2             ang
    1   2.0000000e+02   5.6843419e-14   6.3948846e-14  -1.1672750e-15   2.0000000e+02   5.6843419e-14   5.6843419e-14
    2   2.0000000e+02  -2.1316282e-14   1.7763568e-15  -3.8487337e-15   2.0000000e+02  -2.8421709e-14  -2.8421709e-14
    3   2.0000000e+02  -1.0658141e-14  -8.8817842e-15   1.9212820e-14   2.0000000e+02   0.0000000e+00   0.0000000e+00
    4   2.0000000e+02   8.1712415e-14   9.2370556e-14   1.0166131e-14   2.0000000e+02   8.5265128e-14   8.5265128e-14
n=20  time=0.008 sec
```

<table>
<tr><td>node, dis-z, dis-r</td><td>節点番号，z方向変位，r方向変位</td></tr>
<tr><td>elme, sig_z, sig_r, sig_t, tau_zr</td><td>要素番号，z方向直応力，r方向直応力，回転方向直応力，せん断応力</td></tr>
<tr><td>p1, p2, ang</td><td>z-r平面における第一主応力・第二主応力・第一主応力の方向</td></tr>
<tr><td>n, time</td><td>全自由度，計算時間</td></tr>
</table>

以　上