WANtaroHP (F90 Engineering)

 

Contents



Marstonの式 (鉛直土圧)

プログラム概要

  • このプログラムは2分法のサンプルプログラムです.
  • 2分法を用い,Marstonの公式により鉛直土圧を計算します.

ソースコードと関連文書

FilenameDescription
f90_MARSTON.txtProgram to calculate the vertical load for embedded pipe by Marston's formula.
tex_marston.pdfSmall document for Marston's formula


Amstutzの式 (埋設鉄管の座屈圧力)

プログラム概要

f90_AMS_org.f90

  • このプログラムは,Amstutzの式により,外圧が作用する埋設水圧鉄管の座屈圧力を算定するものです.
  • Amstutzの式では,初期不整 (溶接継ぎ手の段違いと鉄管の初期たわみ) を考慮することができます.
  • 出典: Ernst Amstutz, 'Buckling of pressure-shaft and tunnel linings', Water Power November 1970

f90_AMS_JPN.f90

  • このプログラムは,日本国「水門鉄管技術基準」に示された外圧が作用する埋設水圧鉄管の座屈圧力を算定するものです.

gpl_AMS.txt

  • これは,gnuplot により作図するためのスクリプトです.

ソースコードと関連文書

  • 情報
    • 座屈圧力を算定するための公式は,pdfファイル:'en_TeX_ams.pdf' に示してあります.
FilenameDescription
en_TeX_ams.pdf座屈圧力算定公式を示す文書
f90_AMS_org.txtAmstutzの式による座屈圧力算定プログラム (Amstutz original 1970)
f90_AMS_JPN.txt水門鉄管技術基準による座屈圧力算定プログラム (Standard in japan)
gpl_AMS.txtgnuplot作図用スクリプト
fig_AMS_org.pngAmstutzの式による座屈圧力算定結果事例 (初期不整の効果)
fig_AMS_JPN.pngAmstutzの式と水門鉄管技術基準による座屈圧力算定結果比較事例


Simplex法による曲線回帰

プログラム概要

  • このプログラムは,Simplex法により曲線回帰を行うためのものです.
  • その都度ソースコード上で回帰曲線を書き換える必要がありますが,このプログラムは非常に強力です. なぜなら,適切な初期値を与えれば回帰できない確率は低いからです.
  • 初期値に関し何をいれるかわからない場合は,全て1.0にセットしておいてもいいでしょう.
  • 加えて,回帰結果を速やかに確認できるよう,gnuplotによる作図ルーチンをプログラムに組み込んであります. このため,データ入力ファイルには作図のための情報を入力することが必要です.
  • この事例では,以下の関数が用いられています.
Sample (1)
!Lorentz type+linear curve (mpara=5)   input file: inp_SIMP_0.csv
Vfunc=param(2)*param(1)**2.0D0/((x-param(0))**2.0D0+param(1)**2.0D0)+param(3)+param(4)*x
Sample (2)
!Damped oscillation (mpara=4)   input file: inp_SIMP_1.csv
Vfunc=param(0)*exp(-param(1)*x)*sin(param(2)*x+param(3))

入力データ書式

001 | Simplex_test_1
002 | time_(sec),Displacement_(mm)
003 | N,0,800,100,"%.0f"
004 | N,-10,10,2,"%.0f"
005 | 800
006 | 0.000,2.543
007 | 1.000,3.402
008 | 2.000,2.978
..........
001
コメント
002
x軸ラベル, y軸ラベル
003
x軸のタイプ (N: normal, L: log), x軸最小値, x軸最大値, x軸目盛増分, x軸書式
004
y軸のタイプ (N: normal, L: log), y軸最小値, y軸最大値, y軸目盛増分, y軸書式
005
入力データの組数
006
(Lower rows are x and y-values of data)

実行用バッチコマンド

このプログラム 'f90_SIMPLEX.exe' を実行するためには,(1) 入力データファイル名, (2) 出力データファイル名, (3) 出力画像ファイル名(gnuplot用), (4) Simplex法による回帰のための初期値をコマンドラインから入力する必要があります.

gfortran -o f90_SIMPLEX.exe f90_SIMPLEX.f90
f90_SIMPLEX inp_SIMP_0.txt out_SIMP_0.txt fig_SIMP_0.png 1 1 1 1 1

ソースコードと関連文書

FilenameDescription
f90_SIMPLEX.txtSimplex法曲線回帰プログラム
inp_SIMP_0.txt入力データサンプル (1)
out_SIMP_0.txt出力データサンプル (1)
fig_SIMP_0.png画像出力サンプル (1)
inp_SIMP_1.txt入力データサンプル (2)
out_SIMP_1.txt出力データサンプル (2)
fig_SIMP_1.png画像出力サンプル (2)


制水口式サージタンクの基本設計

プログラム概要

f90_SURGR.f90

  • このプログラムは,制水口式サージタンクの基本設計を行うためのものです.
  • このプログラムによりサージタンク立坑の動的安定条件と最高上昇水位を知ることができます.
  • 動的安定条件は,Thoma-Schüllerの式により評価されます.
  • 最高上昇水位は,Vogt-Forchheimerの式により計算されます.
  • このプログラムには,gnuplotによる作図機能が含まれます. パソコンにgnuplotがインストールされており'eps'ファイルを閲覧可能であれば,計算終了後に計算結果図を見ることができます.
