2020年7月23日木曜日

リニア中央新幹線 有識者会議

先日、御客様との話の中で、静岡のリニア問題に関する話題が出ました。

これ、詳細な議事録が公開されています。以前より興味があり目を通していたのですが、お客様の中にも気になる方がいらっしゃるようですね。

リニア中央新幹線静岡工区 有識者会議

議事録を読んだ際に感心したのが以下の点。(第2回議事録)
  • 解析モデルの不確実性ををふまえた上でのリスク管理システムを作っていただきたいと住民側が要望している。
  • 通常は住民側が安全・危険の2択で質問・要望するのに対し、エンジニア側がリスク管理の視点で説明する。しかし、ここでは逆転している(住民側がリスク管理、リスクコミュニケーションの向上をJR東海さんにお願いしている)。
住民側として説明をうけるはずの静岡県が総監技術士の視点で発言しているのに対し、JR東海さんが主に専門技術士の視点で説明しているような異例の流れとして読めます。JR東海さんの地下水解析の委託先は国際航業さんとのこと。リスク対応方針を決める立場ではない担当技術者の心中を察します。
モデルの不確実性については、「地下水モデル」にも書かれていました(備忘録としてまとめた内容はどこかに置いたかな?)。理解できていない部分がまだ残っていますが、大事な内容です。この不確実性の結果も見据えて静岡県にアドバイスされているブレインがいらっしゃれば、その方は優秀です。見習わねば。


もう一点。使用するアルゴリズムへの委員からの指摘です。(第3回議事録)
  • 委員からは、そもそもの解析ソフトももっと最新のもの、国際的なものがあるので、そちらでやって欲しいとの意見を散々申し上げているが、JR東海からは、高橋の方法だとか国鉄時代のものを使用すると言われてしまうので、そうなると私達としても結果を検証できない。
第1回議事録に「水収支モデル(TOWNBY)」の記載があります。これが「国鉄時代」のアルゴリズムです。TOWNBY 以外の新たな手法を要望される方がいらっしゃるのを初めて知りました。この方の仰る国際的なモノとはどれでしょうね。
広域モデルである程度の精度で予測し、その結果を個別の詳細モデルの境界条件として利用し精度向上を図るという2段階手法は常套手段だと考えます。それを100mメッシュ(感覚では広域モデル相当)のTOWNBY のみで説明を通そうとされるのは、確かに乱暴かもしれません。それ故、副知事の仰る不確実性を明記し、それを踏まえたリスク管理が求められるのでしょう(厳しいですが、理解します)。
私なら、詳細モデルとして何を使うでしょうか?おそらく、知り合いの先生のアルゴリズム(浸透流+地表流NS)を利用させてもらえないか、まず相談するでしょうね。ダメなら GETFLOWS でしょうか。高価ですし、自分で修正できないのが難点ですが。
不確実性は統計手法が良いでしょう。浸透流の予測結果に対して実施したことはありませんが、z分布、t分布などを仮定した検定のような手法を当てはめることができそうです。


目指すは専門技術・リスク管理技術の両輪での解決。総監の視点が必要です。
私レベルだと一人で解決に導くことは難しいでしょう。が、技術者としては腕の見せ所です。JR東海さんが合意に向かう道筋を見つけられるよう、今後を期待しています。


2020年7月19日日曜日

クロネッカーのδ、ディラックのδ関数

紛らわしい名称ですが、内容は異なります。


クロネッカーのδ(単位行列など)

δij=1 (i=j)
    =0 (i≠j)


ディラックのδ関数(SPHカーネルなど)

δ(x-x’)=∞ (x=x’)
   =0 (x≠x’)

Change Detection

航空写真や衛星画像を用いた classification や change detection は古くからあります。

それ故、手法は多数あり、目的や要求精度などによって自由に選択できる状況です。手元の洋書には、change detection のみで8つの手法が紹介されています。

以前に拝見した国総研さんのレポートに、以下の案内がありました。
合成開口レーダ(SAR)画像による土砂災害判読の手引きの作成

関連資料はコチラ↓
2偏波SAR 画像による大規模崩壊及び河道閉塞箇所の判読調査手法(案)
災害時における衛星画像等の活用を促進

