数学とか語学とか楽しいよね

フランス語、ドイツ語、ロシア語、アラビア語、オランダ語、英語、スペイン語、ラテン語とか数学とか数値計算(有限要素法、有限体積法、差分法、格子ボルツマン法、数理最適化、C++コード付き)とか勉強したことをまとめます。右のカテゴリーから興味のある記事を探してください。最近はクラシックの名演も紹介しています。Amazonアソシエイトを使用しています。

有限体積法

Flux Vector Splitting(FVS、流束ベクトル分離)とAUSMの解説リンク集と本

はじめに Euler方程式などの圧縮性方程式に対する数値計算手法である、Flux Vector Splitting(FVS、流束ベクトル分離)とAUSM法の解説リンク集です。後ろに本も載せてあります。 リンク集 富阪幸治氏のページ。FVS、FDS、AUSMに関する解説。他にも充実。 ht…

【有限体積法】Keller-Segel方程式を有限体積法で解く C++コード付き

はじめに 今回はKeller-Segel方程式を有限体積法で解いていきます。半年前ぐらいに作ってどうも動かなくてしばらく放置していましたが、やっと動きました!!!Keller-Segel方程式とは粘菌の凝集をモデル化した非線型連立方程式です。走化性モデルとして有名…

【有限体積法】1次元移流方程式をMUSCL法で解く C++コード付き

今回は1次元移流方程式を1次の風上差分+MUSCL法で解いていきます。MUSCL法とは、セル内で一定だった未知数のプロファイルを1次以上の関数で補外しセル界面での値を計算し、その値を用いて数値流速を計算することによって高次精度を達成する方法です。その際…

【浅水流方程式】MUSCL-Hancock法とHLL法でダム崩壊問題を解いてみました 動画とC++コード付き

【浅水流方程式】サイトマップ(ここから関連記事が探せます) http://mathlang.hatenablog.com/entry/2018/12/18/213650 今回は、HLL法にMUSCL-Hancock法を組み合わせて高次精度化したスキームでダム崩壊問題を解きました。普通のHLL法が時間・空間方向に対…

【浅水流方程式】HLLC法でダム崩壊問題を解いてみました(wet bedとdry bed) 動画とC++コード付き

【浅水流方程式】サイトマップ(ここから関連記事が探せます) http://mathlang.hatenablog.com/entry/2018/12/18/213650 今回は、HLLC法(Harten, Lax, van Leer, Contact surface法)を用いてダム崩壊問題(dam break problem)を解いてみました。HLLC法と…

【浅水流方程式】溶質の濃度を考えた場合の浅水流方程式

【浅水流方程式】サイトマップ(ここから関連記事が探せます) http://mathlang.hatenablog.com/entry/2018/12/18/213650溶質の濃度を考えた場合の浅水流方程式は以下のようになります。ここで はpassiveな溶質の濃度です。参考文献はLeVequeの"Finite Volum…

【浅水流方程式】Roe法でダム崩壊問題を解いてみました(wet bedとdry bed) 動画とC++コード付き

【浅水流方程式】サイトマップ(ここから関連記事が探せます) http://mathlang.hatenablog.com/entry/2018/12/18/213650 今回は、Roe法を用いてダム崩壊問題(dam break problem)を解いてみました。Roe法とは、ヤコビアンを固有値の正負によって分割し、Ro…

【数物リンク】Roe法の解説資料まとめ

浅水流方程式に対する数値計算手法であるRoe法の日本語で読める解説資料まとめです。Roe法は"Flux Difference Splitting"(FDS)とも呼ばれています。http://www.astro.phys.s.chiba-u.ac.jp/netlab/summer-school_2004/TEXTBOOK/text2.pdfhttp://th.nao.ac.…

【浅水流方程式】HLL法で周期境界条件の場合のダム崩壊問題を解きます 動画とC++コード付き

【浅水流方程式】サイトマップ(ここから関連記事が探せます) http://mathlang.hatenablog.com/entry/2018/12/18/213650 今回は、HLL法(Harten, Lax, van Leer法)を用いて周期境界条件でダム崩壊問題を解いてみました。解いている方程式は、摩擦、勾配を…

