0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

XBeachをはじめてみる

Posted at

Xbeachとは

Xbeachは,オランダのデルフト工科大学を中心とするグループにより開発された2次元の波や海浜における土砂の輸送,地形変化をシミュレーションすることができるソフトウェア.

導入

ここからダウンロード可能(※Deltaresアカウントが必要).precompiled buildsを使えば環境構築などをせずすぐに使用可能.
今回は,precompiled buildのXBeach_v1.24_Halloween_win64_netcdf.zipをダウンロードする.
_netCDFバージョンは,netCDF形式のデータの入出力が可能.

計算のしかた

ダウンロード後,zipを解凍すればすぐに実行可能.
実行ファイルは,xbeach.exe

param.txt

XBeachの実行にはこのparams.txtというファイルが必要(xbeach.exeと同じディレクトリに格納).
このファイル内には,格子や地形,水理条件などの情報が,keyward=valueの形式で格納されている.
各行あたり1つのパラメータを記述可能であり,=のない行はコメントとして扱われる.

以下例

params.txt
%%%                            %%%                       
%%%  date:  01-Jan-2015  12:00 %%%
%%%  function:  xb_write_params %%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 

%%% Grid parameters %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
depfile  =  bed.dep
posdwn  =  0
nx  =  265
ny  =  0
alfa  =  0
vardx  =  1
xfile  =  x.grd
yfile  =  y.grd
thetamin  =  -90
thetamax  =  90
dtheta  =  15
thetanaut  =  0 
%%%  Model  time  %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 

tstop  =  3600

%%%  Physical  constants  %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 

rho  =  1025

%%% Tide boundary conditions %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

tideloc  =  2
zs0file  =  tide.txt

%%% Wave boundary condition parameters %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
wbctype  =  jons
bcfile  =  filelist.txt 

%%%  Output  variables  %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
outputformat  =  netcdf 
tint  =  3600
tstart  =  0 
nglobalvar  =  3 
zb
zs
H

モデルを動作させるために必要なパラメータは限定的で,必須パラメータ以外にはデフォルト値が自動的に適用される.
JONSWAPスペクトル(沿岸域での波を表す波浪スペクトルモデルの)を使った波浪シミュレーションを実施する際に必要な入力は,以下の5個.

  1. 格子
    XbeachフォーマットもしくはDelft3Dフォーマットを使用可能.Xbeachフォーマットの場合は,keyword: xfile, yfileを指定.Delft3Dフォーマットの場合は,keyword: xyfileを指定.また,keyword: nx, nyで格子の幅を指定する必要がある.

  2. 地形ファイル
    格子ファイルとして指定したファイルに適合するファイルをkeyword: depfileに指定.

  3. 計算時間
    シミュレーション時間をtstopで指定する.

  4. 波向き
    thetamin, thetamax, dthetaに最小・最大角とビン幅を指定.ここでの向きというのは,波が進む向きである.仮に西から波が来る場合は,thetanaut=0(x軸正方向すなわち東が0°)-90°~90°を指定しておけばいい.

  5. 計算モードの指定
    wbctype(Wave Boundary Condition Type)にjonsを指定すると,JONSWAPスペクトルを計算に使用する.(ほかのスペクトルを使う場合はここを変更.)※instat=jonsを要求してくる.
    bcfileは具体的な波の条件(ピーク周期,有義波高など)を記載したファイルを指定する.

できるだけ,入力するパラメータ数は少なくすることが推奨されている.
ログファイル(XBlog.txt)に,設定したパラメータとデフォルト値が使用されたパラメータが出力される.

各種物理過程

XBeachでは,各種パラメータをON/OFFすることで多様な物理過程のシミュレーションが可能.

パラメータ名 説明 デフォルト値 値の範囲
advection 移流項を含める 1 0-1
avalanching 斜面崩壊の有効化 1 0-1
cyclic 周期境界条件の有効化 0 0-1
flow 流れの計算の有効化 1 0-1
Iwave 短波の作用を含める 1 0-1
morphology 地形変化を有効化 0 0-1
q3d 準3次元の土砂輸送を有効化 0 0-1
sedtrans 土砂輸送を有効化 1 0-1
setbathy 与えられた地形変化の時系列を入力 0 0-1
swave 短波を有効化 1 0-1

など

格子と水深

格子点数は,nx(岸沖方向), ny(沿岸方向)によって定義される.
したがって,計算格子の大きさは(nx+1)×(ny+1)になる.
水深は,depfileで指定されるファイルから与えられる.このファイルは,(nx+1)×(ny+1)で作成する.
各セルに対して水深が与えられ,各行が岸沖方向のトランセクトに対応する.
値は正の値が水深を意味する.(posdwnにより変更可能`)

格子の種類

1. Fast 1D grid

沿岸方向のセルは1つだけ.ny=0とし,depfileは1行になる.

2. 1D grid

沿岸方向のセルは3つで,ny=2とする.depfileは3行になる.

3. 2DH grid

沿岸方向のセルは3つより多く,ny>2とする.

地形ファイルは,スペース区切りで作成する.

格子は等間隔はもちろん非等間隔にも設定可能.

  • 等間隔の場合
    格子サイズをdx, dyで指定
  • 非等間隔の場合
    vardx=1とする.
    格子内のx,y座標は,xfile, yfileから与える.
    (Delft3D用の格子も使用可能.その場合はgridform=delft3Dとし,xyfileに格子ファイルを与える.)

波向き用の方向格子も設定する必要がある.
最小角度(thetamin)、最大角度(thetamax)、方向ビン幅(dtheta)を設定する.
thetanautで角度の設定方法を定義する.0のときCartesian convention(計算格子のx軸に対する角度),1のときNautical convention(北を基準とする角度).

波のインプット

XBeachでは,外洋側の境界に波を強制的に与えることでモデリングを行う.
入射される波は,

  • wave action balance
  • wave dissipation model
  • wave roller model
    により記述される.

XBeachではいろいろな境界条件を持つ波に対応している.それは,大きく2種類(定常型とスペクトル型)に分けられる.
wbctypeによって,波の境界条件を選択できる.どんなタイプの波を使うべきかは,以下の画像に従って選択.
image.png
時間的空間的に変化する入力を行うことも可能.

スペクトル波境界条件

wbctypeをjons, swan, vardens, または jons_tableにすると有効になる.
bcfileで定義した別のファイルのパラメータをもとに,スペクトル波を生成する.
rtが生成する時系列の長さで,dtbcが生成する波の分解能になる.

JONSWAPスペクトル

wbctype = jonsとすると,JONSWAPスペクトルで波が作られ,その性質はbcfileで指定される.bcfileの例は以下の通り.

jonswap.txt
Hm0 = 0.8
Tp = 8
mainang = 285.
gammajsp = 3.3
s = 10.
fnyq = 0.3

各種パラメータはすべてoptionalで,指定されなかった場合はデフォルト値が適用される.
wbctype = jons_tableとすることで,波の性質を時間変化させることも可能.この場合は,必要な全パラメータが記載されている必要あり.(詳細はマニュアル参照)

1Dシミュレーション時のparams.txtjonswap.txtのオランダの場合の入力例は以下から確認できる.

基本的にはこのパラメータを使用し,地域に応じて適切に値を変更する.
ほかにもチュートリアルや例がマニュアルに多数掲載されているので,それをもとにパラメータを設定するとよい.

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?