2時期の強度画像を用いた目視による崩壊個所の検出作業です。change detection の一つなので、要求される技術レベルは(目検索であれば)低い方です。入社当時、LANDSATデータを画像化してPhotoshopでRGB合成していた、そのような作業と同レベルですね。
昨年の台風19号のように短時間かつマンパワーを必要とする広域災害が今後も発生すると想定されるため、各自治体で分散実施できるように手引きにまとめられたのかもしれません。※今月の SAR は現行体制のままのようです。

残念ながら PSInSAR のような、いくつかの分野に展開できる作業は含まれていません。相対的に高度であることや、現行体制の諸事情?により展開されないのでしょう。で、マンパワーの必要な「作業」のみを外に出す形になるのだと想像しています。

現在、Detection では使用するソースの多様化、高次元化により、コンペ等で機械学習による精度向上が競われているところです。近い将来、マンパワーが機械学習に取って代わるでしょう。民間も売れる技術を整備しなければならないのですが、「SAR って何?」という executives が占める会社では現状、「作業」すら難しい状況です。
ま、ここは他社さんに任せましょう。


2020年7月13日月曜日

極小アレイ + H/V

山本他「岩手県久慈市における微動アレイ探査による地盤振動特性の評価」物理探査 2019 年 72 巻 p. 8-16
極小微動アレイ(3Hz~、深度10m程度の分散曲線)のみでなく、H/V(ピーク周期)も満足する速度構造を推定。


極小アレイは手軽な反面、探査震度が浅いと感じていたのは、私だけではなかったようです。それを補完する目的で(理論)H/V を併用するという考え方は、現場作業が増えず理想的です。
が、理論 H/V の計算手順がわかりません。ミディアムレスポンスって何?状態。

で、プロに聞きました。

ありがたいことに、900ページ超のテキストを御貸し頂きました。また、ソフトも紹介いただきました。

残念ながら、このテキストの導入部(連続体力学部分)以外は全く理解できません。とっかかりすら掴めません。ソフトがあるので実務への適用は困らないのですが、導出くらいは理解したいところです。うーん。学生の頃にもっと勉強しておくべきでした。後悔。

ま、次の機会にプロと相談しながら計算してみましょう。

2020年7月8日水曜日

睡眠

災害は待ってくれません。

今年の災害シーズンは始まったばかりなのですが、いきなり夜半から出勤。

一仕事終えてようやく帰宅。人のためだからできるのかも。

今日は寝ましょう。

************************
20200709
隣の席の方も徹夜でした。2徹にならないようお客様の方が配慮してくださったようです。あれ?

20200713
ブーストが切れるとガクッときます。肉体的にも精神的にも。
年ですね~。


2020年7月6日月曜日

コロナ禍と災害

毎年どこかに必ず訪れる災害。

被災せずとも心が痛みます。

今回の熊本県の災害でも、SAR利用での浸水範囲、土砂崩れ位置が公表されていました。
今日は航測会社さんが、可視画像による判読結果を公開されていました。
もう、一連の流れです。

今年はコロナ禍における災害発生が早くから想定されており、避難所設営時の対応が求められていました。危機管理マニュアルに沿って被災者に負担なく実施できたと願うところです。

2020年7月4日土曜日

TELEMAC-2D + SISYPHE

Finally, riverbed change calculation.
Coupling SISYPHE with TELEMAC-2D (v8p1r1).

Prepare 2 'cas' and 2 'cli' files for sis and t2d respectively. If you set a boundary condition as unsteady sediment discharge, it will be recommended to prepare 2 'liq' files for better interpretability.

The setting that bothered me till the end was 'cli'.
*I've only tried bed-lord, so the following is limited to that. 

**********************************
cli (boundary condition file )
**********************************
First, set the boundary conditions. The user manual (v8p1) contains incorrect expressions . You must enter a non-zero value when setting the time series sediment inflow.
Time-series of sediment discharge
The SISYPHE’s boundary condition file must contain the flags as shown below:
4 5 5 0.0 0.0 0.0 0.0 4 0.0 0.0 0.0 565 1
4 5 5 1.0 0.0 0.0 0.0 4 0.0 0.0 0.0 565 1
Regardless of 1.0 and so on, the time series data in the liq file will take precedence. 
The keyword PRESCRIBED SOLID DISCHARGES must be also included in the steering file,with an arbitrary (but not 0.0) value.