入力サンプルデータ (file: inp_scvf_Load.csv)
  • 以下のデータは,揚水発電所導水路サージタンクの負荷遮断時に対するサンプルです.
  • 圧力水路の損失水頭係数 cc=h0 / (v0)2 として計算できます. ここに,h0 は圧力水路の全損失水頭,v0 は圧力水路の遮断前流速です.
  • 「選択された径」xc および yc について,最初はいずれも1.0としておいていいでしょう. この計算終了後には,xc および yc の値を選定でき,それらが適切であるかどうかの確認が行えます.
KN No.1 Headrace ST (Load interception)
Hg,Q0,L,d0,c,Cd,zm,xc,yc
713,340,2553.370,8.2,0.179,0.9,35,4.6,17
Hg 総落差 (m)
Q0 最大使用水量 (m3/s)
L 圧力水路延長 (m)
d0 圧力水路内径 (m)
c 損失水頭係数
Cd 制水口の流量係数
zm 設計者により与えられる目標最高上昇水位 (m)
xc 選定した制水口内径 (m)
yc 選定したサージタンク立坑内径 (m)

実行用バッチコマンド

gfortran -o f90_surgeSCVF.exe f90_surgeSCVF.f90
f90_surgeSCVF inp_scvf_Load.csv fig_scvf_Load_SC.eps fig_scvf_Load_VF.eps

ソースコードと関連文書

  • 情報
    • 制水口式サージタンクの設計理論は,pdfファイル:'en_TeX_SURGE.pdf' に示してあります.
    • 以下に示す図 'fig_scvf_SC.png' の中には,3つの直径が示されています. D1D2 は,立坑の動的安定条件から与えられる限界を示します. D3 は,Calame-Gardenの限界流量から与えられる限界を示します.
FilenameDescription
en_TeX_SURGE.pdf制水口式サージタンク設計理論を示す文書
f90_surgeSCVF.txt基本設計のためのプログラム
inp_scvf_Load.txt入力サンプルデータ (負荷遮断)
fig_scvf_Load_SC.png出力事例図 (負荷遮断時動的安定条件)
fig_scvf_Load_VF.png出力事例図 (負荷遮断時最高上昇水位)


制水口式サージタンクのサージング解析

プログラム概要

f90_SURGR.f90

  • これは,制水口式サージタンクのサージング解析を行うためのプログラムです.
  • 基礎微分方程式は,Runge-Kutta 法により解かれています.
  • 圧力水路で連結されたサージタンクと貯水池の間の減衰振動を評価できます.
  • サージタンクの水室の効果を評価できます.
  • サージタンクとポンプ/水車の間の水撃作用は評価できません.
入力データサンプル (file: inp_surge_Ta.csv)
  • 以下のデータは,揚水発電所放水路サージタンクの負荷遮断に対するものです.
  • 圧力水路の初期流速はサージタンクから下部調整池に向いているので,流量 QTQ(1) は負の値となっています. 圧力トンネルの初期流速が調整池からサージタンクに向かっていれば,流量 QTQ(1) は正の値となります.
  • 変数 'Title' ではブランク(スペース)を用いることができますが,変数 SBL(i) ではブランク(スペース)を用いることはできません. 変数 SBL(i) においては,ブランク(スペース)はアンダーバー '_' に置き換えてください. gnuplotで図wを出力する際,アンダーバー('_')はブランク(スペース)に変換されます.
  • 変数 TNC (圧力トンネルの損失水頭係数) は,式 TNC=h0 / (v0)2 により求められます. ここに, h0 は圧力トンネルの全損失水頭, v0 は遮断前の圧力トンネルの流速です.
KN No.1 Tailrace ST (Load interception: 4 units) //: Title
1,70.0,210.0                                     //: ICT,AFCA,AFCT
600.0,0.01,0.1                                   //: TMAX,dt,DTWR
18.857,0.9,0.9                                   //: PAA,PCI,PCO
814.000,2167.752,52.810,0.166                    //: RWL,TNL,TNA,TNC
3                                                //: NST
520.000,865.000,Top_of_Surge_Tank                //: SAA(1),SEL(1),SLB(1)
520.000,854.050,Bottom_of_Chamber                //: SAA(2),SEL(2),SLB(2)
78.540,727.600,Bottom_of_Surge_Tank              //: SAA(3),SEL(3),SLB(3)
3                                                //: NQT
-340,0                                           //: QTQ(1),QTI(1)
0,8                                              //: QTQ(2),QTI(2)
0,9999                                           //: QTQ(3),QTI(3)
Title タイトル
ICT 計算ケース (1: normal, 2: AFC)
AFCA AFC運転時の片振幅流量 (m3/s)
AFCT AFC周期 (s)
TMAX 計算終了時刻 (s)
dt 計算時間間隔 (s)
DTWR 結果出力時間間隔 (s)
PAA 制水口断面積 (m2)
PCI 制水口流量係数(流入時)
PCO 制水口流量係数(流出時)
RWL 貯水池水位標高 (EL.m)
TNL 圧力トンネル延長 (m)
TNA 圧力トンネル断面積 (m2)
TNC 圧力トンネル損失水頭係数 (s2/m)
NST 入力するサージタンクの断面の数
SAA(i)指定標高におけるサージタンクの断面積 (m2)
SEL(i)断面積を入力するサージタンクの標高指定 (EL.m)
SLB(i)断面の名称 (text: 作図用)
NQT 流量入力点数
QTQ(i)指定時刻での流量 (m3/s)
QTI(i)時刻指定 (s)

