一般座標系を用いて計算格子を作成する場合、計算を安定して流すために抑えておくべき点が何かありましたらご教示頂けますでしょうか。(例えば、折れ点を増やしすぎない等。添付ファイルにイメージを示します。)
よろしくお願い致します。
genki.takahashi様
Morpho2DHのカテゴリでの投稿でしたが、想定されているのは土石流・泥流モデルのご使用でしょうか? 添付PDFを見て河道の非定常平面2次元流れと掃流砂・浮遊砂を対象とした河床変動の解析を行うことを想定して以下にコメント致します。 斜面崩壊を初期条件とした土石流・泥流の流動・堆積過程の解析を行いたいということでしたら下記コメントはそぐわないかもしれません。。。 土石流・泥流解析の場合では解析範囲を包括できるように大きく矩形範囲で格子を作成しているのをよく見ます。
ーーーー以下コメントーーーー
格子作成時の注意点については下記資料に記載がございますので御覧ください。
iRIC HP–>ダウンロード–>Tips&Tools–>iRICを操作する上での注意点について https://i-ric.org/download/iric-notes/
添付PDFの折れ線を少なくするかについては場所や何を計算したいかなど場合によります。 河道の流れに合わせて格子を生成する場合のメリットとしては、横断方向への流速は流下方向の流速と比較して小さいので横断方向の格子サイズを細かくしてより詳細に計算を行うことができます。 包括するように格子を作成した際に格子横断方向に河川が流れている場合、CFL条件を満たすように流速に合わせて横断方向の格子サイズを大きくして上げる必要が出てきます。
また、格子中心線が曲がっている場合、以下のように曲部の内側と外側で格子サイズの差が生じ曲率が大きい場合内側で格子が重なってしまう場合があります。 https://i-ric.org/webadmin/wp-content/uploads/2023/09/2.png このように重なってしまったり格子が歪んだ状態では計算がうまくできません。隣り合った格子の大きさが大きく異なる場合も同様です。 そのため、曲率が大きい箇所では無理に河道のカーブに合わせずに計算範囲を包括できるような格子を作成するのが適していると思います。
ただし、Nays2DHのマニュアルp56の「V. 注意事項」に書いているようにソルバーによっては格子上流端のすべてから水が流れるので、上流端で堤外地を含むように格子を作成してしまうと堤外にも水が流れてしまいますので、格子を堤内地に収めるか堤外は障害物セルに設定するなどの必要があると思います。 Nays2DFloodのように任意の位置に境界条件を設定して流入位置を指定できるソルバーもあります。
最後に非定常平面2次元流れと河床変動の解析を行いたい場合ですが、iRICではNays2DHというソルバがあります。 これはMorpho2DHに搭載されている非定常平面2次元流れと掃流砂・浮遊砂を対象とした河床変動の解析機能に加え河岸侵食モデルや合流点モデルも使用可能ですので是非ご検討ください。
私がパッと思いついたものはこのあたりになります。 私もそこまで詳しくないため他の方からもコメントをいただけると幸いです。
回答頂きありがとうございます。 使用しているのは「土石流・泥流モデル」でございます。 やはり指摘のとおり、私が作成していた格子を確認すると、流下方向の変化に沿うように格子を作成しておりましたので、曲率が大きな箇所ではメッシュが重なってしまったり、隣合うメッシュのサイズが大きく異なるような箇所がありました。 河川のように湾曲部がいくつも現れるようなものでもないですので、計算したい範囲の上流から下流を見通して、概ねの流れの方向になるように格子を作成して計算してみようと思います。
また、頂いた回答ついでで申し訳ないのですが、CFL条件について質問してもよろしいでしょうか。 CFL条件を満たすように流速に合わせて格子サイズを設定する必要があるとのことですが、土石流のような流速の大きな現象を対象とする場合は、タイムステップを細かく設定する必要があるという認識でよろしいのでしょうか。 格子サイズは推奨サイズである2m×2mと細かく設定しているため、今はタイムステップを0.01とか0.001としているのですが、より小さな値とする方がよろしいのでしょうか。
以上、大変恐縮ではございますが、ご確認お願い致します。
Q.1 >CFL条件を満たすように流速に合わせて格子サイズを設定する必要があるとのことですが、土石流のような流速の大きな現象を対象とする場合は、タイムステップを細かく設定する必要があるという認識でよろしいのでしょうか。
A.1 はい、CFL条件ついての認識はgenki.takahashi様の認識で問題ございません。 タイムステップ毎の移動量v×Δtが格子間隔Δxより小さくなる必要があるため、vが大きい場合はCFL条件を満たすように相対的にΔtを小さくします。 格子間隔Δxを小さく設定した場合も相対的にΔtを小さくします。
Q.2 >格子サイズは推奨サイズである2m×2mと細かく設定しているため、今はタイムステップを0.01とか0.001としているのですが、より小さな値とする方がよろしいのでしょうか。
A.2 タイムステップΔtはCFL条件を満たすように設定する必要がありますが、タイムステップを細かくしたからといって計算精度が向上するというものではありません。 過度に小さいタイムステップは計算時間の増加に繋がりますので、計算が発散して途中で止まったりしない程度に設定をするのがよいかと思います。 最初に大きなタイムステップを設定し、計算が失敗する場合は徐々にタイムステップを小さくして適切なタイムステップを探ると時間の節約になります。
格子サイズについても、細ければ細かいほどより詳細な結果を得られますが、計算負荷が大きくなりますので計算の目的やご使用の環境によって調整してみてください。
どうぞよろしくお願い致します。
早急に回答頂きありがとうございました。助かりました。 タイムステップについても詳細に助言頂きありがとうございました。 タイムステップを小さくすればよいというわけではないということも理解致しました。 (実際計算を回していると、タイムステップ0.01ではうまく計算が流れるのに、0.001とすると計算が途中で発散してしまうようなものもありました)
一般的な土石流の速度が20~40km/h(5.55~11.1m/s)であることを踏まえると、メッシュサイズ2m×2mとする場合、タイムステップは少なくとも0.1以下になるように設定するのが望ましいと言える気がします。(チュートリアルのデフォルト値は0.01となっているので、これを大きく包括できています)
色々と丁寧に回答頂きありがとうございました。
コメントを投稿するにはログインしてください。
このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください。
コメント
genki.takahashi様
Morpho2DHのカテゴリでの投稿でしたが、想定されているのは土石流・泥流モデルのご使用でしょうか?
添付PDFを見て河道の非定常平面2次元流れと掃流砂・浮遊砂を対象とした河床変動の解析を行うことを想定して以下にコメント致します。
斜面崩壊を初期条件とした土石流・泥流の流動・堆積過程の解析を行いたいということでしたら下記コメントはそぐわないかもしれません。。。
土石流・泥流解析の場合では解析範囲を包括できるように大きく矩形範囲で格子を作成しているのをよく見ます。
ーーーー以下コメントーーーー
格子作成時の注意点については下記資料に記載がございますので御覧ください。
iRIC HP–>ダウンロード–>Tips&Tools–>iRICを操作する上での注意点について
https://i-ric.org/download/iric-notes/
添付PDFの折れ線を少なくするかについては場所や何を計算したいかなど場合によります。
河道の流れに合わせて格子を生成する場合のメリットとしては、横断方向への流速は流下方向の流速と比較して小さいので横断方向の格子サイズを細かくしてより詳細に計算を行うことができます。
包括するように格子を作成した際に格子横断方向に河川が流れている場合、CFL条件を満たすように流速に合わせて横断方向の格子サイズを大きくして上げる必要が出てきます。
また、格子中心線が曲がっている場合、以下のように曲部の内側と外側で格子サイズの差が生じ曲率が大きい場合内側で格子が重なってしまう場合があります。
https://i-ric.org/webadmin/wp-content/uploads/2023/09/2.png
このように重なってしまったり格子が歪んだ状態では計算がうまくできません。隣り合った格子の大きさが大きく異なる場合も同様です。
そのため、曲率が大きい箇所では無理に河道のカーブに合わせずに計算範囲を包括できるような格子を作成するのが適していると思います。
ただし、Nays2DHのマニュアルp56の「V. 注意事項」に書いているようにソルバーによっては格子上流端のすべてから水が流れるので、上流端で堤外地を含むように格子を作成してしまうと堤外にも水が流れてしまいますので、格子を堤内地に収めるか堤外は障害物セルに設定するなどの必要があると思います。
Nays2DFloodのように任意の位置に境界条件を設定して流入位置を指定できるソルバーもあります。
最後に非定常平面2次元流れと河床変動の解析を行いたい場合ですが、iRICではNays2DHというソルバがあります。
これはMorpho2DHに搭載されている非定常平面2次元流れと掃流砂・浮遊砂を対象とした河床変動の解析機能に加え河岸侵食モデルや合流点モデルも使用可能ですので是非ご検討ください。
私がパッと思いついたものはこのあたりになります。
私もそこまで詳しくないため他の方からもコメントをいただけると幸いです。
回答頂きありがとうございます。
使用しているのは「土石流・泥流モデル」でございます。
やはり指摘のとおり、私が作成していた格子を確認すると、流下方向の変化に沿うように格子を作成しておりましたので、曲率が大きな箇所ではメッシュが重なってしまったり、隣合うメッシュのサイズが大きく異なるような箇所がありました。
河川のように湾曲部がいくつも現れるようなものでもないですので、計算したい範囲の上流から下流を見通して、概ねの流れの方向になるように格子を作成して計算してみようと思います。
また、頂いた回答ついでで申し訳ないのですが、CFL条件について質問してもよろしいでしょうか。
CFL条件を満たすように流速に合わせて格子サイズを設定する必要があるとのことですが、土石流のような流速の大きな現象を対象とする場合は、タイムステップを細かく設定する必要があるという認識でよろしいのでしょうか。
格子サイズは推奨サイズである2m×2mと細かく設定しているため、今はタイムステップを0.01とか0.001としているのですが、より小さな値とする方がよろしいのでしょうか。
以上、大変恐縮ではございますが、ご確認お願い致します。
Q.1
>CFL条件を満たすように流速に合わせて格子サイズを設定する必要があるとのことですが、土石流のような流速の大きな現象を対象とする場合は、タイムステップを細かく設定する必要があるという認識でよろしいのでしょうか。
A.1
はい、CFL条件ついての認識はgenki.takahashi様の認識で問題ございません。
タイムステップ毎の移動量v×Δtが格子間隔Δxより小さくなる必要があるため、vが大きい場合はCFL条件を満たすように相対的にΔtを小さくします。
格子間隔Δxを小さく設定した場合も相対的にΔtを小さくします。
Q.2
>格子サイズは推奨サイズである2m×2mと細かく設定しているため、今はタイムステップを0.01とか0.001としているのですが、より小さな値とする方がよろしいのでしょうか。
A.2
タイムステップΔtはCFL条件を満たすように設定する必要がありますが、タイムステップを細かくしたからといって計算精度が向上するというものではありません。
過度に小さいタイムステップは計算時間の増加に繋がりますので、計算が発散して途中で止まったりしない程度に設定をするのがよいかと思います。
最初に大きなタイムステップを設定し、計算が失敗する場合は徐々にタイムステップを小さくして適切なタイムステップを探ると時間の節約になります。
格子サイズについても、細ければ細かいほどより詳細な結果を得られますが、計算負荷が大きくなりますので計算の目的やご使用の環境によって調整してみてください。
どうぞよろしくお願い致します。
早急に回答頂きありがとうございました。助かりました。
タイムステップについても詳細に助言頂きありがとうございました。
タイムステップを小さくすればよいというわけではないということも理解致しました。
(実際計算を回していると、タイムステップ0.01ではうまく計算が流れるのに、0.001とすると計算が途中で発散してしまうようなものもありました)
一般的な土石流の速度が20~40km/h(5.55~11.1m/s)であることを踏まえると、メッシュサイズ2m×2mとする場合、タイムステップは少なくとも0.1以下になるように設定するのが望ましいと言える気がします。(チュートリアルのデフォルト値は0.01となっているので、これを大きく包括できています)
色々と丁寧に回答頂きありがとうございました。