If you set solid discharge =1.0 m3/s (without porosity)  in the 'liq' file and NON COHESIVE BED POROSITY = 0.4, printouts information about solid is 1.66666 m3/s (with porosity) at the time step. In manual,
When the keyword PRESCRIBED SOLID DISCHARGES is used, the mass balance provided in the listing printouts information accounts for the pores = Qb/(1-λ), with λ the porosity.
 
*********************************
liquid file(from the forum)
*********************************
liquid Input file for bed load or suspended load
T QG(1) QG(2) CG(3) CG(1,1) CG(1,2) CG(2,1) CG(2,2) CG(3,1) CG(3,2)
(1) is the number of the boundary

How to IMPOSE a time-series of BED-LOAD discharge ?
I managed to run a simulation with Liquid Boundary File for Sisyphe (version V8P0)
As you did, it's necessary to put QG instead of Q2BOR. Remenber that the unit is m3/s (without porosity).
 
*********************************
rigid bed
*********************************
In manual, 
Non-erodible bed everywhere
Replace in noerod.f the line of code: 
CALL OV(’X=Y+C ’,ZR,ZF,ZF,-100.D0,NPOIN)
with
\texttt{CALL OV(’X=Y+C ’,ZR,ZF,ZF,0.D0,NPOIN)}
 But source shows below
CALL OV('X=Y+C   ', X=ZR, Y=ZF, C=-100.D0, DIM1=NPOIN)
So, I fixed it like ↓
CALL OV('X=Y+C   ', X=ZR, Y=ZF, C=0.D0, DIM1=NPOIN)
I'm checking it now.


2020年7月3日金曜日

TELEMAC parallel

TELEMAC のインストール時に、mpich2 が含まれていました。

「OpenMP ではなくて MPI か」で素通りしました。というのも、MPI の概要は理解していましたが、具体的な利用手順、コマンドを一切知りませんでした。

せっかくなので telemac2D を parallel で動かそうと思ったのですが、そのコマンドがわかりません。マニュアルを見ても具体例が書かれていません。で、Forum を検索。発見。

まずは初回にユーザーと pass を登録。
mpiexec -register

次に実行。
CONFIGNAME '-c wing64mpi' を加えただけです。CONFIGNAME って、config ファイルに書かれているコンパイラー識別コードのようなモノのことだったのですね。 
telemac2d.py -c wing64mpi ***.cas

cas ファイル内で4コア指定
PARALLEL PROCESSORS = 4

これで parallel 版も動きました。single で14.5時間かかった自由表面流れのモデルが、4コアで9.5時間でした。早くなっています(といっても、2次元計算にしては遅いと感じています)。

Forum を見る限り、領域分割を行っているようです。今、詳細を追いかけようとは思っていませんが、いずれ理解したいですね。

2020年7月2日木曜日

TELEMAC keywords

TELEMAC のマニュアルが薄くてラッキーと感じていたのは最初だけでした。

離散化は FEM or FVM ですが、まず、その切り替えにかかわるキーワードの設定が書かれていません。Forumで検索して見つけたのですが、このような説明不足と感じるキーワードが進むにつれて多く出てきました。都度、調べて修正し、計算を実施。

設定を進めていくうちに、エラーが減り、計算速度が向上し始めました。最終的には、初期モデルに河床変動計算を加えた非定常計算が 5倍速となりました。恐ろしい。
(time series of sediment discharge の設定は時間がかかりました。マニュアルが誤っており、Forum にも具体的な設定方法が上がっていません。これについては後日、まとめておきましょう。)

以下、備忘録的に控えていたリンクや説明を記載しておきます。

