※前々回の記事がまとまっていなかったので削除しました。
2D Upwind Flux Scheme:Dry-Bed Dam-Break
ほぼ完成しました。一応ちょっとごまかしましたが、乱流項も入れました。 乱流項ありなしのgifを貼っておきます。
粗度・乱流なし
粗度・乱流あり
ソースコードは、gistに貼っておきます。
gist7465c294cf2dd62ba0e13294982933d9
ついでに1Dに少し間違いがあったのでgistを更新しました。
gist2ff266ef913bcbf3a142a39991e9df81
ただし、2Dの計算は、私のPC(surface)で約1時間かかりますので、現実的には使い物になりません。
そこで次の項目です。
ポインタによる配列結合を用いたFortranの計算
コロケート格子で計算することのメリットである変数の扱いやすさを利用して、以前から考えていたようにセルを全てポインタで結合する計算を書いてみました。
DBに置いておきますのでぜひコードを見てほしいです。
自分で言うのもなんですが、ちょっと芸術的なコードです。fortranなのに2D計算のコードがここまですっきりするとはという感じです。
クラスの定義方法などを次回勉強会で相談させて頂きたいです。
次は河床変動を組み込もうと思ってます。