Groundwater
Free Surface-4

Program: BEM8QUDS.FOR
このプログラムは、BEM8QUDR.FOR をベースにして作りました。Free surface と seepage face の位置を計算するために、下表に示す変数を導入しました。

変数名 Type 目的/意味
MXFREE 整数 考えられる Free surface の数の最大値
MXSEEP 整数 考えられる Seepage face の数の最大値
NFREE 整数 Free surface の節点数
NSEEP 整数 Seepage face の節点数
IFREE 整数/1次元配列 Free surface の節点番号
ISEEP 整数/1次元配列 Seepage face の節点番号

変数 MXFREE と MXSEEP は、Main program の PARAMETER で設定してあります。つまり、IFREEとISEEPの配列の大きさを決めています。その他の変数についたは、例題のところで詳しく説明します。また、Main program では、解の収束の制御パラメーターとして、ALLOWANC と MAXITERA があります。これらは、それぞれ許容誤差と最大繰り返し回数を意味し、プログラムでは、 1.D-4 と 30 に設定してあります。

次に、新しく導入されている Subroutine について説明します。下表に概略をまとめておきました。ここで、注意しておきたい事があります。それは、座標です。説明では、x と z を使いましたが、プログラムでは、x と y を使っています。

Subroutine名 役 割
YMINMAX 与えられた領域の最大と最小のy座標値を計算します。そして、最大のy-最小のy をDMAINHTとして元へ返します。この変数は、収束の判定のときに使います。
MONITOR 解の収束状況をコンソールに表示します。
QZERO 説明の時に用いた点 A の節点を持つ seepage face 上の要素を探します。要素番号は、ITOPELE に入ります。要素は、3つの節点 (i,j,k)で構成されています。点 A は、要素 ITOPELE の k に存在しているものとしてプログラムは理解します。
RECOORD Free surface と seepage face の新しい座標値を計算します。このSubroutine では、まず、qn を用いて、seepage face の新しい座標を計算し、h(xi)=yi とします。次に、free surface を yi=h(xi) とします。 そして、誤差を計算します。

BACK NEXT
Menu Point Source Free Surface Free Surf/Point Q Holes