工学系大学院生のブログ

2人の大学院生による雑記ブログ

カテゴリー: 第7回 陰解法

第7-5回 二次元拡散方程式[python, julia, fortran]

第7-5回では, 今までのまとめとして, 二次元拡散方程式をコードに落とし込んでいきます. 今回は「コードが回っているかの確認」の バリデーションと「python, julia fortranの差」の2つを行いました. 1 validation $$\frac{\partial}{\partial t}(\rho C T)= \frac{\partial}{\partial x} \left( \lambda \frac{\partial T}{\partial x} \right ) + \frac{\partial}{\partial y} \left ( \lambda \frac{\partial T}{\partial y} \right ) $$.....

第7-4回 二次元拡散方程式(実装までの式変形)[python, julia, fortran]

第7-4回では二次元拡散方程式を実装できる形に変形していきます。 $$\rho C \frac{\partial T}{\partial t}=\frac{\partial}{\partial x} \left( \lambda \frac{\partial T}{\partial x} \right) + \frac{\partial}{\partial y} \left( \lambda \frac{\partial T}{\partial y} \right)$$ 時間一次精度、陰解法で離散化します。第7-2回で行った方法を用います。 左辺は今までと同じです。 $$\rho C \frac{\partial T}{\partial t} \simeq .....

第7-3回 反復法(jacobi法、gauss-seidel法)[python, julia, fortran]

第7-3回では数値解析における逆行列の解法を説明したいと思います。 1.数値解析における逆行列の解法 そもそも,第7回では陰解法で解こうという趣旨で進めています。そして陰解法では次のように式変形できることが前回までの流れで分かったかと思います。$$\bf A \bf x = \bf b$$ ここで\(\bf A,\bf b\)はすでに分かっており,\(\bf x\)を求めたいという状況です。 このような行列を解く方法として,「直接解法」,「定常反復法」,「非定常反復法」の3つが挙げられます。 ①直接解法有限回の演算で解が求まる方法です。第2-2回の「ガウスの消去法」や第3-2回の「TDMA法」は直接解法になります。確実に答えがでるのですが,記憶容量が大量に必.....

第7-2回 陰解法と有限体積法[python, julia, fortran]

有限体積法における陰解法を用いた離散化 第7-2回では有限体積法における陰解法を用いた離散化を行います。 例として,一次元の拡散方程式は次のように書けます。 $$\frac{\partial }{\partial t}(\rho C T)=\frac{\partial}{\partial x} \left( \lambda \frac{\partial T}{\partial x}\right)$$ ここで\(T=T(t,x), \lambda=\lambda(x) \)とします。 セルjにおける離散化を行います。 左辺時間項の離散化は一次精度で通常通り行います。 $$\frac{\partial }{\partial t}(\rho C T)=\rho C.....

第7-1回 陽解法と陰解法[python, julia, fortran]

$$\frac{\partial}{\partial t}(\rho C T)= \frac{\partial}{\partial x} \left( \lambda \frac{\partial T}{\partial x} \right ) + \frac{\partial}{\partial y} \left ( \lambda \frac{\partial T}{\partial y} \right ) $$ 第7回では、二次元非定常拡散方程式に対し陰解法の有限体積法で解くことを目標とします。 そこで、まずは陰解法とは何ぞやということで説明します。 1. 陽解法と陰解法の違い 1.1. 陽解法とは何か? 今までの記事では陽解法と呼ばれる方法で離散化し.....