読者です 読者をやめる 読者になる 読者になる

趣味で計算流砂水理

Computational Sediment Hydraulics for Fun

2D Upwind Flux Scheme:Dry-Bed Dam-Break

※前々回の記事がまとまっていなかったので削除しました。

2D Upwind Flux Scheme:Dry-Bed Dam-Break

ほぼ完成しました。一応ちょっとごまかしましたが、乱流項も入れました。 乱流項ありなしのgifを貼っておきます。

粗度・乱流なし f:id:SedimentHydraulics:20170223193617g:plain

粗度・乱流あり f:id:SedimentHydraulics:20170223193700g:plain

ソースコードは、gistに貼っておきます。

gist7465c294cf2dd62ba0e13294982933d9

ついでに1Dに少し間違いがあったのでgistを更新しました。

gist2ff266ef913bcbf3a142a39991e9df81

ただし、2Dの計算は、私のPC(surface)で約1時間かかりますので、現実的には使い物になりません。

そこで次の項目です。

ポインタによる配列結合を用いたFortranの計算

コロケート格子で計算することのメリットである変数の扱いやすさを利用して、以前から考えていたようにセルを全てポインタで結合する計算を書いてみました。

DBに置いておきますのでぜひコードを見てほしいです。

自分で言うのもなんですが、ちょっと芸術的なコードです。fortranなのに2D計算のコードがここまですっきりするとはという感じです。

クラスの定義方法などを次回勉強会で相談させて頂きたいです。

次は河床変動を組み込もうと思ってます。