f90_DRAW_SURGR.f90

  • これは,gnuplotにより水面振動の時刻歴を描画するためのプログラムです.

実行用バッチコマンド

gfortran -o f90_SURGE.exe f90_SURGE.f90
f90_SURGE inp_surge_Ha.csv out_surge_Ha.csv
f90_SURGE inp_surge_Hc.csv out_surge_Hc.csv
f90_SURGE inp_surge_Ta.csv out_surge_Ta.csv
f90_SURGE inp_surge_Tc.csv out_surge_Tc.csv

gfortran -o f90_DRAW_SURGE.exe f90_DRAW_SURGE.f90
f90_DRAW_SURGE out_surge_Ha.csv fig_surge_Ha.eps
f90_DRAW_SURGE out_surge_Hc.csv fig_surge_Hc.eps
f90_DRAW_SURGE out_surge_Ta.csv fig_surge_Ta.eps
f90_DRAW_SURGE out_surge_Tc.csv fig_surge_Tc.eps

ソースコードと関連文書

FilenameDescription
f90_SURGE.txt制水口式サージタンクのサージング解析プログラム
f90_DRAW_SURGE.txtgnuplotによる作図プログラム
inp_surge_Ha.txt入力サンプルデータ (導水路水槽: 負荷遮断)
inp_surge_Hc.txt入力サンプルデータ (導水路水槽: 入力遮断)
inp_surge_Ta.txt入力サンプルデータ (放水路水槽: 負荷遮断)
inp_surge_Tc.txt入力サンプルデータ (放水路水槽: 入力遮断)
fig_surge_Ha.png出力サンプル図 (導水路水槽: 負荷遮断)
fig_surge_Hc.png出力サンプル図 (導水路水槽: 入力遮断)
fig_surge_Ta.png出力サンプル図 (放水路水槽: 負荷遮断)
fig_surge_Tc.png出力サンプル図 (放水路水槽: 入力遮断)


円形圧力水路トンネル断面図

プログラム概要

  • このプログラムは円形圧力水路トンネルの断面図を作成するサンプルプログラムです.
  • 作図には GMT を用いています.コンクリートの模様はGMTのハッチパターンによる塗りつぶしを利用しました.
  • 鉄管を描く場合 (ksp=1 を指定) の鉄管板厚は,75mmに固定してあります.

実行用バッチコマンド

gfortran -o f90_TUNNEL.exe f90_TUNNEL.f90

f90_TUNNEL bat_HT1.bat fig_eps_HT1.eps 0 8200 550 0 6000 100 100
f90_TUNNEL bat_HT2.bat fig_eps_HT2.eps 0 6100 550 0 5000 100 100
f90_TUNNEL bat_PS1.bat fig_eps_PS1.eps 1 5400 600 300 5000 100 100
f90_TUNNEL bat_PS2.bat 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 設計線と支払線の間の厚さ

ソースコードと関連文書

FilenameDescription
f90_TUNNEL.txtGMT による作図プログラム
bat_PS1.txt出力されたGMT実行用バッチファイル事例 (fig_eps_PS1.eps用)
fig_eps_HT1.png出力画像 (1)
fig_eps_HT2.png出力画像 (2)
fig_eps_PS1.png出力画像 (3)
fig_eps_PS2.png出力画像 (4)
TeX-TUNNEL.pdfeps を TeX 文書に貼り付けた事例

出力図中の記号の意味は以下のとおり.

Ae 支払線による掘削断面積
Ce 設計線によるコンクリート断面積
Ls 設計線による吹付長
ΔCe 支払線と設計線によるコンクリート断面積の差分
ΔLs 支払線と設計線による吹付長の差分


等流計算による H-Q 曲線

プログラム概要

  • このプログラムは,等流計算による H-Q 曲線を作成するものです.Fortranプログラムは,計算値を出力するのみで作図は行えません.
  • H-Q曲線の作図にはGMT が使われています.GMT で作図するバッチファイルは,この章に含まれています.

実行用バッチコマンド

gfortran -o f90_MANNING_CIRC.exe f90_MANNING_CIRC.f90
gfortran -o f90_MANNING_RECT.exe f90_MANNING_RECT.f90

f90_MANNING_CIRC 1.50 0.06649 0.015 > inp_manning_circ.txt
f90_MANNING_RECT 3.00 0.00500 0.015 > inp_manning_rect.txt

コマンドラインの入力データ並びは以下のとおりです.

f90_MANNING_CIRC DD ii nn > fnameW
f90_MANNING_RECT BB ii nn > fnameW
f90_MANNING_CIRC円形断面用 F90 実行プログラム
f90_MANNING_RECT矩形断面用 F90 実行プログラム
fnameW 出力ファイル名 (text file)
DD 円形断面水路の内径
BB 矩形断面水路の幅
ii インバート勾配
nn Manning の粗度係数

