プログラム概要
- このプログラムは円形圧力水路トンネルの断面図を作成するサンプルプログラムです.
- 作図には GMT を用いています.コンクリートの模様はGMTのハッチパターンによる塗りつぶしを利用しました.
- 鉄管を描く場合 (ksp=1 を指定) の鉄管板厚は,75mmに固定してあります.
トンネル断面寸法の定義
$D_0$ | :水路内径 |
$T_c$ | :覆工厚 |
$T_x$ | :インバート部増分厚 |
$W$ | :インバート幅 |
$t_s$ | :吹付厚 |
$t_p$ | :設計掘削線から支払線までの厚さ |
$\theta$ | :水平線から直線開始点までの中心角 |
数量
角度$\theta$
角度$\theta$は,インバート幅Wを設定すれば
\begin{align*}
&W=2(D_0/2+T_c)*\cos\theta-2 h \tan\theta \\
&\text{ここに} \qquad h=(D_0/2+T_c+T_x)-(D_0/2+T_c)\sin\theta
\end{align*}
を満足する角度として,二分法などの繰り返し計算により求めることができます.
数量計算式
掘削数量(支払線)
\begin{align}
&B=D_0+2*T_c+2*t_s+2*t_p \\
&H=D_0+2*T_c+T_x+t_s+2*t_p \\
\\
&r=B/2 \\
&h=H-r-r*\sin\theta \\
&A_1=(2r*\cos\theta-h*\tan\theta)*h \\
&A_2=r^2(\theta+\pi/2) \\
&A_3=r^2*\sin\theta*\cos\theta \\
&A_e=A_1+A_2+A_3
\end{align}
コンクリート数量(設計線)
\begin{align}
&B=D_0+2*T_c \\
&H=D_0+2*T_c+T_x \\
\\
&r=B/2 \\
&h=H-r-r*\sin\theta \\
&A_1=(2r*\cos\theta-h*\tan\theta)*h \\
&A_2=r^2(\theta+\pi/2) \\
&A_3=r^2*\sin\theta*\cos\theta \\
&A_c=A_1+A_2+A_3-\pi/4*{D_0}^2
\end{align}
吹付数量(設計線)
\begin{align}
&B=D_0+2*T_c+2*t_s \\
&H=D_0+2*T_c+T_x+t_s \\
\\
&h=(D_0/2+T_c+T_x)-(D_0/2+T_c)*\sin\theta \\
&L_s=r*(\pi+2\theta)+2h/\cos\theta
\end{align}
画像出力事例
|
|
fig_eps_HT1.png | fig_eps_HT2.png |
|
|
fig_eps_PS1.png | fig_eps_PS2.png |
図中の数量記号の意味は以下のとおり,
Ae | : 掘削断面積(支払い線考慮) | | |
Ac | : 設計コンクリート断面積(設計線) | $\Delta$Ac | : 支払い線考慮時と設計線コンクリート断面積との差分 |
Lc | : 設計吹付線延長(設計線) | $\Delta$Ls | : 支払い線考慮時と設計吹付線値との差分 |
プログラム
実行用コマンド
gfortran -o f90_tunnel f90_tunnel.f90
./f90_tunnel a_gmt_HT1.txt fig_eps_HT1.eps 0 8200 550 0 6000 100 100
./f90_tunnel a_gmt_HT2.txt fig_eps_HT2.eps 0 6100 550 0 5000 100 100
./f90_tunnel a_gmt_PS1.txt fig_eps_PS1.eps 1 5400 600 300 5000 100 100
./f90_tunnel a_gmt_PS2.txt fig_eps_PS2.eps 1 3000 500 100 3000 100 100
コマンドラインの入力データ並びは以下のとおり
./f90_tunnel fnameW fnameF ksp DIA Tc Tx W ts tp
f90_TUNNEL | 実行用プログラム |
fnameW | GMT実行用バッチファイル名 |
fnameF | 出力画像ファイル名(eps) |
ksp | 0: 鉄管無し, 1: 鉄管有り |
DIA | トンネル内径 |
Tc | 覆工コンクリート厚 |
Tx | インバート部付加コンクリート厚 |
W | インバートコンクリート幅 |
ts | 吹付コンクリート厚 |
tp | 設計線と支払線の間の厚さ |