Groundwater
Free Surface-5

■Subroutine RECOORD■
Free surface と seepage face の座標計算をおこなっている Subroutine RECOORD について、もう少し詳しく説明します。まずは、 Subroutine RECOORD で使われている主な変数を下に紹介します。

変数名 Type 目的/意味
ERRORMAX 実数 Free surface の |h(xi)-yi|/Height の最大誤差
UPRATE 実数 説明で使ったαにあたいします。節点 A を、上へ移動させるときのαです。
DWRATE 実数 説明で使ったαにあたいします。節点 A を、下へ移動させるときのαです。
DMAINHT 実数 領域の高さです。説明では、Height としてあります。
BV(ITOPELE,3) 実数 seepage face の 節点 A のqn です。
T 実数 T は、2点間を、無次元数の0.0から1.0で表す。

Subroutine では、まず、seepage face の 節点 A のqn をチェックします。プログラムでは、qn=BV(ITOPELE,3) です。次に、新しい節点 A の高さY2を計算します。BV(ITOPELE,3) によって、Y2 の計算式が違います。

Seepage face の次は、free surface の座標を計算します。プログラムでは、yi=h(xi) を実行する前に、次の式で誤差を計算します。

ERRORMAX = DMAX1 ( ERRORMAX, DABS((Y(NODE)-H(NODE))/DMAINHT) )

計算を継続して行くと、seepage face の高さは、低くなり、節点間の距離が短くなります。計算の精度を上げるには、好都合です。しかし、free surface 上の節点間の距離は、間延びすることになります。すると、seepage face に近いfree surface 上の節点では、h(x) に誤差が多く含まれることになります。これを防ぐために、下式が座標計算に使われています。

T = DFLOAT(I-1) / DFLOAT(NFREE-1)
IF ( NSEEP .GT. 0 ) T = T ** 1.5
X(IFREE(I)) = X1*(1.D0-T) + T*X2
指数 1.5 を使うことにより、free surface 上の節点は、少しseepage face へ移動します。

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