ソースコードと関連文書

FilenameDescription
f90_MANNING_CIRC.txt円形断面水路のH-Q関係計算用プログラムソース
f90_MANNING_RECT.txt矩形断面水路のH-Q関係計算用プログラムソース
bat_manning_circ.txt円形断面水路用 GMT 作図用バッチファイル
bat_manning_rect.txt矩形断面水路用 GMT 作図用バッチファイル
fig_manning_circ.png円形断面水路H-Q曲線作図事例
fig_manning_rect.png矩形断面水路H-Q曲線作図事例


貯留関数法による流出解析 (1)

プログラム概要

  • ここには,貯留関数法による流出解析をプログラムのうち,既知の雨量および流量から,貯留関数に関するパラメータを算出するものを紹介しています.推定したパラメータを用い,観測されたハイドログラフとの比較も行います. Fortranプログラムは,計算値を出力するのみで作図は行えません.
  • 直接流出量と貯留量の関係およびハイドログラフ(流量の時刻歴曲線)の作図にはGMT が使われています.GMT で作図するバッチファイルは,この章に含まれています.

実行用バッチコマンド

gfortran -o f90_SFM.exe f90_SFM.f90

f90_SFM dat_sfm1.csv out_test1.csv 3 1 10
f90_SFM dat_sfm2.csv out_test2.csv 3 1 10
f90_SFM dat_sfm3.csv out_test3.csv 4 1 10
f90_SFM dat_sfm4.csv out_test4.csv 2 1 10
f90_SFM dat_sfm5.csv out_test5.csv 2 1 10
f90_SFM dat_sfm6.csv out_test6.csv 8 1 10

call bat_gmt_ctl_qcss
call bat_gmt_ctl_sfm

コマンドラインの入力データ並びは以下のとおりです.

f90_SFM fnameR fnameW n1 m md
f90_SFM貯留関数推定用 F90 実行プログラム
fnameR 入力ファイル名
fnameW 出力ファイル名
n1 基底流量分離開始点
m 基底流量分離方法(0:水平分離[固定値],1:傾斜直線分離[最適値検索])
md 時間増分の分割数(1以上の整数)

ソースコードと関連文書

FilenameDescription
f90_SFM.txt貯留関数パラメータ推定用プログラムソース
dat_sfm1.txt入力データ例(1)
dat_sfm2.txt入力データ例(2)
dat_sfm3.txt入力データ例(3)
dat_sfm4.txt入力データ例(4)
dat_sfm5.txt入力データ例(5)
dat_sfm6.txt入力データ例(6)
bat_gmt_ctl_qcss.txtqc-S 関係作図用 GMT バッチファイル(コントロール用)
bat_gmt_plt_qcss.txtqc-S 関係作図用 GMT バッチファイル(作図コマンド用)
bat_gmt_ctl_sfm.txtハイドログラフ作図用 GMT バッチファイル(コントロール用)
bat_gmt_plt_sfm.txtハイドログラフ作図用 GMT バッチファイル(作図コマンド用)
TeX_SFM.pdf理論と解析事例紹介文書


貯留関数法による流出解析 (2)

プログラム概要

  • ここには,貯留関数法による流出解析をプログラムのうち,既知の雨量および貯留関数に関するパラメータから,ハイドログラフ(流量の時刻歴)を算出するものを紹介しています.Fortranプログラムは,計算値を出力するのみで作図は行えません.
  • ハイドログラフの作図にはGMT が使われています.GMT で作図するバッチファイルは,この章に含まれています.

実行用バッチコマンド

gfortran -o f90_SFMQ.exe f90_SFMQ.f90

f90_SFMQ dat_sfm1Q.csv out_test1Q.csv 10

call bat_gmt_ctl_sfmQ

コマンドラインの入力データ並びは以下のとおりです.

f90_SFMQ fnameR fnameW md
f90_SFMQハイドログラフ推定用 F90 実行プログラム
fnameR 入力ファイル名
fnameW 出力ファイル名
md 時間増分の分割数(1以上の整数)

ソースコードと関連文書

FilenameDescription
f90_SFMQ.txtハイドログラフ推定用プログラムソース
dat_sfm6Q.txt入力データ例
bat_gmt_ctl_sfmQ.txtハイドログラフ作図用 GMT バッチファイル(コントロール用)
bat_gmt_plt_sfmQ.txtハイドログラフ作図用 GMT バッチファイル(作図コマンド用)
fig_SFM6Q.pngグラフ出力事例


ルンゲクッタ法による地震応答スペクトル計算

プログラム概要

  • このプログラムはルンゲクッタ法により運動方程式の数値積分を行い,地震応答スペクトルを計算するものです.
  • 地震応答解析における,数値積分の安定条件を,Runge-Kutta 法と線形加速度法について,以下に示します.
    MethodStability condition
    Runge-Kutta dt/Tk<=0.45Tk>=0.022 sec.(dt=0.01 sec.)
    Linear Accelerationdt/Tk<=0.55Tk>=0.018 sec.(dt=0.01 sec.)
    ここに dt は積分の時間間隔,Tk はモデルの最小固有周期です.
    上表より,ルンゲクッタ法では計算時間間隔 0.01秒のとき,安定限界のモデルの最小固有周期は 0.022秒となりますので,0.02秒の固有周期のモデルの応答を計算しようとすると発散します.
    これに対し,線形加速度法では計算時間間隔 0.01秒としたとき,安定限界のモデルの最小固有周期は 0.018秒ですので,0.02秒の周期のモデルの計算を行っても問題ありません.
  • この現象には注意が必要です.この対応として,入力地震動を線形内挿し時間間隔をプログラム内部で細かく設定できるようにしています.

