前回上げたものが若干間違っていたので、修正しました。
せっかくシンプルなスキームなのにどうしても複雑になってしまいます。
河床高と水位の関係より不連続面の判定をしていますが、dxが大きくなった場合、この判定が上手く使えるか微妙なところです。
概ね安定しますが、ほんの僅かに質量保存が崩れてます。
不連続面は厄介ですね。みんなどうやってるのでしょうか。
処理なしの場合
処理を追加した場合
前回上げたものが若干間違っていたので、修正しました。
せっかくシンプルなスキームなのにどうしても複雑になってしまいます。
河床高と水位の関係より不連続面の判定をしていますが、dxが大きくなった場合、この判定が上手く使えるか微妙なところです。
概ね安定しますが、ほんの僅かに質量保存が崩れてます。
不連続面は厄介ですね。みんなどうやってるのでしょうか。
処理なしの場合
処理を追加した場合
bash on ubuntu on windows(Windows Subsystem for Linux:以下WSL)のgcc等は、5.4で、c++11以降あるいはf2003以降が使えません。なので、最新を入れました。
http://ftp.tsukuba.wide.ad.jp/software/gcc/releases/gcc-7.2.0/
から最新版の7.2をダウンロードしました。 以下を参考にソースからコンパイルしました。
https://solarianprogrammer.com/2017/05/04/building-gcc-wsl-windows-subsystem-linux/
なぜかconfigureでコケまくりました。原因不明ですが、configureの際に、buildのディレクトリを作らずにそのままの場所で行うと上手くいきました。
makeが死ぬほど時間がかかります。一晩くらいです。
この方法だと、最初からインストールされているgccとは別にgcc-7.2ができます。上書きしても問題ない気がしますが一応参考サイトのとおりに作りました。
プロキシ環境だとwget,apt等の設定が必要です。以下あたりを参考にしました。
最近は仕事モードになってきて、以前ぶっ飛んだPCの環境を整えてます。
めずらしく備忘録的にあげておきます。
私はなぜかSAGA(System for Automated Geoscientific Analyses)が好きで、QGISで処理をするときは、ほとんどSAGAプラグインを使います。 先日PCがとんだので、QGISをインストールし直したら、SAGAが全然動きませんでした。 で、そのときの対応方法です。
https://gis.stackexchange.com/questions/209902/problem-with-saga-in-qgis-2-14-6
によると、SAGA2.2.3までしか対応していないとのことです。私がインストールしたQGIS2.18 64bitでは、SAGA2.3.2でした。
上のサイトにあるように、SAGAをプラグインを2.2.3に変更すれば良いと考えて、2.2.3をダウンロードしてきて、プラグインのディレクトリを差し替えてみました。
でも、全く動きませんでした。ちなみに、QGIS2.14では、この対応により解決しました。
https://gis.stackexchange.com/questions/217414/saga-algorithms-not-working-on-qgis-2-18-on-mac-osx
にあるように、saga コマンドの変更により、"INTERPOL"が"RESAMPLING"が変更になったようです。それが、プラグインに反映されていないことが原因です。
なので、上記サイトを参考に修正しました。
私の環境では以下でした。
c:\OSGeo4W64\apps\qgis\python\plugins\processing\algs\saga\
mv description description_old mkdir description cd description_old for i in *.txt; do sed "s/|INTERPOL|/|RESAMPLING|/g" $i > ../description/$i ; done
こんなときは、bashが便利ですね。
以上でSAGAが使えるようになりました。
何かとバタバタしていて全然書けないです。 今月は書きます。
windowsが変わるごとにフォントが変わるのでもう大変です。 多分この方法が一番ラクかなと思います。
ここを参考にしました。
これだけで、下準備はO.K.です。
後はpython上で
import seaborn as sns sns.set(font='IPAexGothic', context='notebook', font_scale=1.5, style="whitegrid", palette="deep")
として、普通にmatplotlibでグラフを書けばO.K.です。
windows10と同じ、Yu Gothic UIのttf場所が全然わかりません。
2d Upwind Flux Schemeの計算で厳しい条件の場合、全然回らなくて苦労していたのですが、1dでいろいろテストして、ようやく見つけました。
Upwind Flux Schemeに限ったことではないですが、水面の不連続面が出てきた場合、厄介なことになります。コロケート格子特有かもしれませんが、下のgifのように水面はなんとか解けますが、どんどん水が増えてしまいます。
http://www.impact-project.net/publications/wp3_pub7.pdf
冷静に考えたら、座標変換ですね。
基礎式です。
実河川の問題では必須のような気がします。
今度テスト計算をしてみます。