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

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

数値計算

中村佳朗氏『CFDの歴史的レビューと展望』の抜き書き

はじめに 中村佳朗氏の『CFDの歴史的レビューと展望』を抜き書きしていきます。 https://www2.nagare.or.jp/cfd/cfd28/webproc/paper/S01-1.pdf 抜き書き 「それまでは、私が関係する航空宇宙工学分野では、理論では相似解、微小擾乱理論が花盛りであった。…

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

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

【数値計算】「大気モデルにおける数値計算法」

セミラグランジアン法のアイデアが書いてある文献「大気モデルにおける数値計算法」のリンクです。 https://repository.kulib.kyoto-u.ac.jp/dspace/bitstream/2433/84202/1/0880-09.pdf

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

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

理工書を紹介します(数学、物理、数値計算などなど、漸次追加)

はじめに 数値計算 数学 物理 はじめに 今回は理工書を紹介します。 数値計算 河村哲也 著『数値計算入門』 数値解析の全体を概観する本です。ニュートン法、直接法、反復法、固有値問題、補間、数値積分、常・偏微分方程式と基礎的な内容を網羅しています。…

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

はじめに 今回は1次元移流方程式をSUPG(Stremline Upwind Petrov Galerkin)法で解いていきます。今までずっとやろうと思いながらも放置してきましたが、やっとやりました。1次元移流方程式とは のような一階の偏微分方程式のことをいいます。ここで、 は溶…

【確率微分方程式】確率微分方程式を数値計算してみよう C++コード付き

はじめに 今回は確率微分方程式を数値的に計算するC++コードを紹介しようと思います。パスがランダムに進展していく様は見ていて非常に興味深いです。 確率微分方程式とは? 一般論 のような式のことを伊藤の確率微分方程式(Stochastic Differential Equati…

【最適化】準ニュートン法(BFGS公式とアルミホ条件による直線探索)C++コード付き

はじめに 今回は無制約最小化問題に対する数値解法(反復法)である、準ニュートン法(BFGS公式とアルミホ条件による直線探索)のC++コードを公開します。例題として2変数関数を考えます。最適解は です。反復法とは、適当な初期値 を定め、という漸化式によ…

【最適化】多変数ニュートン法 C++コード付き

はじめに 今回は無制約最小化問題に対する数値解法(反復法)である、多変数ニュートン法のC++コードを公開します。例題として2変数関数を考えます。最適解は です。反復法とは、適当な初期値 を定め、という漸化式によって値を更新していき、最終的に最適解…

【最適化】1変数ニュートン法 C++コード付き

はじめに 今回は無制約最小化問題に対する数値解法(反復法)である、1変数ニュートン法のC++コードを公開します。例題としてを考えます。もちろん、最適解は です。反復法とは、適当な初期値 を定め、という漸化式によって値を更新していき、最終的に最適解…

【最適化】最急降下法(アルミホ条件による直線探索)C++コード付き

はじめに 今回は無制約最小化問題に対する数値解法(反復法)である、最急降下法(アルミホ条件による直線探索)のC++コードを公開します。例題としてを考えます。もちろん、最適解は です。反復法とは、適当な初期値 を定め、という漸化式によって値を更新…

【Navier-Stokes方程式に対する数値計算手法】サイトマップ

はじめに Navier-Stokes方程式を数値的に解く手法には、非常に多くのバリエーションがあり、どれから勉強してよいのか?何が違うのか?と悩む方も多いことでしょう。私もその一人でした。そこで、Navier-Stokes方程式に対する数値計算手法の本を山ほど買い込…

【数値流体力学】勾配を制限するか、それとも流束を制限するか

MUSCL法など勾配制限関数(slope limiter)を用いる方法は、再構築した単調な値を用いて数値流束を計算するので単調な流束(1次風上差分、HLLなど)を使う必要があります。一方、高次の流束を使う場合は、解の単調性を保つために、流束自体を流束制限関数で…

【有限体積法】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法とは、波速が最大のも…

【数物リンク】WENO法

WENO法の係数が載っている論文です。2.1にあります。ちなみに、2.2に3次精度TVDルンゲ・クッタ法も載っています。https://www.jstage.jst.go.jp/article/jsces/2010/0/2010_0_20100018/_pdf

【有限要素法】特性曲線有限要素法のアイディア

前から特性曲線有限要素法に興味があったのですが、なんだか難しいそうと敬遠していました。しかし、勉強してみるとそんなに難しいものではない、ということがわかりました。まとめると特性曲線有限要素法=特性曲線法+有限要素法です。そのままと言われれば…

【数物リンク】3次精度TVDルンゲ・クッタ法

3次精度TVDルンゲ・クッタ法がまとめられているページです。これは、ルンゲ・クッタ法においてTVD条件を満たすようにしたスキームです。http://www-space.eps.s.u-tokyo.ac.jp/~hirako/memo9-tvdrk.html

【数物リンク】片側差分のまとめ

片側差分がまとめられているPDFです。境界適合座標をやる際に、境界で二階微分の片側差分が必要で調べました。https://www.mech.kth.se/~ardeshir/courses/literature/fd.pdf

【格子ボルツマン法】格子ボルツマン法で2次元拡散方程式を解きます(D2Q4) C++コード付き

今回から2次元に入っていきます。2次元拡散方程式を解くC++コードを作りました。D2Q4です。どうやら拡散方程式を解く分にはこれで十分みたいです。参考にしたのは"Lattice Boltzmann Method: Fundamentals and Engineering Applications with Computer Codes…

【格子ボルツマン法】格子ボルツマン法で1次元バーガース方程式を解きます(D1Q2) C++コード付き

LBMで1次元バーガース方程式を解くC++コードを作りました。D1Q2でやってます。参考にしたのは"Lattice Boltzmann Method: Fundamentals and Engineering Applications with Computer Codes"の2-5章、Appendixのコード(まったく洗練されていないが故に読みや…

【格子ボルツマン法】格子ボルツマン法で1次元移流拡散方程式を解きます(D1Q2) C++コード付き

LBMで1次元移流拡散方程式を解くC++コードを作りました。D1Q2でやってます。参考にしたのは"Lattice Boltzmann Method: Fundamentals and Engineering Applications with Computer Codes"の2-4章、Appendixのコード(まったく洗練されていないが故に読みやす…