実行用バッチコマンド

gfortran -o f90_ARS_RUNGE.exe f90_ARS_RUNGE.f90

f90_ARS_RUNGE dat_acc_TCGH16_EW2.csv dat_spc_TCGH16_EW2.csv
f90_ARS_RUNGE dat_acc_TCGH16_NS2.csv dat_spc_TCGH16_NS2.csv
f90_ARS_RUNGE dat_acc_TCGH16_UD2.csv dat_spc_TCGH16_UD2.csv

コマンドラインの入力データ並びは以下のとおりです.

f90_ARS_RUNGE fnameR fnameW
f90_ARS_RUNGE応答スペクトル計算用 F90 実行プログラム
fnameR 入力ファイル名
fnameW 出力ファイル名

ソースコードと関連文書

FilenameDescription
f90_ARS_RUNGE.txtF90 地震応答スペクトル計算プログラム
dat_acc_TCGH16_EW2.txt入力データファイル事例 (1)
dat_acc_TCGH16_NS2.txt入力データファイル事例 (2)
dat_acc_TCGH16_UD2.txt入力データファイル事例 (3)
dat_spc_TCGH16_EW2.txt出力データファイル事例 (1)
dat_spc_TCGH16_NS2.txt出力データファイル事例 (2)
dat_spc_TCGH16_UD2.txt出力データファイル事例 (3)
en_TeX_RUNGE.pdf理論説明文書


鉄筋コンクリート断面応力計算

プログラム概要

  • このプログラムは,鉄筋コンクリート断面のコンクリート応力・鉄筋応力を計算するものです.
  • 純曲げを受ける場合,曲げと軸引張力を受ける場合の2種類のプログラムを紹介しています.

実行用バッチコマンド

純曲げを受けるRC断面

gfortran -o f90_RCmSD.exe f90_RCmSD.f90

rem iflag hh bb dd_t dd_c As_t As_c  MO
f90_RCmSD 1 7.5 25 2.5 0.0 3.925 0.0 8013

コマンドラインの入力データ並びは以下のとおりです.

f90_RCmSD iflag hh bb dd_t dd_c As_t As_c MO
f90_RCmSD コンパイル済み実行プログラム
iflag 1: 単鉄筋, 2: 複鉄筋
hh, bb 断面高さ, 断面幅
dd_t, dd_c 引張縁-引張鉄筋距離, 圧縮縁-圧縮鉄筋距離
As_t, As_c 引張鉄筋断面積, 圧縮鉄筋断面積
MO 作用モーメント (正値)

曲げと引張軸力を受けるRC断面

gfortran -o f90_RCmntD.exe f90_RCmntD.f90

rem hh bb dd_t dd_c As_t As_c MO AF
f90_RCmntD 350 1000 60 60 1570 1570 140000000 160000

コマンドラインの入力データ並びは以下のとおりです.

f90_RCmntD hh bb dd_t dd_c As_t As_c MO AF
f90_RCmntD コンパイル済み実行プログラム
hh, bb 断面高さ, 断面幅
dd_t, dd_c 引張縁-引張鉄筋距離, 圧縮縁-圧縮鉄筋距離
As_t, As_c 引張鉄筋断面積, 圧縮鉄筋断面積
MO 作用モーメント (正値)
AF 作用引張軸力 (正値)

ソースコードと関連文書

FilenameDescription
f90_RCmSD.txt純曲げを受けるRC断面の応力計算プログラムコード
f90_RCmntD.txt曲げと軸引張を受けるRC断面の応力計算プログラムコード


RC 円形圧力トンネル応力計算

プログラム概要

  • 多重円筒理論による鉄筋コンクリート製円形圧力水路トンネルの応力・変位算定方法.極座標表示による応力の釣り合い方程式を解いています.
  • 覆工内均一ではありますが,Timoshenko and Goodier ''Theori of Elasticity'' に基づき,温度応力を厳密に扱っています.
  • 理論式誘導における考え方は以下の通り.
    (1) 岩盤は有限境界を持つ完全弾性体とし,外縁での変位は0として大きな領域を入力する.
    (2) 鉄筋は鉄筋量(kg/m^3)が等しい等価板厚を有する鉄管に置き換え,厚肉円筒として扱う.薄肉の仮定は用いない.
    (3) コンクリートは内圧が作用する場合はひび割れ発生を前提に周方向no-tension材料(周方向引張応力を負担しない)とし,外圧が作用する場合は完全弾性体として扱う.
    (4) 応力状態は平面ひずみとする.
    (5) 覆工内均一の温度変化を考慮できる.岩盤内の温度分布は考慮できない.
    (6) コンクリートはかぶりを考慮してモデル化している.ただし簡単のため,内側鉄筋と外側鉄筋のかぶりは同一としている.
  • 温度分布は理論上厳密に扱えますが,入力を簡略化するため覆工内の均一温度変化のみを扱えるようにしました. 鉄筋の応力のみであればそこそこの精度はでると思います(FEM解析で確認済み).
  • 設計理論および入出力書式については解説(pdf)を参照してください.
  • 多重円筒理論による計算式導出に先立ちFEMによる圧力水路の挙動予測を行っています. その結果,コンソリデーショングラウチングによるプレストレスを考慮しない限り無筋コンクリート断面を選択することはほとんど不可能なことが解りましたので,鉄筋コンクリート断面のみを対象にしています. しかし鉄筋なしの場合の式導出も解説pdfを参照すれば問題なく導くことができると思います.