【浅水流方程式】HLL法でバンプ周りの流れを解いてみました 動画とC++コード付き

【浅水流方程式】サイトマップ(ここから関連記事が探せます) http://mathlang.hatenablog.com/entry/2018/12/18/213650 今回は、HLL法(Harten, Lax, van Leer法)を用いてバンプ周りの流れを解いてみました。解いている方程式は、摩擦、勾配を考慮した1次…

【数物リンク】HLL法とHLLC法の解説資料まとめ

浅水流方程式に対する数値計算手法であるHLL法とHLLC法の解説資料まとめです。9.5にHLLとHLLCの解説 http://www2.yukawa.kyoto-u.ac.jp/~akira.mizuta/Mizuta_lecture2_euc_v4.pdf2にHLL https://www.jstage.jst.go.jp/article/jscejhe/69/4/69_107/_pdf/-ch…

【浅水流方程式】HLL法でダム崩壊問題を解いてみました(wet bedとdry bed) 動画とC++コード付き

【浅水流方程式】サイトマップ(ここから関連記事が探せます) http://mathlang.hatenablog.com/entry/2018/12/18/213650 今回は、HLL法(Harten, Lax, van Leer法)を用いてダム崩壊問題(dam break problem)を解いてみました。HLL法とは、波速が最大のも…

【Navier-Stokes方程式】SIMPLE法によるNavier-Stokes方程式の離散化

SIMPLE法(Semi-Implicit Method for Pressure. Linked Equations)によるNavier-Stokes方程式の離散化について説明していきます。やっとこさSIMPLE法が理解出来ました。いきなり空間離散化して項を消したりするのでわかりづらいのです。実はこれHSMAC法とほ…

【有限体積法】2次元非構造有限体積法のコードを作ってみました 三次元図付き

2次元非構造有限体積法のコードを作ってみました。cell-centeredと呼ばれる方法を使っています。解く方程式は2次元の定常移流拡散方程式です。流れ場はx方向が 、y方向が と与えます。領域は で、境界条件は・ においてDirichlet条件 ・ においてDirichlet条…

【浅水流方程式】ダム崩壊問題におけるDry bedとWet bedの違い 三次元図付き

【浅水流方程式】サイトマップ(ここから関連記事が探せます) 今回は、前に作った浅水流方程式におけるダム崩壊問題(dam break problem)の解析解を計算するコードを用いて、Dry bedの場合とWet bedの場合それぞれの水深の時間変化の三次元図を作りました…

【浅水流方程式】ダム崩壊問題の解析解全パターン!動画付き!

【浅水流方程式】サイトマップ(ここから関連記事が探せます) 前に作った、浅水流方程式におけるダム崩壊問題(dam break problem)の解析解を計算するコードを用いて、水深と流速がどうなるか動画にしていきたいと思います!こういうのは動画のほうがわか…

【浅水流方程式】1次元浅水流方程式の導出(勾配と摩擦なし)

【浅水流方程式】サイトマップ(ここから関連記事が探せます) 1次元浅水流方程式(Shallow Water Equation, SWE)の導出(勾配と摩擦なし)をします。取りあえず導出すべき1次元浅水流方程式の基本形を書いておきます。要は慣れです。慣れると怖くなくなり…

【浅水流方程式】サイトマップ

今後浅水流方程式(Shallow Water Equation, SWE)に関する記事がどんどん増える予定なので、取りあえずサイトマップのようなものを作っておきます。浅水流方程式は別名サン・ブナン方程式(Saint-Venant equation)ともいいます。基本的にこのページから全…

【浅水流方程式】1次元浅水流方程式の基本形

【浅水流方程式】サイトマップ(ここから関連記事が探せます) 1次元浅水流方程式(Shallow Water Equation, SWE)を勉強していきましょう!そのために、まず1次元浅水流方程式の基本形を書いておきたいと思います。水平な長方形の一様断面を考えることにし…

【Navier-Stokes方程式】フラクショナルステップ法によるNavier-Stokes方程式の離散化