*********************************
SVN revision
*********************************
CollabNet Subversion Repository: opentelemac - Revision 15180: /tags
..
v6p0r8/
v6p1/
v6p2r1/
v6p3r0/
v6p3r1/
v6p3r2/
v7p0r0/
v7p0r1/
v7p1r0/
v7p1r1/
v7p2r0/
v7p2r1/
v7p2r2/
v7p2r3/
v7p3r0/
v7p3r1/
v8p0r0/
v8p0r1/
v8p0r2/
v8p0r3/
v8p1r0/
v8p1r1/

*********************************
データ、ソフト
*********************************
TELEMAC-2D tutorial 

Graphical interface

Blue Kenue

Fudaa

SALOME

*********************************
Blue Kenue v3.3.4 操作
*********************************
メッシュ(slf)ファイルの地形標高を指定するキーワードは大文字で「BOTTOM」
×Bottom・・・認識せず、標高0mで計算されます。
〇BOTTOM

アニメーション表示
左のツリーから見たい結果を右クリックして Animate にチェック。

TXT書き出し
左のツリーから DEPTH 等を選択。
書き出したい時間を表示した後に tool bar から file - save copy as で XYZ ファイル保存

断面
open line  作成 → 右クリックから resample → tools - map object で結果を割り当て→ tool bar から Map Object で結果を当てはめ。 → file - save copy as で distance (xy) 保存。

水と土砂の境界条件設定位置、数を合わせること。
土砂流入がなくても、流入0で位置・数を合わせないと、計算時にエラーが発生。

*********************************
keywords(Forum からの引用)
*********************************
COMPATIBLE COMPUTATION OF FLUXES

FREE SURFACE GRADIENT COMPATIBILITY
Theoritically, this option is relevant with both options (1: primitive equations and 2: wave equation). The key idea behind, is to break the rigorous compatibility between water depth and velocity components which verify continuity equation in order to damp spurious oscillations that can appear in areas with high gradient of topography.
For Telemac-2D, this option is only implemented with wave equation. This is logical while this option is more fast and stable than option 1 and thus is oscillations appears with this option they will appear and will grow more and more with option 1.

MASS-LUMPING ON H
TREATMENT OF NEGATIVE DEPTH
IMPLICATION FOR DEPTH
IMPLICATION FOR VELOCITIES
MASS-LUMPING ON H : this changes the matrix stemming from the derivative in time of the depth into a diagonal. In some sense moves from finite elements to finite volumes. Effects : stabilises, smoothes. In steady state just stabilises, no effect on results.

TREATMENT OF NEGATIVE DEPTHS : the fastest algorithms in Telemac allow some slightly negative depths. To get strictly positive depths TREATMENT OF NEGATIVE DEPTHS = 2 recomputes the continuity equation and yields an equation solved with machine accuracy and positive depths. 
IMPLICITATION FOR DEPTH (or VELOCITY) : takes depth or velocity explicitely (time n) or implicitely (time n+1) in various terms of the equations. Implicit is more stable but smoothes, semi-implicit (0.5) is more accurate but the limit for stability. Important only for waves, has no effect on stedy state flows.

×FRICTION ANGLE OF SEDIMENT・・・マニュアルの誤記
FRICTION ANGLE OF THE SEDIMENT

×VARIABLES FOR GRAPHIC PRINTOUTS ='U,V,S,H,B,E,M,R,QS*'
VARIABLES FOR GRAPHIC PRINTOUTS =U,V,S,H,B,E,M,R,QS*


*********************************
FEM, FVM(Forum からの引用)
*********************************
how to choose the "finite volume scheme"
EQUATIONS = 'SAINT-VENANT VF'

**********************************
restart
**********************************
COMPUTATION CONTINUED        = YES
PREVIOUS COMPUTATION FILE    ='********.slf'
INITIAL TIME SET TO ZERO         = NO

1時間毎に記録し、1日後(24番目)の結果を利用したい場合
RECORD NUMBER FOR RESTART  = 24



**********************************
20200702修正
モデル内の計算時間を短くしていたのを忘れていました。
設定しすぎると、逆にタイムステップを乗り越えられない場合が出てきました。まだまだ触らないとわからないですね。

20200703追記
リスタート機能に関するキーワードを追加。
SISYPHE のkeywords を移動。↓
parallel はコチラにまとめました↓