実行用バッチコマンド

gfortran -o f90_CPT.exe f90_CPT.f90

f90_CPT inp_CPT_comp.csv out_CPT_comp.csv
f90_CPT コンパイル済み実行プログラム
inp_CPT_comp.csv入力データファイル名
out_CPT_comp.csv出力データファイル名

ソースコードと関連文書

ファイル名概要
f90_CPT.txt円形圧力トンネル構造計算プログラムコード
inp_CPT_comp.txt入力データ事例
out_CPT_comp.txt出力データ事例
TeX_CPTT.pdf計算理論解説書
TeX_CPTT_FEM.pdfFEMによる円形圧力水路設計検討事例


不等流解析

プログラム概要

  • 不等流解析を行うプログラムです.
  • 常流計算においては,解析領域の下流端の水面標高を入力し,上流に向かって水位を計算します.
  • 射流計算においては,解析領域の上流端の水面標高を入力し,下流に向かって水位が計算します.
  • 各断面特性は既知であるとし,計算開始点からの距離,河床標高,粗度係数,水位-面積・水位-潤辺関係を入力します.
  • エネルギーの釣り合い方程式は,二分法で解いてます.
  • 常流計算中に射流が生じた場合,計算は常流となる地点まで上流側にジャンプして行われます. 常流か射流かは,フルード数および水面形をチェックすることにより知ることができます.

データ入力部のプログラム

call getarg(1,dummy1)
call getarg(2,dummy2)
call getarg(3,dummy3)
call getarg(4,fnameR)

read(dummy1,*) icase
read(dummy2,*) Q0
read(dummy3,*) h0

open(11,file=fnameR,status='old')
read(11,*) nd
do i=1,nd
read(11,'()')
read(11,*) k,xx(i),zz(i),nas(i),ninp(i)
do j=1,nas(i)
read(11,*) hh(i,j),area(i,j),wper(i,j),wids(i,j)
end do
end do
close(11)
nd 計算断面数
k 断面ナンバー(任意の整数)
xx(i) 計算開始点からの水平距離
zz(i) 河床標高
nas(i) 水深-断面積関係を入力するステップ数
ninp(i) 粗度係数
hh(i,j) 河床直交方向の水深
area(i,j) 指定水深での流水断面積
wper(i,j) 指定水深での潤辺
wids(i,j) 指定水深での水面幅

断面の並びは,計算の開始点から終了点に向けての順番とします. 常流計算では,断面の並びは,下流から上流に向かう並びとします.

実行用バッチコマンド

gfortran -o f90_NUF.exe f90_NUF.f90

f90_NUF 10 430.92 1.958 inp_open.txt > outQ0430.txt
f90_NUF コンパイル済み実行プログラム
10 icase=10: 常流計算, icase=20: 射流計算
430.92 Q0   : 計算開始点流量
1.9582 h0   : 計算開始点水深
inp_open.txtfnameR : 入力データファイル名
outQ0430.txt出力データファイル名

出力データ項目

x1 計算開始点からの水平距離
Q1 流量
a1 流水断面積
t1 水面幅
h1 河床直交方向水深
z1 河床標高
h1+z1 水面標高
v1 平均流速
E1 全水頭 (速度水頭含む)
Fr フルード数
hc 河床直交方向限界水深
it 収束までの繰り返し回数

ソースコードと関連文書

FilenameDescription
f90_NUF.txt Fortranソースコード
inp_open.txt入力データ事例
outQ0430.txt出力データ事例
TeX_nuf.pdf プログラム使用事例


洪水時貯水池水位追跡

プログラム概要

  • 洪水時の貯水池水位と流出量を計算するプログラムです.
  • 解析には,貯水池の水位-容量曲線,流入量データ,洪水吐きの流出特性データが必要です.
  • このプログラムでは,貯水池水位-容量曲線と流入量データは,入力データファイルより与えられ,洪水吐き流出特性はプログラムの中で与えています. 従って,もし洪水吐きの流出特性を変更したい場合は,プログラムを書き換える必要があります.

実行用バッチコマンドと入出力ファイル書式

gfortran -o f90_floodr.exe f90_floodr.f90

f90_floodr inp_kusan_hv.txt inp_kusan_pmf_0.txt > test0.txt
f90_floodr inp_kusan_hv.txt inp_kusan_pmf_1.txt > test1.txt

実行コマンド書式