フラクショナルステップ法(部分段階法)によるNavier-Stokes方程式の離散化について説明していきます。この手法は流速と圧力を直接未知数として計算する手法です。SMAC法では中間流速(予測子)を計算する際に圧力を使いましたが、フラクショナルステップ法…

【Navier-Stokes方程式】SMAC法によるNavier-Stokes方程式の離散化

MAC法(Maker And Cell method)を改良した、SMAC法(Simplified MAC法)によるNavier-Stokes方程式の離散化について説明していきます。この手法は流速と圧力を直接未知数として計算する手法です。MAC法ではPoisson方程式の右辺を計算するのに負荷がかかって…

【数物リンク】SIMPLE法とMAC法の解説

Navier-Stokes方程式に対する数値解法である、SIMPLE法とMAC法の解説リンクを見つけました。細かい離散化まで載っていてためになります。https://www.iitg.ac.in/director/files/Chapter-6.pdfこちらはMAC法だけ。スタガード格子における補間法がわかりやす…

【有限体積法】1次元移流方程式を流束制限関数(superbee)で解く C++コード付き

今回は1次元移流方程式を有限体積法(流束制限関数)で解いていきます。C++コード付きです。1次元移流方程式とは のような一階の偏微分方程式のことをいいます。ここで、 は溶質の濃度、 は風などによる移流速度です。さて、slope limiterというのは、補間し…

【有限体積法】1次元移流方程式を流束制限関数(minmod)で解く C++コード付き

今回は1次元移流方程式を有限体積法(流束制限関数)で解いていきます。C++コード付きです。1次元移流方程式とは のような一階の偏微分方程式のことをいいます。ここで、 は溶質の濃度、 は風などによる移流速度です。さて、slope limiterというのは、補間し…

【Navier-Stokes方程式】MAC法によるNavier-Stokes方程式の離散化

今後キャビティー流れの計算をやりたいので、MAC法(Maker And Cell method)によるNavier-Stokes方程式の離散化について説明していきます。流速と圧力を直接未知数として計算する手法で陽解法です。以下の内容は『流れ解析のための有限要素法』のpp.154-155…

【有限体積法】1次元移流方程式を風上差分で解く C++コード付き

今回は1次元移流方程式を有限体積法(風上差分)で解いていきます。C++コード付きです。1次元移流方程式とは のような一階の偏微分方程式のことをいいます。ここで、 は溶質の濃度、 は風などによる移流速度です。移流方程式はその名前の通り、初期の波形(…

【有限体積法】1次元定常移流拡散方程式をハイブリッド法で解く C++コード付き

今回は1次元定常移流拡散方程式を有限体積法(ハイブリッド法)で解いていきます。C++コード付きです。1次元定常移流拡散方程式とは のような二階の常微分方程式のことをいいます。ここで、 は溶質の濃度、 は風などによる移流速度、 は拡散の効果を表す拡散…

【有限体積法】1次元定常移流拡散方程式を風上差分で解く C++コード付き

今回は1次元定常移流拡散方程式を有限体積法(風上差分)で解いていきます。C++コード付きです。1次元定常移流拡散方程式とは のような二階の常微分方程式のことをいいます。ここで、 は溶質の濃度、 は風などによる移流速度、 は拡散の効果を表す拡散係数と…

【有限体積法】1次元定常移流拡散方程式を中心差分で解く C++コード付き

今回は1次元定常移流拡散方程式を有限体積法(中心差分法)で解いていきます。C++コード付きです。ただし今回は風上化は入れていません。1次元定常移流拡散方程式とは のような二階の常微分方程式のことをいいます。ここで、 は溶質の濃度、 は風などによる…

【有限体積法】1次元Poisson方程式(ポアソン方程式)を有限体積法で解く C++コード付き

有限体積法のほうもぼちぼち1次元の場合から解説していきます!今回は有限体積法の勉強で最初に解くであろう、1次元Poisson方程式を有限要素法(Galerkin法)で解くC++コードを公開します。普通の有限体積法で離散化します。二次元配列は一次元配列に収納し…