f90_floodr fnameR1 gnameR2 > fnameW
f90_floodr コンパイル済み実行ファイル
fnameR1 入力ファイル (貯水池水位-容量曲線)
fnameR2 入力ファイル (流入量時刻歴)
fnameW 出力ファイル

貯水池水位-容量曲線入力書式

vcoef
rh(1)  rv(1)
rh(2)  rv(2)
rh(3)  rv(3)
...    ...
vcoef 容量に乗じる係数
rh(i) 水位標高
rv(i) 累加容量 / 係数(vcoef)

流入量入力書式

ELini  outlet
ti(1)  q_in(1)
ti(2)  q_in(2)
ti(3)  q_in(3)
...    ...
ELini 初期水位標高 (EL.m)
outlet 放流設備からの流出量 (一定値) (m3/s)
ti(i) 時刻 (hour)
q_in(i)流入量 (m3/s)

出力項目

i 計算ステップ no.
iUD 貯水池水位上昇・下降のインデックス(1: up, -1: down)
ti 時刻 (hour)
EL 貯水池水位標高 (EL.m)
EL-elv 水位誤差 (m)
VOL 調整池累加容量 (m3)
q_in 流入量 (m3/s)
q_out 流出量 (m3/s)

ソースコードと関連文書

File nameDescription
f90_floodr.txt プログラム・ソースコード
inp_kusan_hv.txt入力データ事例 (貯水池水位-容量曲線)
inp_kusan_pmf_0.txt入力データ事例 (流入量データ 1)
inp_kusan_pmf_1.txt入力データ事例 (流入量データ 2)
a_gmt.txtGMT 作図用スクリプト
awk_klegend.txt凡例作図用awk スクリプト
fig_test0.png出力事例 (1)
fig_test1.png出力事例 (2)


水文統計解析 (確率雨量予測)

確率分布モデル

このページは,以下の確率分布モデルを用いて確率日雨量の予測を行うプログラムを紹介しています.

No モデル短縮表示 確率分布モデル 母数の数
1 Gumbel グンベル分布 2
2 GEV 一般化極値分布 3
3 Weibull (Goda) ワイブル分布 (合田のL-モーメント法) 3
4 Weibull (LSM) ワイブル分布 (最小二乗法) 3
5 Weibull (MLM) ワイブル分布 (最尤法) 3
6 SQRT-ET 平方根指数型最大値分布 2
7 LP3 対数ピアソン III 型分布 3
8 LN3 (Iwai) 対数正規分布 (岩井法) 3
9 LN3 (Moment) 対数正規分布 (積率法) 3
10 LN3 (Trial) 対数正規分布 (試行法) 3
11 Exponential 指数分布 2
12 GPD 一般化パレート分布 3
  • プロッティングポジション公式としては,Cunnane 公式が用いられています.
  • プログラム作成に当たり,以下の文献を参考にしました.
    • http://thesis.ceri.go.jp/center/info/geppou/ceri/0005005050.html (星清:水文統計解析,開発土木研究所月報,No.540,1998年5月)
    • http://iss.ndl.go.jp/books/R000000004-I4497918-00 (星清:現場のための水文統計(1),開発土木研究所月報,No.540,1998年5月)
    • http://iss.ndl.go.jp/books/R000000004-I4522177-00 (星清・新目竜一・宮原雅幸:現場のための水文統計(2),開発土木研究所月報,No.541,1998年6月)
  • 入力サンプルデータの出典は,以下に示すとおりです.
    • 札幌の日最大雨量データ : 文献:星清・新目竜一・宮原雅幸,現場のための水文統計(2),開発土木研究所月報,No.541,1998年6月 (http://iss.ndl.go.jp/books/R000000004-I4522177-00)
    • 前橋の日最大雨量データ : 気象庁ホームページ (Webpage of Japan Meteorological Agency)
    • 京都の日最大雨量データ : 文献:椎葉充晴・立川康人・市川温,例題で学ぶ水文学,森北出版株式会社,20120年5月21日 (ISBN978-4-627-49631-6)
  • 指数分布および一般化パレート分布は,閾値超過データに適用すべきものであるが,計算用の例題として,計算では前出の各都市の年最大降水量データを利用しています.

関連文書

FilenameDescription
suimon.pdfプログラミングのための公式
sample.pdf解析事例

入力サンプルデータ

FilenameDescription
inp_RF_S.txt札幌雨量データ
inp_RF_M.txt前橋雨量データ
inp_RF_K.txt京都雨量データ

ソースコード

FilenameDescription
f90_QQ.txt母数推定プログラム
f90_BTS.txtブートストラップ法による信頼区間推定プログラム

実行用バッチファイル

f90_QQ 用

gfortran -o f90_QQ.exe f90_QQ.f90

f90_QQ 1  inp_RF_M.txt out_QQ_M_01.csv
f90_QQ 2  inp_RF_M.txt out_QQ_M_02.csv
f90_QQ 3  inp_RF_M.txt out_QQ_M_03.csv
f90_QQ 4  inp_RF_M.txt out_QQ_M_04.csv
f90_QQ 5  inp_RF_M.txt out_QQ_M_05.csv
f90_QQ 6  inp_RF_M.txt out_QQ_M_06.csv
f90_QQ 7  inp_RF_M.txt out_QQ_M_07.csv
f90_QQ 8  inp_RF_M.txt out_QQ_M_08.csv
f90_QQ 9  inp_RF_M.txt out_QQ_M_09.csv
f90_QQ 10 inp_RF_M.txt out_QQ_M_10.csv
f90_QQ 11 inp_RF_M.txt out_QQ_M_11.csv
f90_QQ 12 inp_RF_M.txt out_QQ_M_12.csv
Format
f90_QQ No fnameR fnameW
Arg. Description
f90_QQ 実行用プログラム
No 確率分布モデルを指定する番号
fnameR 入力データファイル
fnameW 出力データファイル

上表中 'No' については,ページ上段「ページ概要」の表を参照願います.

f90_BTS 用

gfortran -o f90_BTS.exe f90_BTS.f90

f90_BTS 1  inp_RF_M.txt out_BTS_M_01.csv inp_BHI_M_01.txt
f90_BTS 2  inp_RF_M.txt out_BTS_M_02.csv inp_BHI_M_02.txt
f90_BTS 3  inp_RF_M.txt out_BTS_M_03.csv inp_BHI_M_03.txt
f90_BTS 4  inp_RF_M.txt out_BTS_M_04.csv inp_BHI_M_04.txt
f90_BTS 5  inp_RF_M.txt out_BTS_M_05.csv inp_BHI_M_05.txt
f90_BTS 6  inp_RF_M.txt out_BTS_M_06.csv inp_BHI_M_06.txt
f90_BTS 7  inp_RF_M.txt out_BTS_M_07.csv inp_BHI_M_07.txt
f90_BTS 8  inp_RF_M.txt out_BTS_M_08.csv inp_BHI_M_08.txt
f90_BTS 9  inp_RF_M.txt out_BTS_M_09.csv inp_BHI_M_09.txt
f90_BTS 10 inp_RF_M.txt out_BTS_M_10.csv inp_BHI_M_10.txt
f90_BTS 11 inp_RF_M.txt out_BTS_M_11.csv inp_BHI_M_11.txt
f90_BTS 12 inp_RF_M.txt out_BTS_M_12.csv inp_BHI_M_12.txt
Format
f90_BTS No fnameR fnameW1 fnameW2
Arg. Description
f90_BTS実行用プログラム
No 確率分布モデルを指定する番号
fnameR 入力データファイル
fnameW1出力データファイル
fnameW2ヒストグラム作成用データ出力ファイル

上表中 'No' については,ページ上段「ページ概要」の表を参照願います.

GMT 実行用バッチファイル (前橋データ用)

  • GMT での作図用に3種類のバッチファイルを用意しています.
  • ひとつは制御用バッチファイル,その他はデータ作成用とプロットコマンド用バッチファイルです.
  • データ作成用バッチファイルとプロットコマンド用バッチファイルは,制御用バッチファイルより呼び出されます.
  • 同じような多くのグラフを作成する場合,この方法は大変便利です.
Q-Q プロット
FilenameDescription
bat_qq_ctl_M.txt制御用
bat_qq_dat_M.txtデータ作成用
bat_qq_draw.txtGMT プロットコマンド用
Bootstrap 信頼区間
FilenameDescription
bat_BTS_M.txt制御用
bat_bts_draw.txtGMT プロットコマンド用
Bootstrap 点推定値ヒストグラム
FilenameDescription
bat_BHI_M.txt制御用
bat_bhi_draw.txtGMT プロットコマンド用


振動関係

東アジア震央分布図

fig
Seismicity map of the East Asia area (data: webpage of USGS)

プログラムと関連文書

関連文書

FilenameDescription
TeX_vib.pdf振動に関する基礎的事項
TeX_tha.pdf平面骨組解析のための参考文書
TeX_v2dim.pdf2次元動的解析のための参考文書

地震動解析のためのプログラムソースコード

FilenameDescription
f90_ARS.txt加速度応答スペクトル計算プログラム (線形加速度法使用)
f90_EQSP.txt加速度応答スペクトル計算プログラム (大崎先生による)
f90_FSP.txtフーリエスペクトル計算プログラム
f90_MAKEWAVE.txt模擬地震動波形作成プログラム
f90_PHASE.txt位相角・位相波計算プログラム
f90_ARSFFT.txt加速度応答スペクトル計算プログラム (周波数領域: FFT使用)

平面骨組解析のプログラムソースコードと関連文書

FilenameDescription
f90_EGV_VFRM.txt平面骨組固有振動数解析用FEMプログラム
en_TeX_data_io_vfev.pdf平面骨組固有振動数解析入出力書式解説文書
f90_FEM_VFRM.txt平面骨組動的応答解析FEMプログラム (平均加速度法使用)
en_TeX_data_io_vfth.pdf平面骨組動的応答解析入出力書式解説文書

2次元応力解析のプログラムソースコード

FilenameDescription
f90_FEM_V2DIM.txt2次元動的応答解析用FEMプログラム (平均加速度法採用)
f90_NUMv2dim.txt節点番号最適化プログラム (f90_num.exe が必要)
f90_num.txt節点番号最適化プログラムの主要部
f90_DECO.txt引き戻し計算用プログラム


pic
inserted by FC2 system