1

公立はこだて未来大学 2013 年度 システム情報科学実習
グループ報告書
Future University Hakodate 2013 System Information Science Practice
Group Report
プロジェクト名
複雑系の数理とシミュレーション
Project Name
A mathematical principle of complex system and its simulation
グループ名
グループ A
Group Name
Group A
プロジェクト番号/Project No.
2-A
プロジェクトリーダ/Project Leader
1009060
水元健人
Kento Mizumoto
グループリーダ/Group Leader
1011034
中村卓登
Takuto Nakamura
グループメンバ/Group Member
1009060
水元健人
Kento Mizumoto
1011034
中村卓登
Takuto Nakamura
1011074
竹本耀 Hikaru Takemoto
1011147
森谷一洋
Kazuhiro Moriya
1011183
臺坂勇太
Yuta Daisaka
1011189
森岡駿大
Shunta Morioka
指導教員
川越敏司
川口聡
斉藤朝輝
Advisor
Toshiji Kawagoe Satoshi Kawaguchi Asaki Saitou
提出日
2014 年 1 月 15 日
Date of Submission
January 15, 2014
概要
本プロジェクトは、複雑系を理解するために流体の流れを取り上げ、それらを流体力学、数値
計算から解析し、その結果を視覚化しコンピュータ上でシミュレーションする。
前期には、流体の流れの基礎的なことを学ぶために、参考書「格子気体法・格子ボルツマン
法―新しい数値流体力学の手法」の輪読を行った。輪読では、連続の式、ナビエ・ストークス
方程式、レイノルズ数、ポテンシャル流れ、境界層について学んだ。また、コンピュータ上で
シミュレーションする前にイメージ作りとして、流体の流れの実験を行った。
後期には、輪読で学んだ方程式を数値計算するための方法を勉強した。具体的には、差分法
を利用して拡散方程式、バーガース方程式を数値計算した。そして、その計算結果をもとにシ
ミュレーションを行った。
キーワード
シミュレーション, ナビエ・ストークス方程式, レイノルズ数, ポテンシャル流
れ, 境界層
(※文責: 水元健人)
-i-
Abstract
We take up fluid flow to understand complex system and analyze them from hydrodynamics, numerical computation, and we visualize the result, and this project simulates
it on a computer.
We read the reference book by turns to learn that the fluid flow was basic in the first
half year. In the reading by turns, we learned about consecutive expressions, NavierStokes’ equation, Reynolds number, a potential flow, a boundary layer. In addition, we
experimented on the fluid flow as image-building before simulating it on a computer.
We studied a method for which we numerically calculate the equation you learned in
the late year. In addition, we numerically calculated the Burgers equation and diffusion
equations, using the finite difference method. And we were simulated on the basis of
the calculation result. Keyword
Simulation, Navier-Stokes equation, Reynolds number, Potential flow,
Boundary layer
(※文責: 水元健人)
- ii -
目次
第1章
背景
1
1.1
このプロジェクトをやるにあたって . . . . . . . . . . . . . . . . . . . . . . . . .
1
1.2
現状における問題点 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1
1.3
課題の概要 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2
到達目標
3
第2章
2.1
本プロジェクトにおける目的
. . . . . . . . . . . . . . . . . . . . . . . . . . . .
3
2.2
通常の授業ではなく、プロジェクト学習で行う利点 . . . . . . . . . . . . . . . . .
3
2.3
具体的な手順・課題の設定 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3
2.4
課題の割り当て . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4
活動内容
5
3.1
全体の活動内容 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5
3.2
各人の活動内容 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
6
3.2.1
水元健人 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
6
3.2.2
中村卓登 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
6
3.2.3
竹本耀 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
7
3.2.4
森谷一洋 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
8
3.2.5
臺坂勇太 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
8
3.2.6
森岡駿大 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
9
第3章
第4章
4.1
課題解決の詳細
11
カルマン渦 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
11
4.1.1
連続体近似 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
11
4.1.2
連続の式 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
12
4.1.3
ベクトル解析 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
14
4.1.4
ナビエ・ストークス方程式 . . . . . . . . . . . . . . . . . . . . . . . . . .
15
4.1.5
ナビエ・ストークス方程式の特徴 . . . . . . . . . . . . . . . . . . . . . . .
15
4.1.6
粘性応力 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
16
4.1.7
応力テンソル . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
16
4.1.8
ナビエ・ストークス方程式のテンソル表記 . . . . . . . . . . . . . . . . . .
17
4.1.9
粘性法則 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
18
4.1.10 レイノルズ数 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
19
4.1.11 ストークス方程式 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
20
4.1.12 オセーン方程式 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
21
4.1.13 境界層 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
21
4.1.14 境界層近似 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
22
4.1.15 境界層方程式 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
22
- iii -
4.1.16 境界条件 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.2
ポテンシャル流れ
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
24
ラプラス方程式 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
24
拡散方程式 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
24
4.3.1
拡散現象 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
24
4.3.2
拡散方程式 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
25
4.3.3
拡散方程式の導出 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
26
4.3.4
拡散方程式の差分解法 . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
26
4.3.5
拡散方程式の初期値境界値問題 . . . . . . . . . . . . . . . . . . . . . . . .
27
4.2.1
4.3
4.4
23
バーガース方程式
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
28
4.4.1
移流拡散現象 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
28
4.4.2
バーガース方程式の導出
. . . . . . . . . . . . . . . . . . . . . . . . . . .
29
4.4.3
バーガース方程式の特徴
. . . . . . . . . . . . . . . . . . . . . . . . . . .
30
4.4.4
バーガース方程式の初期値境界値問題 . . . . . . . . . . . . . . . . . . . .
30
数値解析の手法 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
31
4.5.1
差分法 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
31
4.5.2
常微分方程式の境界値問題 . . . . . . . . . . . . . . . . . . . . . . . . . .
32
4.5.3
偏微分方程式の境界値問題 . . . . . . . . . . . . . . . . . . . . . . . . . .
34
4.5.4
初期値・境界値問題 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
35
4.6
ナビエ・ストークス方程式の数値解法 . . . . . . . . . . . . . . . . . . . . . . . .
37
4.7
格子ガスオートマトン法 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
38
4.7.1
基本原理 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
39
4.7.2
格子ガスオートマトン法の特徴 . . . . . . . . . . . . . . . . . . . . . . . .
39
格子気体法 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
40
4.8.1
格子気体法の計算法の特徴 . . . . . . . . . . . . . . . . . . . . . . . . . .
40
4.8.2
HPP モデル . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
40
4.8.3
FHP モデル . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
41
4.5
4.8
4.9
第5章
5.1
5.2
第6章
格子ボルツマン法
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
43
4.9.1
基礎理論 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
43
4.9.2
計算手順 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
44
成果物
45
拡散現象のシミュレーションプログラム . . . . . . . . . . . . . . . . . . . . . . .
45
5.1.1
プログラムの手順 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
47
5.1.2
プログラムの結果 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
48
5.1.3
濃度の計算 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
49
5.1.4
プログラムの評価 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
50
バーガース方程式の数値シミュレーション . . . . . . . . . . . . . . . . . . . . .
50
5.2.1
プログラムの手順 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
50
5.2.2
プログラムの結果 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
50
5.2.3
プログラムの評価 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
52
結果
53
- iv -
6.1
6.2
第7章
7.1
7.2
7.3
第8章
8.1
8.2
第9章
9.1
9.2
プロジェクトの結果 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
53
6.1.1
前期 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
53
6.1.2
後期 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
53
成果の評価 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
53
6.2.1
前期 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
53
6.2.2
後期 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
54
アンケート結果
55
中間発表 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
55
7.1.1
コメント . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
55
7.1.2
コメントへの応答 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
56
最終発表 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
56
7.2.1
コメント . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
57
7.2.2
コメントへの応答 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
57
中間発表と最終発表の比較 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
58
今後の課題と展望
59
今後の課題 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
59
8.1.1
前期 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
59
8.1.2
後期 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
59
展望 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
59
8.2.1
前期 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
59
8.2.2
後期 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
60
相互評価と反省
61
相互評価 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
61
9.1.1
水元健人 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
61
9.1.2
中村卓登 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
61
9.1.3
竹本耀 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
61
9.1.4
森谷一洋 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
62
9.1.5
臺坂勇太 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
62
9.1.6
森岡駿大 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
62
各個人の反省 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
62
9.2.1
水元健人 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
62
9.2.2
中村卓登 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
63
9.2.3
竹本耀 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
63
9.2.4
森谷一洋 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
64
9.2.5
臺坂勇太 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
64
9.2.6
森岡駿大 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
65
参考文献
66
-v-
A mathematical principle of complex system and its simulation
第1章
背景
本プロジェクトは、流体の流れについて学ぶ。流体の流れを理解するために重要な方程式や概念
を理解し、その意味を理解する。また、これらの勉強で得た知識を応用して、流体の流れを数値計
算を利用して解析し、コンピュータ上でシミュレーションする。さらに、これらのことを流体につ
いて知らない人たちにも理解できるように簡単に説明をするというのを目的とする。前期には、流
体の流れを理解するために流体力学の基礎を中心に輪読を行い。そして、流体の流れをコンピュー
タ上で可視化するイメージ作りとして、実際に水を使い流れの可視化の実験を行った。後期には、
前期に輪読で学んだ方程式を数値計算するための方法を学んだ。具体的には、差分法を利用して拡
散方程式とバーガース方程式を数値計算した。その後、その計算結果をもとにシミュレーションを
行った。
(※文責: 水元健人)
1.1
このプロジェクトをやるにあたって
複雑系を理解する手がかりとして、自然の現象を取り上げることによって、複雑系科学・力学系
の観点からそれらを分析、解析し、その結果を視覚化しシミュレーションする。その現象として流
体の流れを取り上げた。流体の流れは、普段自分たちが生活している中で多くのところで影響を与
えている。そのため、流体の流れについて分析・解析し、そのデータを可視化しシミュレーション
することで、複雑な現象に見えていることがわかりやすくなる。
(※文責: 水元健人)
1.2
現状における問題点
本プロジェクトはシミュレーションを行うこと以外は、実質的に今年度が初めてということで、
参考になることが少なかった。また、前年度は進化ゲームについてのシミュレーションであった。
今回のプロジェクトの目的を達成するための流体力学のための事前知識が必要だった。そのため、
流体の流れについて理解するための知識を力学基礎やベクトル解析のテキストを利用し、セミナー
を行いながら互いに理解する必要があった。また、セミナーでは理解しきれないことは、未来大学
内の図書室の参考書などを利用しながら勉強を進めていった。流体のことを知らない人たちに簡単
に説明を行えるように曖昧にならないようにプロジェクトメンバーは理解をしっかりをしなければ
ならない。
(※文責: 水元健人)
Group Report of 2013 SISP
-1-
Group Number 2-A
A mathematical principle of complex system and its simulation
1.3
課題の概要
本プロジェクトで取り上げた、流体の流れを可視化しシミュレーションを行うにはいくつかの方
程式を解かなくてはならない。そのうちのひとつにナビエ・ストークス方程式がある。この方程式
を解くことはとても困難とされている。そのため、このナビエ・ストークス方程式をそのまま解く
のではなく、この方程式の一部を無視して条件を与えて解くことで可視化できる流れを最初に考え
る。また、この方程式を解くために数値計算、ベクトル解析、偏微分方程式の解き方などの知識が
必要になる。そのため、輪読で使用している参考書以外の参考書を学内の図書室や web 上で調べ
ていく必要がある。
(※文責: 水元健人)
Group Report of 2013 SISP
-2-
Group Number 2-A
A mathematical principle of complex system and its simulation
第2章
2.1
到達目標
本プロジェクトにおける目的
複雑系を理解する手がかりとして流体の流れの場を取り上げ、複雑系科学・力学の観点からそれ
を分析し、その結果を視覚化しシミュレーションすることを目的とする。その現象として流体の流
れについて取り上げた。今回は、複雑系をわかりやすく説明するために流体のカルマン渦について
説明しようとしている。今回取り上げたカルマン渦という現象は、橋の建築、設計の際にも考えら
れているほど身近にある自然現象である。実際のカルマン渦列の実験をし、その観測結果を数値計
算した後、シミュレーションを行おうとした。しかし、このカルマン渦のシミュレーションに必要
なナビエストークス方程式の理解が困難だったため、後期にはそのステップとして、ナビエ・ス
トークス方程式から項を減らし比較的簡略化したバーガース方程式と拡散方程式のシミュレーショ
ンを行うことにした。
(※文責: 森岡駿大)
2.2
通常の授業ではなく、プロジェクト学習で行う利点
講義では力学基礎のように流体力学については学ばない。そのため流体の流れの場についてはあ
まり知る機会がない。プロジェクト学習で取り上げることで、流体力学について学ぶ機会が増え
ツールにより視覚化することで、流体力学について理解できる人が増えることが利点である。また
時間をかけて流体力学を学ぶことで、複雑に見える流体の現象がこういった方程式の数々によって
成り立っていると教えることが出来る。また、プロジェクトメンバー同士で学習を進めることで、
個人ではなかなか気付きにくいことや新しい発見、難しい流体力学の知識を共有し役割を分担する
ことによって効率的にシミュレーションを行うことが出来る。
(※文責: 森岡駿大)
2.3
具体的な手順・課題の設定
目標達成するために、理論班とシステム班の 2 つに分かれ、それぞれが理論とシステムの両方を
担当して互いに助け合う形で進めることにした。プロジェクトメンバー全員が流体の流れの場につ
いて理解するために、5 月から 7 月まで流体の流れの場を理解する上で必要な流体力学の基礎知識
について、メンバー全員で週に一度輪読をした。輪読では、流体力学の基礎方程式であるナビエ・
ストークス方程式を中心に考え、そこからなる連続の式との関係性について学んだ。ほかにも流体
力学の基礎知識として物体の粘度を表わすレイノルズ数や境界層についての知識を学んだ。肝心の
ナビエ・ストークス方程式の理解が困難であったため、前期には予定であった数値計算の方法まで
はたどり着くことが出来なかった。前期では主に輪読を中心に行って流体力学の基礎知識の習得に
あたった。後期には、前期で思ってた以上に流体力学の基礎知識の理解に時間がかかってしまった
ため、予定を少し変更することにした。前期の課題としてナビエ・ストークス方程式の理解が困難
Group Report of 2013 SISP
-3-
Group Number 2-A
A mathematical principle of complex system and its simulation
なことがあったので、後期にはそのステップとしてバーガース方程式と拡散方程式について取り上
げることにした。
(※文責: 森岡駿大)
2.4
課題の割り当て
目標達成するために、テキストを用いて輪読を行った。輪読は 2 人 1 組毎週水曜日に交代して行
い、それぞれが担当した章について学習を進めて、流体力学の基礎知識を身に付けることにした。
5 月から 7 月まで流体の流れの場を理解する上で必要な流体力学の基礎知識について、メンバー全
員で週に一度輪読をした。1 組目水元と中村が担当し、2 組目が臺坂と竹本、3 組目が森谷と森岡の
順で輪読を担当し、各自輪読の準備を行うことも並行して行った。また、別に流体の流れの場をシ
ミュレーションするために、層流と乱流についておがくずを水に浮かべ視覚化させることのイメー
ジを作る実験班と、流体の流れの場を理解するために必要な式を理解する班の二組に別れ、それぞ
れの結果を報告し知識を共有し合った。中間発表では、負担が均等になるように前半と後半で 2 グ
ループに分かれ全員で発表を行った。中間発表で出た意見やアンケートを元に後期の活動について
見直した。後期の活動では、バーガース方程式と拡散方程式のシミュレーションをするために、ま
ず実際に数値計算を行い式の理解に努める理論班と、その数値計算を元にプログラミングをして、
シミュレーションするプログラミング班のふたつに分かれて活動を行った。最終発表に向けて、ポ
スターを作成する班とスライドを作成する班に分かれて再び活動を行った。
(※文責: 森岡駿大)
Group Report of 2013 SISP
-4-
Group Number 2-A
A mathematical principle of complex system and its simulation
第3章
3.1
活動内容
全体の活動内容
• 4月
プロジェクト配属期間のため、主な活動なし。
• 5月
プロジェクトリーダーとプロジェクト活動のおおまかな計画を決めた。前期は、メンバーを
3つに分けて水曜日にテキスト「格子気体 法・格子ボルツマン法−新しい数値流体力学
の手法」の輪読を行い、それ以外の時間は輪読のための自習とすることにした。後期は、テ
キスト「格子気体法・格子ボルツマン法−新しい数値流体力学の手法」から選択したテーマ
をプログラムで可視化することにした。
• 6月
5 月と同様に輪読を行った。輪読で学んだ流体力学の現象を可視化させる実験を行った。
• 7月
中間発表のために、いままで学習したことをまとめた。発表前に一度、担当教員の前で発表
して評価してもらい、悪いところを修正した。中間発表では、発表する部分を6人で均等に
わけ、全員で発表を行った。その後アンケートの結果を読み、反省をした。また、グループ
報告書、個人報告書を TEX を使用して作成した。
• 8月、9月
今まで輪読で学んだ方程式をシミュレーションするために、数値計算の方法について学習
した。
• 10月
最終目標であるカルマン渦のシミュレーションを作成するためのステップとして拡散現象、
移流拡散現象についてのシミュレーションを作成するという目標を設定した。方程式の意味
することを理解する理論班と、方程式を実際に数値計算し可視化するプログラムを作成する
プログラム班に別れて拡散現象と移流拡散現象のシミュレーションの作成をした。毎週水曜
日に実際に作成したシミュレーションを指導教員が評価し、シミュレーションの改良を続
けた。
• 11月
10 月と同じく、指導教員の評価をもとにシミュレーションの改良を続けた。
• 12月
最終成果報告に向けてポスターの作成と発表内容の構成を行った。最終成果報告では、メン
バー6人でそれぞれ役割を分担して発表を行った。また、アンケート結果をもとに自分たち
のプロジェクトを客観的に評価し、グループ報告書、個人報告書を TEX を用いて作成した。
(※文責: 森谷一洋)
Group Report of 2013 SISP
-5-
Group Number 2-A
A mathematical principle of complex system and its simulation
各人の活動内容
3.2
3.2.1
水元健人
• 4 月 メンバーで集まり、テキストを配られた。プロジェクトリーダー、サブリーダーを決め自分
はプロジェクトリーダーになった。
• 5月
プロジェクトに配属。配られた教科書を輪読した。週に一度教員の前で発表し、アドバイス
をもらった。この教科書だけでは理解できなかったので、ライブラリーで他の参考書も利用
した。今後の活動内容について話しあった。プロジェクトリーダーのため、メンバー全員に
週報の提出の呼びかけをした。
• 6月
5月と同様に輪読を続けた。教科書を輪読するだけではなく、実験を行い流れについて理
解しようとした。プロジェクトリーダーのため、メンバー全員に週報の提出の呼びかけを
した。
• 7月
今まで輪読してきたところをまとめて、中間発表の準備をした。発表後は報告書など提出物
の確認をメンバーにして報告書の執筆した。プロジェクトリーダーのため、メンバー全員に
週報の提出の呼びかけをした。今後の活動内容について話し合った。
• 8 月、9 月
夏休み中に数値計算の方法をライブラリーの参考書で勉強した。
• 10 月
夏休み中に勉強したことを発表した。プロジェクトリーダーのため、メンバー全員に週報の
提出の呼びかけをした。
• 11 月
シミュレーションをどのツールで行うか話し合った。プロジェクトリーダーのため、メン
バー全員に週報の提出の呼びかけをした。
• 12 月
成果発表の準備をした。ポスター作成を担当した。プロジェクトリーダーのため、メンバー
全員に週報の提出の呼びかけをした。
(※文責: 水元健人)
3.2.2
中村卓登
• 4 月 メンバーと顔合わせをした。リーダー、サブリーダーを決め自分はサブリーダーになった。
• 5月
プロジェクトの配属が決定。流体力学を学ぶ上で重要となる、ナビエストークス方程式、レ
イノルズ数、境界層等の知識を教員の前で輪読を行うことで身に付けていった。配られたテ
キストと、それを補うためにライブラリーの図書を参考にした。
Group Report of 2013 SISP
-6-
Group Number 2-A
A mathematical principle of complex system and its simulation
• 6月
引き続き輪読を行い、更なる理解を促すため流れの場の実験を行った。
• 7月
中間発表の準備、そして練習を行い、本番に備えた。自分はスライド、そして発表の原稿を
作成した。中間発表後は前期の活動、および中間発表の反省点を挙げ、後期に繋げようと努
めた。また中間報告書の作成を始め、提出した。
• 8 月、9 月
最終目標であるカルマン渦のシミュレーションを達成するためのステップとして、まず拡散
方程式、そしてバーガース方程式のシミュレーションを行う事を決定。シミュレーションを
行う前に数値計算方法を理解する必要があったため、夏休み中にメンバーで集まり、ライブ
ラリーの図書を参考に数値計算の方法について学んだ。
• 10 月
夏休みに学習した事を発表し理解を深めた。そしてプログラム班と理論班に分かれることを
決定。自分は理論班に所属し、式の構造を理解することに努めた。
• 11 月
10 月と同様の事を行い、式の理解、そしてプログラム作成が終了。次に間近に迫っていた最
終発表の準備に取りかかった。自分は中間発表同様にスライド、発表原稿を担当。準備が終
わった後は教員の前で発表を行い、修正を入れることでスライド、ポスターの完成度を高め
ていった。
• 12 月
最終発表を行い、アンケート結果を参考にプロジェクトの反省を行った。
(※文責: 中村卓登)
3.2.3
竹本耀
• 4 月 グループメンバーと担当の先生の前でお互いに自己紹介をした。リーダーとサブリーダーを
決めた。テキストをコピーし、全員に配った。輪読の担当を決め、今後の予定を決めた。
• 5 月 テキストを配られ輪読をした。連続の式、ナビエ・ストークス方程式、オセーン方程式、ス
トークス方程式を担当した。テキストだけで進めるのは困難だったためライブラリーへ行
き、流体力学の基礎を学んだ。
• 6 月 引き続き輪読をした。ある程度知識が身についたところで流れの実験を行った。一方でプリ
ンターの使い方の講義に参加した。
• 7 月 中間発表の準備をし、練習をした。Adobe Illustrater を用いてポスターを作成した。発表
が終わったあとで反省をし、報告書を執筆した。また、今後の計画を見直した。
• 8 月,9 月 夏休み中に数値計算の方法などをライブラリーの図書を利用して勉強した。
• 10 月 夏休み中に勉強したことをメンバーの前で発表した。さらに学んだことを基に C 言語、
Group Report of 2013 SISP
-7-
Group Number 2-A
A mathematical principle of complex system and its simulation
gnuplot を用いて数値計算をするプログラムを作成した。また、境界条件についてディリク
レ条件、ノイマン条件、周期境界条件についての勉強をした。
• 11 月 シミュレーションを作成するため、10 月に作成したプログラムを Processing 言語に書き換
え、動くプログラムを作成した。バーガース方程式のシミュレーションを担当した。
• 12 月 成果発表の準備をした。ポスターの作成は担当せず、レイアウトを提案した。グループ報告
書を TeX を用いて執筆し、メンバーが書いたものをひとつにまとめた。
(※文責: 竹本耀)
3.2.4
森谷一洋
• 4 月 グループ、担当の教授たちと顔合わせをした。テキストを配られ輪読の担当を決めた。
• 5 月 流体力学のテキストの輪読を行った。2 人 1 組みにわかれて、毎週水曜日に担当分野の学
習成果をメンバーと指導教員に発表した。自分は連続体近似、質量保存を表す連続の式、
Oseen 方程式などを担当した。
• 6 月 5月と同じく、テキストの輪読を行った。また、発表に向けてプリンターと TEX の講義に
参加した。
• 7 月 中間発表に向けて準備をし、自分の担当する範囲の練習を行った。また、中間報告書の作成
をした。
• 8 月,9 月 輪読で学んだ方程式をシミュレーションするための数値計算について学習した。
• 10 月 夏休み中に学習したことをメンバーに発表した。また、拡散現象のシミュレーションのプロ
グラム作成を行った。
• 11 月 指導教員の評価を元に、プログラムの改良を行った。
• 12 月 最終成果発表に向けて、発表原稿を作成した。また、自分の担当する部分の最終報告書を作
成した。
(※文責: 森谷一洋)
3.2.5
臺坂勇太
• 4月
プロジェクトの配属が決まり、プロジェクトの目標を流体力学のカルマン渦のシミュレー
ションに設定した。目標を達成するためにまず、流体力学を解く上で基本方程式となる連続
Group Report of 2013 SISP
-8-
Group Number 2-A
A mathematical principle of complex system and its simulation
の式とナビエストークス方程式についてメンバーで輪読を行うことで流体力学の基礎知識を
身につけた。また、学習したことを教員やメンバーの前でセミナーを実施する時間が設けら
れ、2 人 1 組で毎週水曜日に交代してセミナーを行うこととなった。1 組目水元と中村が担
当し、2 組目が臺坂と竹本、3 組目が森谷と森岡の順でセミナーを担当し、各自セミナーの
準備を行うことも並行して行った。
• 5月
テキストを各章ごとに分担しセミナーを行い自分の班はポテンシャル流れとレイノルド数
いった分野を担当した。自分は主にレイノルド数を担当し、粘性の大小が流体にどのよう
な影響を及ぼすかという内容についてセミナーを行いより深い知識を身につけることがで
きた。
• 6月
5 月同様にセミナーを実施して、前期のセミナーの肝となる境界層近似という分野について
担当した。境界層は今後。カルマン渦をシミュレーションする上でとても重要になるもので
メンバー全員が理解できるようセミナーを努めた。またこの分野でオーダーという計算量を
見積もりを表す数値計算の方法も習得することができた。
• 7月
セミナーと並行して中間発表の準備を行った。自分はポスターを担当し、イラストレイター
について 1 から学びポスターを作成させた。また、流体力学の理解をより深めるために流体
の流れの場について実験を行ったことが中間発表のいい題材とすることができプログラムで
可視化するためのイメージを持つことができた。
• 8月
夏休み期間に入り、このプロジェクトの目標であるカルマン渦のシミュレーションすること
を達成するためのステップとしてナビエストークス方程式より比較的簡単なバーガース方程
式と拡散方程式について学習を始めた。
• 9 月 10 月
夏休み期間中だが 8 月で各自予習してきた内容をメンバーと照らし合わせより理解を深め
た。また、バーガース方程式と拡散方程式についてのシミュレーションを始めた。
• 11 月
理論班とプログラム班に分かれて行動した。理論班はバーガース方程式と拡散方程式につい
て式の構造を理解することに徹した。プログラム班は理論班が集めた情報をいかしてバー
ガース方程式と拡散方程式のプログラムを行った。また、最終発表の準備を行い自分はポス
ターを担当した。中間発表で指摘されたことを意識してさらにわかりやすい内容に仕上げる
ことができた。
• 12 月
最終発表を行いアンケートの評価を参考に自分たちのプロジェクトの反省を行った。
(※文責: 臺坂勇太)
3.2.6
森岡駿大
• 4月
プロジェクトの配属が決まり、これからの活動予定を立てるためにリーダー、サブリーダー
を決めて議論を進めた。本プロジェクトの目標を、複雑系を理解するために、流体力学の自
Group Report of 2013 SISP
-9-
Group Number 2-A
A mathematical principle of complex system and its simulation
然現象であるカルマン渦のシミュレーションをすることに設定した。この目標を達成するた
めにまず、流体力学を解く上で必要な方程式であるナビエストークス方程式について、メン
バーでテキストを用いて輪読を行うことにした。この輪読では、毎週交代制で各章をメン
バーが二人一組になって順番に行うことになった。輪読の前には各自で予習を行うことを決
めた。
• 5 月 プロジェクトに配属が決まり、目標であるカルマン渦のシミュレーションのためテキストを
元に輪読を行った。テキストを各章ごとに分担し輪読を行い、自分は運動方程式、エネル
ギー方程式といった分野を担当した。自分は主に流体運動を支配する方程式について学週を
進めた。分からない部分に関しては、メンバー同士で知識を共有したりライブラリーを活用
するなどした。
• 6 月 5 月同様に輪読を行って、各章の理解を進めていった。自分以外の人の説明を受けることで
より理解を深めることが出来た。また、各章ごとに教授からアドバイスをいただき理解を深
めていった。
• 7 月 各章を輪読してきたところをまとめて、中間発表の準備をした。メンバーと一緒に流体力学
の理解をより深めるために流体の流れの場について実験を行った。流れの場のイメージを持
つために、流れの場の実験では、水におがくずを浮かべて、乱流や層流といった流れの場を
見ることに成功した。夏休み期間に入る前にメンバー全員で今後の活動内容について話し
合った。夏休み期間中にカルマン渦をシミュレーションするステップとして、バーガース方
程式と拡散方程式のシミュレーションについて学習してくることを決めた。
• 8 月,9 月 夏休み期間に入り、ナビエストークス方程式より比較的簡単なバーガース方程式と拡散方程
式について学習をした。夏休み期間中に何回かメンバーで集まりバーガース方程式と拡散方
程式について理解を深めた。
• 10 月 夏休み期間中に各自学習してきた内容をメンバー間で発表をして、理解を深めた。今後の予
定についてメンバーで話し合った。とりあえずの目標として夏休み期間中から学習を始めた
バーガース方程式と拡散方程式の数値計算とシミュレーションをすることに設定した。
• 11 月 バーガース方程式と拡散方程式のシミュレーションをするのにあたって、理論班とプログラ
ム班に分かれて行動し、自分は理論班としてバーガース方程式と拡散方程式について式の構
造を理解することになった。
• 12 月 学習を進めつつ、最終発表の準備を行い、自分は最終発表で使うポスターの作成を担当し
た。ポスター作成後は発表に向け、プレゼンテーションの練習を行った。一度教授の前でプ
レゼンテーションを見てもらい、アドバイスを受け、それを元に最終発表に向けて準備を進
めた。その後、最終発表で出た意見からプロジェクトの反省を行った。
(※文責: 森岡駿大)
Group Report of 2013 SISP
- 10 -
Group Number 2-A
A mathematical principle of complex system and its simulation
第4章
4.1
課題解決の詳細
カルマン渦
本プロジェクトでは複雑系を理解する手がかりとして、複雑な挙動をする乱流を取り上げた。さ
らに乱流の中でも身近な現象であるカルマン渦を取り上げた。このプロジェクトの最終目標はカル
マン渦を視覚化するツールを開発することである。カルマン渦とは一様な流れの中に障害物を置い
たときに障害物後流に交互にできる渦のことをカルマン渦という。
カルマン渦は身近で観測でき、旗のたなびきや電線のうなりなどはこのカルマン渦が原因であ
る。また橋やビルの設計の際にはこのカルマン渦が発生することを考慮しなくてはならないので、
設計の前にシミュレーションを行ったりしている。
このカルマン渦をシミュレーションするには、運動量の保存を表すナビエストークス方程式、質
量の保存を表す連続の式を連立して数値計算をしなくてはならない。またこのカルマン渦が発生す
るには、流れのふるまいを表すレイノルズ数も関係し、障害物と流れの間にできる境界層について
も考慮しなくてはならない。
この節では今挙げたようなカルマン渦をシミュレーションするのに必要な流体力学の基礎につい
て述べる。
(※文責: 竹本耀)
4.1.1
連続体近似
以下の文章は(蔦原、[1, p.2-3])を参考にまとめている
本プロジェクトで最終目標としているカルマン渦は流体の現象である。そこで流体とは何か、とい
うことについて考えてみる。流体とは、空気や水などの気体、液体といった文字通り流れる物体を
宗匠したものである。地球内部のマグマや電離した気体(プラズマ)、あるいは磁性を持つ金属の
粉をコロイド状に油を溶かせた液体(磁性流体)も、もちろん流体である。カルマン渦は空気や水
でも起きる現象であるが、本プロジェクトでは、カルマン渦は水で起きる現象と定義する。
気体も液体も分子でできており、その分子の間にはなにもない。つまり、不連続である。しか
し、気体を例にとると、1 モルの気体は標準状態[温度 0 ℃ (273K)、圧力 1 気圧(1.013 × 105 Pa)
のもと]では 22.4l の体積を占めるが、この中にはおよそ 6.024 × 102 3 個の分子がある。つまり、
1 辺が 1 μ= 0.001mm の立方体の中にさえ約 2.687 × 107 個の分子が存在することになる。これ
らを一つ一つ追跡することは不可能である。また、普通空気の運動を考える場合など、分子の一つ
一つの運動を調べる必要はない。
そこで、流体を連続体として取り扱う方法が考えられる。これは非常に小さな体積を持つ流体粒
子というものを考え、その中で分子の運動の平均をとる。例えば、流体を構成する分子が1種類だ
けであるとすると、流速 u は
u=
m
∑n
i=1
vi
nm
と表される。ここで m は気体分子 1 個の質量、vi は i 分子の速度、n は考えている流体粒子内の
Group Report of 2013 SISP
- 11 -
Group Number 2-A
A mathematical principle of complex system and its simulation
分子の数である。また、密度ρは
ρ=
nm
V
と表される。ここで、V は考えている流体粒子の体積である。
つまり気体を連続的な流体と考える場合、任意の時間で、空間の点において定義される密度、速
度といった巨視的な変数は、考えている点まわりに小さな広がりを持つ体積を考え、その範囲での
空間的な平均値を扱っていると考えるのである。そして、時間的、空間的に連続なこれら巨視的な
変数だけを用いて、流体現象を記述することが可能となる。これを連続体近似と呼ぶが、この近似
により流れの運動を支配する方程式は場の偏微分方程式で表されることになる。
(※文責: 森岡駿大)
4.1.2
連続の式
以下の文章は(蔦原、[1, p.2-3]),(藤本、[2, p.3-4]),(木田、[3, p.8-10])を参考にまとめてい
る。
図 4.1
流れは 3 次元空間内に限られているとし、この空間内に直角座標系 (x,y,z) をとる。流体の密度
をρ、u を流速とし、
u = (ux , uy , uz ) = (u1 , u2 , u3 )
である。またそれぞれの成分の流速を
ui (x, y, z, t)(i = 1, 2, 3)
で表す。tは時間である。図 4.1 のような微笑部分 ABCD-EFGH について考える. 面 ABFE を
通過して時間 dt の間に ABCD-EFGH 内へ入る流体の質量は
ρux (x, y, z, t)dydzdt
面 DCGH を通過して出るものは
ρux (x + dx, y, z, t)dydzdt
Group Report of 2013 SISP
- 12 -
Group Number 2-A
A mathematical principle of complex system and its simulation
である。この流出時の流速は検査領域が微笑直方体であるのでテイラー展開し、dx の 2 次以上の
項を無視すると
ρux (x + dx, y, z, t)dydzdt = (ρux (x, y, z, t)dydzdt +
∂ρux
dx)dydzdt
∂x
流入流量から流出流量を引くと、
−
∂ρux
dxdydzdt
∂x
である。また、y 方向(面 ADHE を通過して入ってきて面 BCGF を通過して出て行く)、z 方向
(面 FEHG を通過して入ってきて、面 BADC を通過して出て行く)も同様に
−
∂ρuy
dxdydzdt
∂x
−
∂ρuz
dxdydzdt
∂x
が導出できる。よって時間 dt の間に ABCD-EFGH 内に残った流体の密度は
−(
∂ρux
∂ρuy
∂ρuz
+
+
)dxdydzdt
∂x
∂y
∂z
である。またρ dxdydz だった密度が時間 dt 後には
ρ(x, y, z, t + dt)dxdydz = (ρ +
∂ρ
dt)dxdydz
∂t
となる。つまり時間 dt の間に
∂ρ
dtdxdydz
∂t
増加する。これら 2 量は等しいから
∂ρ
∂ρux
∂ρuy
∂ρuz
dtdxdydz = −(
+
+
)dxdydzdt
∂t
∂x
∂y
∂z
従って、
∂ρ
∂ρux
∂ρuy
∂ρuz
+(
+
+
)=0
∂t
∂x
∂y
∂z
となる。これを連続の式という。これは流体が急に出現したり、消えたりしないこと表すもので
ある。
気体のように圧力の変化に伴い密度も変化する流体を圧縮性流体といいその連続の式は今あげた
ものである。これに対し、水その他の液体の密度はほぼ一定で変化しないと考えてよい。このよう
な密度が一定の流体を非圧縮流体という。この場合には密度は一定であるから連続の式は
∂uy
∂uz
∂ux
+
+
=0
∂x
∂y
∂z
となる。
(※文責: 竹本耀)
Group Report of 2013 SISP
- 13 -
Group Number 2-A
A mathematical principle of complex system and its simulation
4.1.3
ベクトル解析
以下の文章は(馬場、[4, p.126-156])を参考にまとめている。
平面または空間領域 D 内に各点 P にスカラー f(P) が対応づけられているとき、この領域 D の
ことをスカラー場と呼ぶ。これに対し、領域 D 内の各店 P にベクトル f(P) が対応づけられている
とき、この領域のことをベクトル場と呼ぶ。ここでは勾配、発散、回転について説明する。
まず勾配について説明する。空間スカラー場
f (P ) = f (x, y, z)
の勾配ベクトルを gradf と表記し、次のように定義する
gradf = [
∂f ∂f ∂f
,
,
]
∂x ∂y ∂z
ここでベクトル解析の重要な記号法について説明する。空間スカラー場においてナブラと呼ばれる
演算子∇を次のように定義する。
∇=[
∂ ∂ ∂
∂
∂
∂
,
,
] または ∇ = i
+j
+k
∂x ∂y ∂z
∂x
∂y
∂z
ここで i,j,k は x,y,z 方向の単位ベクトルである。これをスカラー値関数 f(x,y,z) に作用させること
により gradf ができる。つまり、
gradf = ∇f = [
∂ ∂ ∂
∂f ∂f ∂f
,
,
]f = [ ,
,
]
∂x ∂y ∂z
∂x ∂y ∂z
となる。この∇を導入する理由は後に説明する発散や回転についても∇を利用すれば統一的に簡単
に表記できるからである。
それでは次に発散について説明する。空間ベクトル場
f (P ) = f (x, y, z) = [f (x, y, z), g(x, y, z), h(x, y, z)]
の発散を divf と表記し、次のように定義する。
divf =
∂f
∂g
∂h
+
+
∂x ∂y
∂z
この divf も演算子ナブラ∇を使って表すことができる。
divf =
∂f
∂g
∂h
∂ ∂ ∂
+
+
=[ ,
,
]・[f, g, h] = ∇・f
∂x ∂y
∂z
∂x ∂y ∂z
となる。それでは 4.1.1 節の圧縮性流体と非圧縮性流体の連続の式をそれぞれナブラを用いて表し
てみると
∂ρ
+ ∇・(ρu) = 0
∂t
∇・u = 0
となる。∇・ u は速度場の発散と呼ばれ、流体の膨張(収縮)を表している。つまり、連続の式は、
流体粒子に沿っての密度の変化は、その粒子が膨張(収縮)することにより減少(増加)すること
を表している。
Group Report of 2013 SISP
- 14 -
Group Number 2-A
A mathematical principle of complex system and its simulation
最後に回転について説明する。空間ベクトル場
f (P ) = f (x, y, z) = [f (x, y, z), g(x, y, z), h(x, y, z)]
の回転を rotf と表記し次のように定義する。
rotf = [
∂h ∂g ∂f
∂h ∂g
∂f
−
,
−
,
−
]
∂y
∂z ∂z
∂x ∂x ∂y
このときナブラ演算子を用いると
rotf = ∇ × f
の形で表せる。この rotf は空間ベクトル場 f の各点における回転の強さを表している。
以降の流体力学の基礎方程式では主にこのナブラ演算子を用いる。
(※文責: 竹本耀)
4.1.4
ナビエ・ストークス方程式
ナビエ・ストークス方程式は流体の力学を支配する方程式であり、その方程式は
ρ[
∂u
+ (u・∇)u] = F − ∇p + µ∇2 u
∂t
となっている(蔦原、[5, p152])。新たな変数として F は重力などの外力、p は密度、 μは粘性係
数である。また密度一様な非圧縮流体に対して、この式の両辺をρで割ると、
∂u
p
+ (u・∇)u = F − ∇ + ν∇2 u
∂t
ρ
となる。ここで
ν=
µ
ρ
は動粘性係数である(蔦原、[1, p.5])。カルマン渦もこの方程式の解となっており、本プロジェク
トではこの方程式を数値解析することが課題となっている。この方程式を理解して使いこなせるこ
とができればさまざまな流体のシミュレーションを行うことができる。しかし、見てのとおり複雑
な式となっており、またナビエ・ストークス方程式を解くということも難しい。
(※文責: 森谷一洋)
4.1.5
ナビエ・ストークス方程式の特徴
ナビエ・ストークス方程式はベクトルを含んだ非線形偏微分方程式であり、特別な場合しか解析
的に解けず、解は主に近似解として求める。式自体は複雑だが、方程式の表現しようとしていると
ころは割りと単純であり、以下のような意味になっている。単位質量の流体をとりだしてみるとそ
の重心の加速度項 (左辺) は、とりだした部分に働くいろいろな種類の力 (右辺) の合計に等しい。
これは、ニュートンの運動方程式の第2法則と同じである。つまりナビエ・ストークスはニュート
ンの運動方程式を流体にあてはめた方程式となっている。
(※文責: 森谷一洋)
Group Report of 2013 SISP
- 15 -
Group Number 2-A
A mathematical principle of complex system and its simulation
4.1.6
粘性応力
このプロジェクトでは流体の運動を表す方程式を数値計算するので、そのためにナビエ・ストー
クス方程式について、ベクトル表記ではなくテンソル表記で表す。そのために、まずは応力とテン
ソル表記について詳しく書かれている(木田、[10,p.114-120])を参考に項目 4.1.6∼4.1.8 にまと
める。
物理特性に特別な方向性がない流体が静止している場合や、1 つの方向に一様に運動している場
合は、速度の空間的な変動がないので、応力は等方的で法線成分である圧力のみで表わされる。速
度が場所ごとに異なっていると、応力はもはや等方的でなくなるが、速度変動が小さくて応力への
影響は無視できると仮定し、応力には相変わらず接線成分が現れないとする理想的な流体が、完全
流体である。多少の速度変化があっても、お応力に対するその効果が比較的小さい水や空気などの
流体では、完全流体という理想化によって、流れの記述が極めて簡単になり、しかも現象をよく表
す場合がある。 しかし、一様流の中に置かれた物体には、流体が完全流体であるとすれば、抵抗
がはたらかにことになり、われわれの日常の経験とは矛盾する結果となる。油やグリセリンなどの
粘っこい、すなわちレイノルズ数の小さい流体では、小さな速度勾配でも応力が比較的大きく、流
れのふるまいに影響が現れるので、この効果を考慮することが必要である。その応力が速度勾配に
どのように依存するかを記述する。
(※文責: 森谷一洋)
4.1.7
応力テンソル
空間の各点で、微小な平面を任意にとり、その面の裏から表に向かう単位ベクトルを n とする。
このとき、この面の表側の流体が裏側の流体に及ぼす単位面積あたりの力が応力 P(n) である。ま
ず、P(n) の xi (i = 1, 2, 3) 成分を Pi (n) と書く。つぎに、座標軸 xi (i = 1, 2, 3) に垂直な面で xi
の大きい側の流体が小さい側の流体に及ぼす応力の xi 成分を と表す。同様に、 xj の小さい側の
流体が大きい側の流体に及ぼす応力の xi 成分を Pij と表す。作用反作用の法則により
Pij = −Pij
(i = 1, 2, 3; j = 1, 2, 3)
(4.1.1)
が成り立つ。任意の流体要素に対するニュートンの運動方程式の各項である加速度項と外力項は、
流体要素の体積に比例する。これに対して、応力を含む右辺第 1 項は流体要素の面積に比例して
いる。流体要素の形は任意であるから、単位法線ベクトルが n(n1 , n2 , n3 ) の平面と、(x1 , x2 ) 面、
(x2 , x3 ) 面、および (x3 , x1 ) 面で囲まれる四面体 OABC を流体要素に選ぶこの四面体の形を保っ
たまま、おの大きさをどんどん小さくしていく。四面体の体積は辺の長さの 3 乗に比例して小さく
なり、一方、表面積の長さの 2 乗に比例して小さくなるので、四面体を無限に小さくする極限で
は、体積の面積に対する比がゼロになる。このとき、ニュートンの運動方程式は
Pi (n)S + Pi1 S1 + Pi2 S2 + Pi3 S3 = 0
(4.1.2)
と表せられる。ここに S, S1 , S2 , S3 はそれぞれ、∆ABC, ∆OBC, ∆OCA, ∆OAB の符号付き面
積で
S1 = Sn1 , S2 = Sn2 , S3 = Sn3
Group Report of 2013 SISP
- 16 -
(4.1.3)
Group Number 2-A
A mathematical principle of complex system and its simulation
となる関係がある。この式と式 (4.1.1) を式 (4.1.2) に代入すると、
Pi (n) = Pij nj
(4.1.4)
が得られる。この式は、9つの応力成分を持つ量 {Pij } (i = 1, 2, 3; j = 1, 2, 3) と単位ベクトル n
との内積が、応力ベクトル P(n) を与えることを示している。したがって、{Pij } はテンソルであ
る。これを応力テンソルという。応力テンソルがわかれば、任意の面に作用する応力を、それとそ
の面に垂直な単位ベクトルとの内積をとることによって求めることができる。式 (4.1.4) をニュー
トンの運動方程式に代入し、ガウスの積分定理を用いて面積積分を体積積分に変換し、両辺を δV
で割ると、速度場の発展方程式、
ρ
Dui
∂Pij
=
+ ρFi
Dt
∂xi
(4.1.5)
が得られる。この式は、右辺の応力テンソル {Pij } を速度場 u(x,t) の関数として表すことによっ
て解くことができる。
(※文責: 森谷一洋)
4.1.8
ナビエ・ストークス方程式のテンソル表記
流れの場の任意の点における速度の空間的変動の局所的な様子は、その点における速度の空間的
微分で表される。そこで、速度の 1 階空間微分係数の 9 つの成分、
∂ui
∂xj
(i = 1, 2, 3; j = 1, 2, 3)
(4.1.6)
を空間的変動を特徴づける指標として採用する、これらの 9 つで 1 組の成分は、テンソルの性質を
そなえており、速度勾配テンソルと呼ばれる。
実在する任意の流体に対して、応力テンソルが速度勾配テンソルにどのように依存するかは知
られていない、それは流体の種類ごとに異なり、両者の一般的な関係式は存在しないのである。し
かし、空間的変動の影響が小さいとすれば、応力テンソルを速度勾配テンソルの各成分の 1 次関数
と置く近似、
Pij = Cij + Cijkl
∂uk
∂xi
(4.1.7)
が適当である。ここに、Cij と Cijkl は、それぞれ2階および4階のテンソルで、どちらも速度勾
配テンソルに依存しない定数である。流体の性質が東方的であるとすると、これらの定数はどんな
回転に対しても不変な等方テンソルになっており、それぞれ、
Cij = Aδij
(4.1.8)
および、
Cijkl = Bδij δkl + Cδik δjl + Dδil δjk
(4.1.9)
と表される。式 (7) の第 1 項は、速度勾配の影響のない完全流体の応力テンソルなので、 となる。
係数 (4.1.8) と (4.1.9) を式 (4.1.7) に代入すると、
Pij = −pδij + Bδij
∂ui
∂uj
∂uk
+C
+D
∂xk
∂xj
∂xi
(4.1.10)
が得られる。流体要素が変形せず、単に要素の相対的位置関係が不変の回転をしている場合には、
応力の完全流体からのずれへの速度の空間的変動からの寄与は全くないと考えられる。原点のまわ
Group Report of 2013 SISP
- 17 -
Group Number 2-A
A mathematical principle of complex system and its simulation
りに角速度 Ω で回転する流れの速度は、u = x × Ω(ui = εijk xj Ωk ) であることがわかる。これを
式 (4.1.10) の第 2∼4 項に代入して、それらをゼロとおくことによって、(C − D) εikl Ωk = 0 が
得られる。この式が、任意の Ω に対して成立する条件は C=D である。したがって応力テンソル
(4.1.10) は、
Pij = −pδij + λδij
∂uk
∂ui
∂uj
+ µ(
+
∂xi )
∂xk
∂xj
∂xi
(4.1.11)
のようにまとめられる。この式 (4.1.11) を運動方程式 (4.1.5) に代入すると項目 4.1.4 のナビエ・
ストークス方程式に変形できる。
(※文責: 森谷一洋)
4.1.9
粘性法則
4.1.6 では、流体のもつ粘性がその流体の速度勾配にどのように影響するかについて述べたが、
流体と一言でいっても、それは実に様々である。水も流体であり、空気も流体であり、粘土も流体
である。ここで、水で起こる運動の現象が、空気、粘土にも同様に起こるのか、またその運動の現
象の記述はすべて同じ記述の方法なのかという疑問が生まれる。後者は、流体力学の様々な参考書
に書かれているように、ニュートンの運動方程式が成り立たない流体、非ニュートン流体という分
類もあることから、当然運動の記述も異なることがわかる。例で挙げた粘土はこの非ニュートン流
体である。では具体的に粘性流体とはどのような条件を持つ流体なのかについて、このことを詳し
く述べられている (石綿、[11,p.67-68]) を参考にまとめる。 ニュートンの運動方程式が成り立つ
流体のことをニュートン流体という。ニュートン流体では、応力とひずみ速度に関連して以下の仮
定が成り立つ。
(i) 静止している流体では粘性による応力は働かない。
(ii) 粘性による応力はひずみ速度と一次式で結ばれる。
(iii) 等方性はない。
これらの仮定にもとづくと、せん断応力とひずみ速度の関係は次のようになる
σxy = σyx = µ(
σyz = σzy = µ(
∂v
∂u
+
)
∂x ∂y
∂w ∂v
+
)
∂y
∂z
σzx = σxz = µ(
(4.1.12)
∂u ∂w
+
)
∂x
∂y
ここで、μは流体の粘土である。垂直応力は次のようになる。
∂u
) + λdiv v
∂x
∂v
= −p + 2µ( ) + λdiv v
∂y
σxx = −p + 2µ(
σyy
σzz = −p + 2µ(
(4.1.13)
∂w
) + λdiv v
∂z
ここでλは物質の種類とその状態によって定まる定数であるが、通常 λ = −2µ/3 という過程が成
り立つ。流体が非圧縮性ニュードン流体の場合には発散 divv = 0 であるので式 (4.1.13) は次式と
なる。
σxx = −p + 2µ(
Group Report of 2013 SISP
∂u
)
∂x
- 18 -
Group Number 2-A
A mathematical principle of complex system and its simulation
σyy = −p + 2µ(
∂v
)
∂y
σzz = −p + 2µ(
(4.1.15)
∂w
)
∂z
以上、非圧縮性ニュートン流体では式 (4.1.12) と式 (4.1.14) によって応力とひずみ速度が関係づ
けられる。また、これらの式を構成方程式という。
(※文責: 森谷一洋)
4.1.10
レイノルズ数
レイノルズ数とは粘性を持つ流体のふるまいを特徴付ける無次元の値であり、
R=
UL
ν
と表せる [1, p.8]。ここで U は代表的な速さ,L は代表的な長さ、νは動粘性係数となっている。
このレイノルズ数と無次元量
u∗ =
p
tU
xi
u ∗
,p =
, x∗i = , t∗ =
2
U
ρ0 U
L
L
を用いるとナビエ・ストークス方程式は
∂u∗
p∗
1
∗
∗
+
(u
・
∇)u
=
F
−
∇
+ ∇2 u
∗
∂t
ρ
R
と書ける。このレイノルズ数が高いと乱流と呼ばれる乱れた流れになりやすく、低いと層流と呼ば
れる滑らかな流れになりやすい。カルマン渦は乱流であるのでこのレイノルズ数が高いということ
がわかる。分母のνが大きいときはレイノルズ数は小さくなる。このとき流れにおよぼす粘性が大
きいこととなる。これは水あめのようなドロドロとした流体である。逆に分母のνが小さいときは
レイノルズ数は大きくなる。このとき流れにおよぼす粘性が小さいこととなる。これは水のような
サラサラとした流体である。また分子の UL の大きさによってもレイノルズ数は変わってくる。
またこの無次元化した方程式はパラメターとしてはただひとつ、R を含むだけであることに注意
する。幾何学的に相似な物体のまわりの流れは、レイノルズ数が等しければ、運動学的にも相似に
なる。2つの流れ場は、レイノルズ数が同じであれば、適当にスケール変換すれば同一の運動方程
式に従うのである。これはレイノルズの相似則という(木田、[2,p.45])。この相似則のおかげで、
航空機や船舶、自動車などの大きくて取り扱いが難しい物体のまわりの流れを、それらの雛形を
作って模型実験で調べることが可能になる。これとは対照的に境界の形が同じでもレイノルズ数が
異なると、一般に流れの様子は大きく変化する。図 4.2 がその例である。
前期には水を使って障害物の速さを変えることでレイノルズ数を変える実験を行った(図 4.2)。
この実験の概要は以下の通りである。
• 同じ流体(今回は水)を使い粘性を一定とする。
• 水にオガクズを浮かせ、流れを可視化する。
• 障害物(今回は指)の動かす速さ、水に触れる部分を変えたときに流体がどういうふるまい
をするか見る。
Group Report of 2013 SISP
- 19 -
Group Number 2-A
A mathematical principle of complex system and its simulation
図 4.2 実験による流れの可視化(左:層流 右:乱流)
指が水に触れる部分が少なく、指を遅く動かした時には層流、指が水に触れる部分が多く、指を
早く動かした時には乱流(カルマン渦)が作れた。この実験から分子の UL の値によってもレイノ
ルズ数を上下させることがわかった。相似な物体でもレイノルズ数の違いで流れの様子が変化する
ということを調べることができた。
この実験の反省点としては、障害物に大きさがわかりにくい指を使ってしまったことである。乱
流を作る時は鉛筆、層流を作る時は針といったような大きさのイメージがわかりやすい障害物を使
う工夫をすべきであった。
(※文責: 竹本耀)
4.1.11
ストークス方程式
流れの速度が極めて小さいとき、あるいは、物体が極めて小さいときには、物体の粘性がそれほ
ど大きくなくてもレイノルズ数は小さな値となる。このときには、ナビエ・ストークス方程式は左
辺第二項を無視して
ρ
∂u
= −∇p + µ∇2 u
∂t
と簡単化され、この式はストークス方程式と呼ばれる。また圧力は前述の式の発散を取ると、
∇u̇ = 0
であるから、
∇2 p = 0
となりラプラス方程式は満足する。ここで前述の式の rot をとると
∇ × (∇p) = 0
より
∂ω
= ν∇2 ω
∂t
となり、渦度 ω は熱伝導方程式を満足する。ストークス方程式は線形の方程式であり、基本的には
解が求まるが、物体周りの流れの解が、物体から離れたところで破綻するなど、近似によって生じ
る問題が存在する(蔦原,[1,p9])。
(※文責: 森岡駿大)
Group Report of 2013 SISP
- 20 -
Group Number 2-A
A mathematical principle of complex system and its simulation
4.1.12
オセーン方程式
前述のストークス方程式では、ナビエ・ストークス方程式の慣性項を完全に無視した。ストーク
ス方程式の欠点として物体周りの解が破綻してしまうことがあるが、この欠点を補うナビエ・ス
トークス方程式として、オーセン方程式がある。
この近似式では u = U i + u′ とおく。ここで U は一定である。また u’ は物体により生じる流れ
であると考えられるので物体からの距離を r として r →∞で u’ →∞とする。この式を
∂u
˙
+ (u∇)u
= −∇χ + ν∇2 u
∂t
に代入すると、
∂u′
∂u′
1
+U
= − ∇p + ν∇2 u′
∂t
∂x
ρ
が得られる。
˙ ′ は2次微小項であるとして無視している。ここでもう一度 u′ = u − Ui
遅い流れの場合 (u′ ∇)u
とおいて u に対する方程式に書き直すと
∂u
∂u
1
+U
= − ∇p + ν∇2 u
∂t
∂t
ρ
となり、この式はオセーン方程式と呼ばれる(蔦原、[1,10])。
(※文責: 森岡駿大)
4.1.13
境界層
カルマン渦列とは、境界層が剥離した際にできる渦のことである。境界層とは流体が障害物にぶ
つかった際にできる薄い層のことである。静止物体の置かれた流れを考えたとき、物体近くの流体
は粘性によって物体に引っ張られ、速度が減少している。当然その減少の度合いは物体から離れる
につれて小さくなってゆくが、ある距離で無視できる程度になる。したがって、この距離を境に粘
性が強く影響する層と無視できる層に分けることができる。この粘性を強く受ける方の層を境界層
という。気体と液体、液体と固体あるいは液体と液体、気体と固体などのいろいろな界面と流体を
接触させるとき熱や物質を移動させる場合があります。いずれの場合も、その界面近傍の流れがき
わめて重要な役割を演じている。
例えば、一様な速度 v0 をもつ粘性流体が静止する固体壁に接触した場合を考えてみると、固体
壁は静止しているから、その表面上の流体粒子は静止していると考えるのが自然であり、境界近傍
に粘性の存在を無視しえない薄い流体層が生ずることになる。この粘性力が顕著に現れる薄い層δ
を境界層という。
この境界層内では粘性力が支配的であり、一方境界層の外側では粘性の影響を無視できるもの
とすると、解析が容易になり、近似解が得られる。このような手法を境界層理論とよぶ。(宝沢、
[9,p.85])
(※文責: 臺坂勇太)
Group Report of 2013 SISP
- 21 -
Group Number 2-A
A mathematical principle of complex system and its simulation
4.1.14
境界層近似
相対的に粘性が小さい場合、つまり Reynolds 数の大きい流れについて考えていくこととする
と、無次元化しナビエ・ストークス方程式を見ると Reynolds 数が極めて大きいときには、粘性項
1/R ∇ ∗2 u∗ を 0 とおいてしまう近似すなわち非粘性流れがよい近似になっていると考えられ上流
で渦なしであればポテンシャル流れと考えられる。確かに、ポテンシャル流れはナビエストークス
方程式の解であり R=∞としたときの流れが渦なしの時の正しい解のように見えるが、ポテンシャ
ル流れはナビエストークス方程式の中の最高階の微分数を含む粘性項を無視してしまっているの
で、いわゆる物体表面上での粘着の条件(流体の物体表面上で物体と同じ速度になる)を満足させ
ることができず流体は一般には物体上を滑る事になる。
観測結果によると、静止した物体を過ぎる Reynolds 数が大きな流れでは物体表面近傍では、物
体表面上で静止した流体が外部の流れへ急激に変化する境界層と呼ばれる薄い層が形成されること
が見出されている。物体上流で渦なしであれば、この境界層外側および後流の外側は後述のポテン
シャル流れであると考えられる(蔦原、[1, p.10-11])。
(※文責: 臺坂勇太)
4.1.15
境界層方程式
ここでは、境界層に対する方程式を考える。最も簡単な例として平板に沿う 2 次元の境界層を考
える。x 軸を平板上かつ流れの方向にとり、y 軸を平板垂直方向にとる。連続の式と運動方程式は
流速の x、y 軸方向成分をそれぞれ u,v とすると、
∂u ∂v
+
=0
∂x ∂y
(4.1)
∂u
∂u
∂u
−1 ∂p
∂2u ∂2u
+u
+v
=
+ ν( 2 + 2 )
∂t
∂x
∂y
ρ ∂x
∂x
∂y
(4.2)
∂v
∂v
∂v
−1 ∂p
∂2v
∂2v
+u
+v
=
+ ν( 2 + 2 )
∂t
∂x
∂y
ρ ∂x
∂x
∂y
(4.3)
である。境界条件は y=0 において u=v=0 である。式 (4.1)、(4.2)、(4.3) の各項の大きさを考え
てみる。境界層外側の流れの速度を U=O(1)、基準の長さを L=O(1) とすると
u = O(U ) = O(1)
∂
1
= O( ) = O(1)
∂x
L
一方、
∂
1
= O( )
∂y
δ
となる。ここでδは境界層の厚さでδ¡¡L であると考えている。これらの評価を式 (4.1) に適用す
ると、左辺の 2 項がつり合うためには
v = O(
Group Report of 2013 SISP
δU
) = O(δ)
L
- 22 -
Group Number 2-A
A mathematical principle of complex system and its simulation
でなければならない。また、x 方向運動方程式 (2) の左辺と右辺のつり合い(慣性項と粘性項のつ
り合い)を考慮すると、U 2 /L∼νU/δ2 すなわち
δ
L
∼R − 2
1
が得られる。つまり Reynolds 数が大きいとき境界層の厚さは小さな値をとる。
運動方程式から δ/L のオーダーの項を無視すると
∂u
∂u
∂u
−1 ∂p
∂2u
+u
+v
=
+ν 2
∂t
∂x
∂y
ρ ∂x
∂x
0=−
1 ∂p
ρ ∂y
(4.4)
(4.5)
となる。連続の式 (4.1) と式 (4.4) および式 (4.5) が境界層方程式と呼ばれる近似式である。式
(4.5) をみると境界層内では圧力は y 方向には変化しないことがわかる。つまり、p = p(x, t) と書
け式 (4.4) に代入すると
∂u
∂u
∂u
∂2u
−1 ∂P
+u
+v
−ν 2 =
∂t
∂x
∂y
∂y
ρ ∂x
(4.6)
となる。この式での圧力 P は、外部の流れから求まる既知のパラメータとなっている。この圧力
は境界層の外部の流れに対する非粘性の運動方程式
∂U
∂U
−1 ∂P
+U
=
∂t
∂x
ρ ∂x
(4.6)
が成り立つとし、これを用いると式 (4.6) は
∂u
∂u
∂u
∂U
∂U
+u
+v
=
+U
∂t
∂x
∂y
∂t
∂x
(4.7)
と書ける。結局、連続の式 (4.1) と式 (4.7) を境界条件
y = 0 において u=v=0
y = δ において u=U
のもとで解くことになる(蔦原、[1, p.11-12])。
(※文責: 臺坂勇太)
4.1.16
境界条件
この節で導いた運動方程式は偏微分方程式であるから、解を求めるためには境界条件を指定しな
ければならない。流体が有限領域に限られている場合はその境界面で、また無限に広がっている場
合は無限遠方で運動法則を適用することにより必要な条件が得られる。
粘性流体では流体要素がずれ運動を行うと、ずれ変形に抗して流体要素間に摩擦応力がはたらい
ていた。流体が物体に接している場合には、接触面での流体要素は物体とともに運動すると考えら
れる。これは通常よく使われる境界条件で粘着条件という。とくに、静止した物体のまわりの流れ
では、流速は物体表面でゼロとなる。また 2 つの互いに交じり合わない流体が接している場合に
は、境界面では双方の流体の速度が一致し、応力の差が境界面での表面張力に等しいという条件が
課せられる(木田、[2,p.30-31])。
(※文責: 竹本耀)
Group Report of 2013 SISP
- 23 -
Group Number 2-A
A mathematical principle of complex system and its simulation
4.2
ポテンシャル流れ
本プロジェクトの最終的な目標はカルマン渦を可視化することであるが、前節で述べたナビエ・
ストークス方程式を解くことは難しいので、まず手始めにポテンシャル流れの可視化を行うことに
する。ポテンシャル流れの運動はナビエ・ストークス方程式の粘性項を無視したオイラー方程式
∂u
1
+ (u・∇)u = − ∇p
∂t
ρ
で表される(蔦原、[1, p7])。レイノルズ数の大きな流れでは、物体表面付近の境界層などを除く
流れの大部分を、ポテンシャル流れで近似することができる。そのため、ポテンシャル流れは境界
層外の主流を解析するうえで、きわわめて重要である。また流れが渦なし、つまり
∇× u=0
のとき、速度はスカラー関数φの勾配で表され
u = ∇ϕ
となる。φは速度ポテンシャルである。
(※文責: 竹本耀)
4.2.1
ラプラス方程式
前述の u=∇φを 1.1.1 節の連続の式に代入すると
∇2 ϕ = 0
が得られる。この方程式はラプラス方程式と呼ばれる。このラプラス方程式はφの境界条件を与え
れば、解くことができるのでオイラーの方程式と連立して解かなくても流れ場を求めることができ
る。本プロジェクトではこのラプラス方程式を差分法で解き、得られた数値を可視化する。
(※文責: 竹本耀)
4.3
4.3.1
拡散方程式
拡散現象
これからカルマン渦を実際に考えていく上でのステップとしてまず拡散現象というものについて
取り上げていくことにする。まず拡散現象とは気体、液体、固体の媒質の中で原子、分子、イオン
の群が移動することでひとつの物質の他の物質による透過作用で気体を通じた気体の移動、液体を
通じた液体の移動、固体を通じた固体の移動などが起こる現象。具体的にエネルギーや物質が濃度
の高い部分から低い部分へと流れ、時間経過とともに均一な状態へと向かう現象のことをいう。こ
の拡散現象は私たちの身近にとても多く存在する現象の一つである。
Group Report of 2013 SISP
- 24 -
Group Number 2-A
A mathematical principle of complex system and its simulation
図 4.3 赤インクが拡がる様子
図 4.3 はコップの中の水に赤いインクを垂らした時に次第にインクが水全域に拡がり最後には均一
な色になる様を表している。このように流れの中に汚染物質が注入されたときこの汚染物質があま
り水の中で広がらない(拡散しない)と仮定すると、汚染物質は流れによって一方的に下流側に運
ばれる。したがって、ある時刻に汚染物質がどこにあるのかを知るためには汚染物質を粒子で代表
させて粒子の位置を追跡すればよい。すなわち、このような現象のシミュレーションには粒子を用
いた方法が適している。一方、実際には汚染物質に限らずすべての物質は濃さ(濃度)が一様に分
布しようとする傾向がある。(河村、[8,p.25])
このように拡散現象を現す自然現象の例として他に香水をたらした場合の部屋への匂いの拡が
り、入浴剤を溶かしたときのお湯への拡がりや酸素が濃度が高い肺胞から濃度の低い毛細血管へ、
二酸化炭素は濃度の高い毛細血管から濃度の低い肺胞へと自然に移動する肺胞のガス交換などが挙
げられる。このように、拡散現象とは私たちの身近に感じられる現象と言える。
一般に拡散は三次元空間で生じますが、まず一つの座標軸方向にのみ濃度勾配が存在してその方
向のみで拡散が生じる場合を考えてみる。静止流体中に置かれた厚さ ∆x の薄さスリットで一次元
の物質収支をとることを考える。もちろん、物質 A の濃度勾配は x 軸方向に存在します。x=x の
単位断面での物質 A の拡散流束は座標位置 x の添字をつけて JA|x と表せる。同様に x = x + ∆x
の単位断面での拡散流束は JA|x + ∆x となる。ここで微小時間 ∆t におけるスリット単位断面積中
での物質 A の収支を考えると、(単位断面積スリットに蓄積する量)=(x=x の面を通して単位断
面積スリットに入る量)-(x = x + ∆x の面を通して単位断面積スリットから出る量)
数式で表現すると次のようになる。
∆x(cA|t+∆t − cA|t = ∆t = JA|x − JA|x + ∆x)
両辺を δx∆t で除して ∆ をゼロに近づけて微分方程式を誘導し JA を濃度で表すと
∂cA
∂ 2 JA
= DA
∂t
∂x2
となる。この式は着目物質 A に関する一次元の非定常物質収支式である。(宝沢、[9,p.25-26])
(※文責: 臺坂勇太)
4.3.2
拡散方程式
4.3.1 で説明した拡散現象を式で表したものが拡散方程式という方程式です。拡散方程式は拡散
が生じている物質あるいは物理量の密度のゆらぎを記述する偏微分方程式で単位時間単位体積にお
ける拡散物質の蓄積量と濃度の変化を表した方程式のことを言い、
Group Report of 2013 SISP
∂2u
∂u
=ν 2
∂t
∂x
- 25 -
Group Number 2-A
A mathematical principle of complex system and its simulation
で表される。左辺は時間発展、右辺は拡散項であり、νは拡散係数と呼ばれる。この拡散係数の値
が高いと拡がりやすく、低いと拡がりにくい。
(※文責: 臺坂勇太)
4.3.3
拡散方程式の導出
拡散方程式を導出するために 4.1.3 のナビエストークス方程式について考える。4.1.3 のナビエ
ストークス方程式をテンソル表記で表したものを非圧縮で密度一様な流体に対して両辺を密度で割
ると、
∂χ
∂ 2 ui
∂ui
+ uj
+ν
∂t
∂xi
∂x2j
このように書くことができる。ここで外力 F は単位体積あたりの体積力であり、密度とポテンシャ
ルΩの空間勾配との積で与えられているとする。つまりこの式の右辺のχは
χ=
p
+Ω
ρ
としている。また、ν=μ/ρは動摩擦係数と呼ばれ流体の運動を考えるときはむしろ粘性係数μ
よりも重要になっている。ここで拡散方程式を考えるときに一次元で解くものとし外圧を無視して
考える、よってχ=0 より、
∂u
∂u
∂2u
+u
=ν 2
∂t
∂x
∂x
このようになり、この方程式をバーガース方程式という。またこの方程式から拡散方程式を考える
ために慣性力を無視して考えると
∂u
∂2u
=ν 2
∂t
∂x
が得られる。このようにして拡散方程式は求めることができる。また、この拡散現象を表す拡散方
程式の右辺は流速に対する時間発展を表す非定条項と左辺の流体の粘性を表す粘性項の二つから成
り立っていることがわかる。また、拡散方程式にはカルマン渦を表す際に用いられる連続の式がな
くナビエストークス方程式から移流行と圧力項、この二つの項を除外したものと同じで数値計算が
比較的簡単だと考え、カルマン渦のステップとし拡散現象を取り上げた。
(※文責: 臺坂勇太)
4.3.4
拡散方程式の差分解法
ラプラス方程式は時間を含まない方程式であったが、時間に関して1階の微分を含む方程式の取
り扱いを示す。物理法則には時間に対する変化率を含むことが多いため、このような方程式は非常
に重要である。
有限の長さの針金の温度分布を考える。熱平衡状態で温度を求めるのではなく、温度の時間変化
を求める非定常問題を扱う。針金の長さを1として針金の左端を0右端を1になるような座標系を
考えて針金の針金の両端で温度を0に保ったとする。さらに、時間が0において針金の中央で温度
が1であり、両端に向かって直線的に温度が下がるような温度分布を与えたとする。その後、時間
とともに針金内の温度分布がどのように変化していくのかについて考える。
Group Report of 2013 SISP
- 26 -
Group Number 2-A
A mathematical principle of complex system and its simulation
針金内の温度を u としたとき、温度は針金内の位置 x と時間 t によって変化すると考えられるた
め u は x と t の関数 u(x,t) になる。このとき上で述べた条件は
u(0, t) = u(1, t) = 0(t > 0)
u(x, 0) = 2x(0 <= x <= 0.5), u(x, 0) = 1 − 2x(0.5 <= x <= 1)
と書ける。はじめの条件は領域の境界における条件であるため境界条件。二つ目の条件は時間の初
期の条件なので初期条件とよばれる。針金内の温度の伝わり方は材質によって異なるがこの場合
は場所によらず一定とする。このときの針金内の温度分布は一次元の拡散方程式によって支配さ
れる。したがって偏微分方程式を上に述べた初期条件境界条件のもとでとくことになる。(河村、
[8,p.66-67])
(※文責: 臺坂勇太)
4.3.5
拡散方程式の初期値境界値問題
拡散方程式を数値計算する上で欠かせないものにディリクレ条件とノイマン条件という二つの境
界条件を考えなくてはならない。初期値を e
−(x−50)2
200
として拡散方程式をディリクレ条件、ノイマ
ン条件でそれぞれ解いた時に解がどのようになるかを見ていく。
図 4.3.4 ディリクレ条件
図 4.3.4 は拡散方程式のディリクレ条件を gnuplot を用いて数値計算した結果のグラフになってい
る。ディリクレ条件とは微分方程式における境界条件の一つの形状であり、境界条件上の点の値を
直に与えるものである。y に関する微分方程式で、ディリクレ境界上の点の集合をΩとしたとき
に、Ωに含まれる点 x があれば y(x)=f(x) という形で表現できる境界条件のことを言う。このグ
ラフではディリクレ境界条件を
u(0, t) = u(100, t) = 0
として解いている。
Group Report of 2013 SISP
- 27 -
Group Number 2-A
A mathematical principle of complex system and its simulation
図 4.3.5 ノイマン条件
図 4.3.5 は拡散方程式のノイマン条件を gnuplot を用いて数値計算した結果のグラフになってい
る。ノイマン条件とは常微分方程式あるいは偏微分方程式に対し、その解の微分が定義域の境界で
とる値を定める境界条件のことを言う。
(※文責: 臺坂勇太)
4.4
4.4.1
バーガース方程式
移流拡散現象
カルマン渦のシミュレーションをするにあたって、次のステップとして移流拡散現象というもの
について取り上げる。この現象は拡散現象を少し拡張したものであり、流体中の物質が時間の経過
に伴って拡がっていく現象を拡散現象と言い。流れが何らかの撹乱によって不安定になると、不規
則な速度や圧力の変動を伴う乱流になる場合があり、乱流は種々のスケールの渦からなりたってい
て、それらが乱れの原因となる。この乱れによって物質が拡散される現象を乱流拡散と呼ぶ。流れ
の場において、流速分布が一様分布でなくなることにより、上記の拡散以外の物質輸送が生じる。
このときの拡散を移流拡散現象という。例えば、煙突から出る煙を観察すると、煙は風に乗って流
されながら、幅が広がりぼやけて拡散していく。このようにある物理量が流されながら拡散してい
く現象を先ほど述べた移流拡散現象という。(河村、[8,p.25]) 本プロジェクトでは、この移流拡散
現象を一次元で表わしたバーガース方程式を使ってシミュレーションをした。 移流拡散現象をシ
ミュレーションするには粒子を用いた方法も可能であるが、考えている領域を格子で分けた方法で
取り扱うほうが便利であるため移流現象を格子で取り扱う方法を考えてみる。一次元で考えた時、
高速道路とそこを走る自動車というのを一つのモデルとして考えてみる。ここでは自動車の台数が
非常に多いとする。高速道路を小区間に分けるが、その区間内にも多くの自動車が走っている。区
間を区切る点を高速道路の決まった位置に取り、ひとつの区間内の自動車の台数に着目する。自動
車の速度はとりあえず一定であると仮定するが、区間ごとに自動車の台数は異なってもよいことに
する。このような状況の高速道路を上空から見たとすると道路には車の密度の高い部分や低い部分
があり、それらが車の速度と同じ速さで移動していくのが観察される。一方、高速道路上の固定地
点で観察すると、混んだ部分や空いた部分が次々に通過していく。このような自動車の混み方をあ
る区間内に存在する自動車の台数 n で表すことにする。n は自動車の速度で高速道路内を伝わって
いくため、移流現象とみなせる。(河村哲也、p25 − 26) そこで、固定点における n(固定点を含む
Group Report of 2013 SISP
- 28 -
Group Number 2-A
A mathematical principle of complex system and its simulation
1 つの区間に存在する自動車の台数) を求める方法を考える。前述の通り自動車はある固定点から
となりの固定点の間では一様に存在する。例えば図の区間 AB に 100 台、区間 BC に 60 台自動車
があるとする。このとき各区間の代表点として、それぞれの区間の中点 P、Q を取り、点 P、Q に
おける n を np および nq と記せば、np=100,nq=60 となる。
図 4.5 自動車の例
一様に自動車が存在するということは、例えば A から P の間の自動車の台数が 50 台存在するこ
とを意味する。さらに、それぞれの区間幅は同じで ∆x、自動車の速さはすべて c で右方向に進ん
でいると仮定する。以上の状況から ∆tnq はどうなるかを考える。各自動車は c∆t 進むため、BC
間からは割合として、c∆t/∆x の自動車が出ていくことになる。例えば、距離 c∆t が BC の幅の
3 割、すなわち c∆t = 0.3∆x ならば、3 割の自動車が出ていく。元の台数が nq であったため、出
ていく台数 nqc∆t/∆x はである。逆に BC 間に残っている自動車は nq(1 − c∆t/∆x) になる。一
方、BC 間には左から自動車が入ってくる。その台数は同様に考えて nqc∆t/∆x になる。したがっ
∆t
て ∆t 後の BC 間の台数 nq(t + ∆t) は nq(t + ∆t) = (1 − µ)nq(t) + µnp(t) ただし µ = c ∆x
で与
えられる(河村、[8,p.26-27])。この式を用いれば (道路が無限に長いとして) 初期の台数 nq(0) を
各格子点で与えることにより、時間ステップ ∆t 刻みに各格子点で台数を求めることが出来る。な
お、このモデルでは、各区間内では ∆t 後に一瞬にして車の間隔は一様になるとしているため、実
際の現象を正しく表現しているのではなく、あくまでも近似のモデルになっている。
(※文責: 森岡駿大)
4.4.2
バーガース方程式の導出
前述で述べたナビエ・ストークス方程式
∂u
p
+ (u・∇)u = F − ∇ + ν∇2 u
∂t
ρ
が得られる。この項の外力 F と圧力 p を除外すると
∂u
+ (u・∇)u = ν∇2 u
∂t
が得られる。この方程式を1次元にすると
∂u
∂u
∂2u
+u
=ν 2
∂t
∂x
∂x
が得られる。これをバーガース方程式をいう。このとき u は流速 νは動粘性係数、t は時間を表
わしている。
(※文責: 森岡駿大)
Group Report of 2013 SISP
- 29 -
Group Number 2-A
A mathematical principle of complex system and its simulation
4.4.3
バーガース方程式の特徴
バーガース方程式は一次元の非線形偏微分方程式であり、粘性流体の挙動を扱うのに便利な方程
式である。方程式の表現しようとしているところは、以下のような意味になっている。左辺の第一
項は流速 u の時間発展で非定常項である。左辺の第二項は移流項であり、右辺は拡散項である。
(※文責: 森岡駿大)
4.4.4
バーガース方程式の初期値境界値問題
1 次元バーガース方程式の時間項を前進差分、移流項を1次精度風上差分、拡散項を2次精度中
心差分で離散化すると、その差分方程式は
un+1
=ν
i
∆t n
u∆t n
(ui+1 − 2uni + uni−1 ) −
(u
− uni−1 )
2
∆x
∆x i+1
で表される。この方程式は陽の方程式と呼ばれ、この差分方程式を使い初期値を
u(x, 0) = sinπx
として解いていく。図 4.4 において x=0,x=2 における境界条件を与える必要がおこる。ところが
x-y 平面においては x=0 と x=2 は同じ点を意味するので、境界条件は
u(0, t) = u(2, t)
でとなる。なおこの条件は周期境界条件と呼ばれる(高見、[5,p.100])。
を用いて計算する。∆x = 0.05,∆t = 0.1, ν = 1 として計算する。
図 4.4 バーガース方程式の数値計算結果
図 4.4 は C 言語、gnuplot を用いて計算結果をグラフ化したもので、縦軸が u の値、横軸が x の値
を示している。波が突っ立っていきながら衰退していることがわかる。これは波を立たせる移流項
と拡散させる拡散項が影響している。本来はこの移流項と拡散項が釣り合い鋸歯状に漸近していく
はず(井上、[14,p.74])だが、この図では最終的に波が衰退しきっている。これは ∆x が大きいた
め、ちゃんと計算されてないことが考えられる。この図では緑の線(t=50)くらいまではちゃんと
計算されていて、それ以降はうまく計算されていない。
Group Report of 2013 SISP
- 30 -
Group Number 2-A
A mathematical principle of complex system and its simulation
gnuplot では計算結果を離散的にしか表示できなかったため動くシミュレーションは作れなかっ
た。だから、このプログラムを Processing 言語で置き換え、計算結果が連続して動くようにした。
(※文責: 森岡駿大)
4.5
数値解析の手法
流体運動を数値的に解析する手法として、4.1 節で示した偏微分方程式を数値的に解析する手法
が一般的である。差分法、有限要素法、境界要素法などがあり、これらは、偏微分方程式をなんら
かの方法で離散化し定式化する。
また、流れ場を適当に細かい領域に分割し、そこでの流体のかたまりを考え、これらに力学の法
則を適用して定式化を行う粒子法、同じく細かい領域内での渦度の循環を考え、これらに運動学的
な法則を適用して流れを解析する離散渦法も流体運動のシミュレーション特有の手法としてよく用
いられる(蔦原、[1, p.13])。本プロジェクトではまず差分法を用いてラプラス方程式を数値計算
し、シミュレーションする。従ってこの節では差分法の説明をする。
(※文責: 竹本耀)
4.5.1
差分法
以下の文章は(河村、[6, p.150-152])を参考にまとめている。
差分法とは一言でいえば微分方程式を差分方程式におきかえて解く方法を差す。微分方程式に対
応する差分方程式は微分方程式に含まれる微分商を差分商におきかえる(差分近似)ことにより機
械的に作ることができる。そこではじめに微分商を差分商におきかえる方法について述べよう。
1階導関数を差分近似するには、微分の定義
du
u(x + h) − u(x)
= lim
dx h→0
h
から、h を十分に小さいとして
du ∼ u(x + h) − u(x)
=
dx
h
(4.5)
とする。これは、点 P での曲線の接線の傾きを、直線 PQ の傾きで近似していることに対応し
ている。ただし Q は P から x 方向に h だけ離れた曲線上の点であるとする。
別の方法として、テイラー展開によれば h が小さいとして
u(x + h) = u(x) + hu′ (x) +
h3
h2 ′′
u (x) + u′′′ (x) +・・・
2!
3!
(4.6)
となる。これを u’ について解くことにより
u′ (x) =
u(x + h) − u(x)
+ O(h)
h
となる。ただし O(h)はこの場合
h(
Group Report of 2013 SISP
u′′
u′′′
u′′′′ 2
+
h+
h +・・・)
2!
3!
4!
- 31 -
Group Number 2-A
A mathematical principle of complex system and its simulation
であり、h が小さいとき、h 程度の大きさの量であることを示している。この式の O(h) の項を h
が小さいとして無視すれば (4.5) が導ける。ところで、同様にして
u(x − h) = u(x) − hu′ (x) +
h2 ′′
u (x) −・・・
2
(4.7)
を u について解けば
u(x) − u(x − h)
+ O(h)
h
u′ (x) =
となる。したがって1階導関数は
du ∼ u(x) − u(x − h)
=
dx
h
(4.8)
と近似することもできる。さらに(4.6)から(4.7)を減じて式を u’ について解くと
u′ =
u(x + h) − u(x − h)
+ O(h2 )
2h
となるため、次の近似式も得られる。
du ∼ u(x + h) − u(x − h)
=
dx
2h
(4.9)
(4.7)
、
(4.8)
、
(4.9)はそれぞれ前進差分、後退差分、中心差分と呼ばれる。誤差(近似のとき
無視した項)は中心差分が O(h2 ) となり、他は O(h) であるため、h が小さい時これらの中では
中心差分が最も精度が良いと考えられる。 なお、後退差分、中心差分の幾何学的な意味は、直線
RP,RQ の傾きになっている。2階導関数については、
(4.6)と(4.7)を加えて u’ を消去した式を
u” に
u′′ =
u(x + h) − 2u(x) + u(x − h)
+ O(h2 )
h2
となるため、次の近似式が得られる。
d2 u ∼ u(x + h) − 2u(x) + u(x − h)
=
dx2
h2
(4.10)
1階導関数、2階導関数の近似はこれだけではなく、実は無数につくることができる。しかしここ
でのべた近似は一般に最もよく用いられる。
(※文責: 中村卓登)
4.5.2
常微分方程式の境界値問題
以下の文章は(河村、[6, p.153-155])を参考にまとめている。
差分法の適用例として、次の常微分方程式の境界値問題考える。
d2 u du
+
=x
dx2
dx
(0 < x < 1)
(4.11)
u(0) = 0, u(1) = 0
この問題は厳密解
u=
Group Report of 2013 SISP
e−x − 1
1
+ x2 − x
2(e−1 − 1) 2
- 32 -
Group Number 2-A
A mathematical principle of complex system and its simulation
をもつ。差分法で解くため、まず解くべき領域を差分格子と呼ばれる微小領域に分割する。今の場
合、領域は1次元なので区間を N 等分する。格子は等間隔である必要はないが、式を簡単にする
ため等間隔にとる。格子の幅 h は 1/N である。分割点は格子点と呼ばれるが、これに x=0 が 0 番
目、x=1 が、N 番目となるように番号付けを行う。j 番目の格子点の座標を xj そこでの u の近似
値(差分方程式の解)を uj と書くことにすれば、
uj ∼u(xj )
xj = jh,
となる。ここで∼は近似を表わす。差分法では、この離散的な格子点 xj での u(xj ) の近似値 uj
を求めることになる。格子点以外での u の値は、格子点での値を用いて予測することになる。た
とえば、各 (xj , uj ) を折線で結んだ関数の値を用いればよい(1次元ラグランジュ補間法)次に
(4.11) を差分方程式に書きかえよう。これは機械的な作業で、たとえば1階導関数、2階導関数に
(4.8),(4.9) を用いれば
u(x + h) − 2u(x) + u(x − h) u(x + h) − u(x − h) ∼
+
=x
h2
2h
となる。いま j 番目の格子点に着目して
u(xj + h) = u(xj+1 )∼uj+1
u(xj − h) = u(xj−1 )∼uj−1
を用いて次の近似式をつくる。
uj+1 − uj−1
uj+1 − 2uj + uj−1
+
= xj
2
h
2h
(4.12)
これが、(4.11) に対応するひとつの差分方程式である。この式は境界の格子点を除く内部の各格子
点 j=1,・・・,N-1 で成り立つ。すなわち連立 (N-1) 元1次方程式になっている。未知数の個数は
u1 , · · · , uN −1 の N-1 個あるため、(4.12) は境界条件
u0 = 0,
uN = 0
を考慮に入れて解くことができる、具体的には (4.12) は xj = jh を用いて
(1 −
h
h
)uj−1 − 2uj + (1 + )uj+1 = jh3
2
2
となるから
−2u1 + (1 +
h
)u2 = h3
2
(1 −
h
h
)u1 − 2u2 + (1 + )u3 = 2h3
2
2
(1 −
h
h
)u2 − 2u3 + (1 + )u4 = 3h3
2
2
..
.
(1 −
Group Report of 2013 SISP
h
)uN −2 − 2uN −1 = (N − 1)h3
2
- 33 -
Group Number 2-A
A mathematical principle of complex system and its simulation
または行列の形で

−2
 1− h
2




 0
1 + h2
−2
..
.

1 + h2
..
.
1−
h
2
0
..
.
−2
1 − h2
1 + h2
−2

u1
u2
..
.





  uN −2
uN −1

1
2
..
.





3
=h 



 N −2
N −1







となる。N=4 として厳密解 (exact solution) と比べると
u1 = −181/4160 = −0.04351 (u1 )exact = −0.04378
u2 = −33/520 = −0.06346 (u2 )exact = −0.06377
u3 = −213/4160 = −0.05120
(u3 )exact = −0.051398
となる。なお h が小さいほど差分近似による誤差が少なくなり精度がよくなると考えられるが、そ
れだけ解くべき連立1次方程式の元数が多くなる。
以上をまとめると、微分方程式の境界問題を解くには
(1) 解くべき領域を差分格子に分割する
(2) 微分方程式を差分方程式に書きかえる
(3) 得られた連立代数方程式を解く
という手続きをとればよい。なお通常は連立1次方程式の元数が多いため、(3) はコンピュータを
用いて行う。またもとの微分方程式が線形でない場合にも差分方は適用できるが、(3) の連立代数
方程式は1次方程式にはならないため、数値的に解くとき工夫が必要となる。
(※文責: 中村卓登)
4.5.3
偏微分方程式の境界値問題
以下の文章は(河村、[6, p.157-160])を参考にまとめている。
ラプラス方程式に対する次の境界値問題を考える。
∆u = 0
(0 < x < 1, 0 < y < 1)
u(0, y) = −4, u(1, y) = 4
u(x, 0) = 0, u(x, 1) = 0
(4.13)
(0 <= y <= 1)
(0 < x < 1)
(4.14)
差分法による解放の手順は常微分方程式の場合とまったく同じである。以下に順にみていく。
(1) 解くべき領域を差分格子に分割する今の場合は領域が正方形であるため分割は簡単であり、た
とえば各辺を N 等分して N 2 個の正方形に分割する。各正方形の頂点である格子点に、常微分方
程式の場合と同様に番号付けを行うが、2 次元的に番号付けを行う必要がある。
(2) 偏微分方程式を差分方程式に書きかえる偏微分は変数の数が増えるだけで常微分とまったく
同様である。たとえば x に関する偏微分は y を一定に保った微分であるから (4.5),(4.10) は
∂u ∼ u(x + h, y) − u(x, y)
=
∂x
h
(4.15)
∂ 2 u ∼ u(x + h, y) − 2u(x, y) + u(x − h, y)
=
∂x2
h2
Group Report of 2013 SISP
- 34 -
(4.16)
Group Number 2-A
A mathematical principle of complex system and its simulation
となる。同じく y に関する偏微分は
∂u ∼ u(x, y + h) − u(x, y)
=
∂y
h
(4.17)
∂ 2 u ∼ u(x, y + h) − 2u(x, y) + u(x, y − h)
=
∂y 2
h2
(4.18)
である。なお差分近似はこのほかにもいろいろ考えられる。点 (xj , yk ) について考えると
u(xj + h, yk ) = u(xj+1 , yk )∼uj+1,k
などを考慮して
(
(
∂u
uj+1,k − uj,k
)x=xj ,y=yk ∼
=
∂x
h
uj+1,k − 2uj,k + uj−1,k
∂2u
)x=xj ,y=yk ∼
=
2
∂x
h2
などが成り立つ。以上のことを考慮すればラプラス方程式(4.13)はたとえば
uj+1,k − 2uj,k + uj−1,k
uj,k+1 − 2uj,k + uj,k−1
+
=0
2
h
h2
(4.19)
と近似できる。
(3)連立 1 次方程式を解く(4.17)は境界上の格子点を除く j = 1, · · · , N − 1, k = 1, · · · N − 1
の (N − 1)2 個の格子点で成り立つ関係式であり、 (N − 1)2 元の連立 1 次方程式である。未知数も
u1,1 , u1,2 , · · · , u1,N −1 , u2,1 , · · · , u2,N −1 , · · · , uN −1,1 , · · · , uN −1,N −1
の (N − 1)2 個あるため、境界条件
u0,1 , u0,2 ,・・・, u0,N −1
uN,1 , uN,2 ,・・・, uN,N −1
u1,0 , u2,0 ,・・・, uN −1,0
u1,N , u2,N ,・・・, uN −1,N
を与えて解くことができる。
解の定性的なふるまいを議論する場合などは式の形で解が表現されているのに越したことはない
が、実際の数値を求める場合は差分法では十分間に合う場合が多い。しかも解が無限級数の場合に
は、式の値を求めることはあまり容易ではない。
(※文責: 中村卓登)
4.5.4
初期値・境界値問題
以下の文章は(河村、[6, p.162-165])を参考にまとめている。
偏微分方程式の初期値・境界値問題の例として1次元熱伝導方程式に関する次の問題を差分法を
用いて解いてみよう。
∂u
∂2u
=
∂t
∂x2
(0 < x < 1, t > 0)
u(0, t) = u(1, t) = 0
Group Report of 2013 SISP
(t > 0)
- 35 -
(4.20)
(4.21)
Group Number 2-A
A mathematical principle of complex system and its simulation
u(x, 0) = f (x)
(0 ≦ x ≦ 1)
(4.22)
方程式を解くべき領域は半無限領域となる。この領域を x 方向に1辺の長さΔ x,t 方向にΔ t の
長方形格子に分割してみよう。ただし x 方向の格子数は J, すなわち J Δ x=1 であるとする。そし
て左下の格子点番号が (0,0), 右下の格子番号が (J,0) となるような2次元の格子番号づけを行う。
このとき格子番号 (j,n) の点の座標 (j Δ x,n Δ t) を (xj,tn), そこでの u の近似値を恒例 (t に関す
る添字を上つきとする) に従って
unj ∼u(xj , tn )
と記すことにする。この記法に従って(4.20)を、
(4.16),(4.17) を用いて差分方程式に変換すると
− unj
un+1
unj+1 − 2unj + unj−1
j
=
∆t
∆x2
または
un+1
= runj−1 + (1 − 2r)unj + runj+1
j
(r =
∆t
)
∆x2
(4.23)
となる。境界条件はすべての u に対して
un0 = unj = 0
(4.24)
であり、初期条件は
j = 0, 1・・・, J
に対して
u0j = f (xj )
(4.25)
となる。(4.20)の右辺はすべて t=n Δ t での u での u の値で表されているため、この式は n Δ t
の u の値から(n+1)Δ t での u の値が直接計算できる形になっている。点 P での u の値は点 A
での u の値を r 倍, 点 B での u の値を 1-2r 倍、点 C での u の値を r 倍して加え合わせることによ
り得られる。点 P での u の値は点 A での u の値を r 倍、点Bでの u の値を 1-2r 倍、点Cでの u
の値を r 倍して加え合わせることにより得られる。
一方、初期条件、境界条件から、領域を囲む 3 辺での u の値は既知である。したがって x 軸上
(t=0)の値から直線 t=Δ t での値が決まり、t=Δ t の値から t=2 Δ t での値が決まるというよ
うに順に値を決定することができる。
(4.20)の初期条件として
{
f (x) =
2x (0 ≦ x ≦ 0.5)
2(1 − x) (0.5 < x ≦ 1)
(4.1)
とし、Δ x=0.1, Δ t=0.002(したがって r=0.2) としたときの u(x,t) の計算結果を表 4.5 に示す。
なお解は x=0.5 に対し対称であるため、表 4.5 は x=0.6 まで示している。
表 4.5 で 1 行目は初期条件であり、1 列目は境界条件である。また、たとえば 2 行目 2 列目、6 列
目は r × 0+(1-2r) × 0.2+r × 0.4=0.2 × 0+0.6 × 0.2+0.2 × 0.4 = 0.2 r × 0.8+(1-2r) × 1.0+r
× 0.8=0.2 × 0.8+0.6 × 1+0.2 × 0.8=0.92 などの計算結果を記したものである。2 行目が計算で
きれば 3 行目が計算でき、以後順々に各行が計算できる。
(※文責: 中村卓登)
Group Report of 2013 SISP
- 36 -
Group Number 2-A
A mathematical principle of complex system and its simulation
表 4.5 △ x = 0.1、△ t = 0.002 のときの u(x,t)の計算結果
t\x
0
0.1
0.2
0.3
0.4
0.5
0.6
0.0
0
0.2
0.4
0.6
0.8
1.0
0.8
0.002
0
0.2
0.4
0.6
0.8
0.92
0.8
0.004
0
0.2
0.4
0.6
0.784
0.872
0.784
0.006
0
0.2
0.4
0.5968
0.7468
0.8368
0.7468
0.008
0
0.2
0.4
0.59104
0.7456
0.8080
0.7456
0.01
0
0.199872
0.397824
0.583616
0.727168
0.78304
0.727168
0.1
0
0.0939656
0.1787402
0.2460266
0.2892329
0.3041220
0.2892329
0.2
0
0.0349687
0.0665144
0.0915492
0.1076225
0.1131610
0.1076225
表 4.6 △ x = 0.1、△ t = 0.002 のときの u(x,t)の計算結果
4.6
t\x
0
0.1
0.2
0.3
0.4
0.5
0.6
0.0
0
0.2
0.4
0.6
0.8
1.0
0.8
0.01
0
0.2
0.4
0.6
0.8
0.6
0.8
0.02
0
0.2
0.4
0.6
0.4
1.0
0.4
0.03
0
0.2
0.4
0.2
1.2
0.2
1.2
0.04
0
0.2
0
1.4
-1.2
2.6
-1.2
0.05
0
-0.2
1.6
-2.6
5.2
-5
5.2
0.06
0
1.8
-4.4
9.4
-12.8
15.4
-12.8
0.07
0
-6.2
15.6
-26.6
37.6
-41
37.6
0.08
0
21.8
-48.4
79.8
-105.2
116.2
-105.2
0.09
0
-70.2
150.0
-233.4
301.2
-326.6
301.2
0.1
0
220.2
-454.6
684.6
-861.2
929.0
-861.2
ナビエ・ストークス方程式の数値解法
非圧縮性流体の運動を支配する方程式は、質量保存を表す連続の方程式(4.1.1 節参照)と運動
量の保存を表すナビエ・ストークス方程式である。
∇・u = 0
∂u
1
+ (u・∇)u = −∇p + ∇2 u
∂t
R
ここでナビエ・ストークス方程式は 4.1.5 節で述べた代表的な長さ、速度を用いて無次元化してあ
る。ナビエ・ストークス方程式は速度 u に関して時間発展の方程式であるが、圧力 p に関しては時
間発展の形にはなっていない。したがって、非圧縮流体の方程式を解くには(I)圧力そのものを
消去するか、(II)圧力を直接求める形にするという手続きをとる。まず(I)の方法について、ナ
ビエ・ストークス方程式の両辺の回転をとり、rot grad ≡ 0 に注意すると圧力が消去され、
Group Report of 2013 SISP
1
∂ω
= rot(u × ω) + ∇2 ω
∂t
R
- 37 -
Group Number 2-A
A mathematical principle of complex system and its simulation
が得られ、u に関する閉じた方程式をつくることができる。
次に圧力を直接求める(II)の方法について説明する。この方法ではナビエ・ストークス方程式
の両辺の発散をとる。そうすると圧力に対するポアソン方程式
∆p = −div((u・∇)u) −
∂D
1
+ ∆D(D ≡ divu)
∂t
R
が得られるので、もし速度が既知なら、この方程式によって圧力を求めることができる(高見、[5,
p.152-155])。
(※文責: 竹本耀)
4.7
格子ガスオートマトン法
流れの解析は粘性流体の支配方程式として知られているいわゆるナビエ・ストークス(Naier-
Stokes)方程式の数値解を境界条件を与えて求めることで行われる。この方程式の信頼性は高く、
計算精度を上げる様々な方法を採用することで詳細な評価を行うことが可能である。ナビエ・ス
トークス方程式の数値解を求める手段としては差分法が多く使われている。
しかし、ナビエ・ストークス方程式を利用して現象を理解しようと思っても、方程式の解を求め
ることが困難な問題も多く存在する。そのような場合の対策として粒子法と呼ばれる解析手法が流
体解析に導入された。
粒子法とは、流体を離散的な擬似粒子の集合体と見なす解析法で、分子動力学法、モンテカルロ
法、セルオートマトンなどがこれにあたる。流体解析においては主流ではなかった方法である。セ
ルオートマトンを流体解析に適用する場合、粒子は格子の方向に単位速度の移動に制限され、格子
法と呼ばれる。格子法には、格子ガスオートマトン(Lattice Gas Automata)と格子ボルツマン
(Lattice Boltzmann)がある。格子ガスオートマトンは歴史的には1968年にガタノフとスイ
フトにより音波の伝播に用いられたのが最初である。
歴史的には格子ガスオートマトンを含めて上記のように集約されるのが一般的であり、コン
ピュータを利用した流体解析を主たる目的とした数値流体力学という分野も、これらの手法をすべ
て含めて考えられている。しかし、格子ガスオートマトンに関しては少し別の角度から検討された
結果として提案されたことに注意すること。格子ガスオートマトンの提案者の1人として知られる
スラッチャーが、自分の研究成果をまとめた論文を1987年に投稿しており、その中でフォン・
ノイマンとウラムがどのように「セル空間(cellular space)」に興味を深めていったか述べた後、
流体解析を行う際に「セル空間」を利用することが以下に自然であるか記している。これから格子
ガスオートマトンが考え出されたとしている。
格子ガスオートマトンの特徴は、ナビエ・ストークス方程式を解くことにより細部を検討する
「トップダウン」的な考え方に対抗して、流体中の仮想的粒子の相互作用により流れが形成される
という「ボトムアップ」的モデルを提案したことにある。
しかし、長い歴史と実績あるトップダウン的手法との整合性をとることはこの手法を認知される
ために必要な手続きであり、そのためにボトムアップ的手法で得られた個々の仮想粒子の挙動につ
いて統計的処理を行っている。つまり、格子ガスオートマトンで時々刻々得られた結果の細部が流
れを表現しているのではなく、統計的な平均を持って流れを定義していることに注意が必要であ
る。
(森下、[13,p.56-59])
(※文責: 水元健人)
Group Report of 2013 SISP
- 38 -
Group Number 2-A
A mathematical principle of complex system and its simulation
4.7.1
基本原理
LGA 法では、平面を正多角形で敷き詰めた格子に分割し、単位質量の粒子は、格子点上に存在
し、移動は格子線上に限定される。まず、格子点上に粒子を配置し、各粒子には速度と境界につい
て初期条件が設定される。次に、各粒子は時間ステップごとに格子上を最接近の格子点まで(単位
速度にて)移動し、別の粒子を衝突し散乱し、速度方向が変わる。この衝突プロセス(移動・衝突・
散乱)はあらかじめ決めた衝突則に従い、すべての粒子について各格子点で一斉に行い、衝突を繰
り返しても変わらなくなる(平衡に達する)まで十分な回数(数千から数万回)だけ繰り返す。
粒子の速度と個数は統計的なばらつきがあるので、平衡となった値は時間と領域についての平均
操作を行う。この平均値を用いて密度分布、流速分布などのマクロな流体特性が得られる。衝突プ
ロセスには、粒子数(質量)と運動量の保存則が適用される。さらに、ある一つの格子点で、ある
時間に同じ速度方向をもつ粒子は1個しか存在できない排他律も課せられる。(加藤、光成、築山、
[12,p.44])
(※文責: 水元健人)
4.7.2
格子ガスオートマトン法の特徴
格子ガスオートマトン法の特徴を以下にまとめる。
利点
0,1 を状態変数とするブール演算の繰り返しであるため、実数演算において生じる打ち切り誤差
の蓄積はない。数値計算的にも安定である。
隣り合う格子点の粒子の衝突過程(移動・衝突・散乱)を計算するだけの、きわめて単純な演算
の繰り返しであるため、プログラムは短く単純である。
衝突過程を系全体の格子点で同時に計算することができるため、本質的に並列処理に適したアル
ゴリズムである。
壁などとの複雑な境界条件が簡単に定義され、静的および動的な境界が自己組織化により形成さ
れるため、非常に複雑な境界形状を取り扱うことや再現することが容易にできる。
欠点
格子点の状態は変数0,1のビット列で表現されるので、計算結果をすぐに見ることはできな
い。知りたい物理量を得るためには、疎視化という空間平均操作を施す必要がある。また、得られ
た物理量には統計的なばらつきがあり、それを減らすために、時間平均も必要となる。
通常の FHP などの単速度モデルでは、非物理成分項(対流項の前に付く無次元係数と圧力の流
速依存項)が現れる。
また、非圧縮性限界のもとで展開すると、ナビエ・ストークス方程式などのマクロな連続体モデ
ルに収束する。そこで、適応は非物理成分項が無視できる低流速(レイノルズ数)および非圧縮系
に限定される。
温度を動的パラメータとするには多速度モデルにする必要があるが、手法として確立されていな
い。そこで現状ではまだ定量的な熱伝達計算を行うことはできない。
以上の利点と欠点などをふまえて、格子ガスオートマトン法をシミュレーションに使う際の留意
するべき点を以下に示す。
リュウビル(J.Liouville)方程式の衝突過程に対し、衝突前の粒子間の相関を無視する(ボルツ
Group Report of 2013 SISP
- 39 -
Group Number 2-A
A mathematical principle of complex system and its simulation
マン近似)希薄気体力学に基づいている。したがって、液体などの密度の高い流体や相互作用の大
きい系に適用する場合は、原点に立ち戻った適用性の吟味を忘れてはならない。
従来手法で十分対応可能な現象に LGA 法を適用することは、単に従来法とは異なる手法を用
いてシミュレーションするというだけで、あまり意味がない。むしろ、複雑なシミュレーショ
ンに適用すべきである。そのことより LGA 法の特徴が十分に発揮される。(加藤、光成、築山、
[12,p69-70)
(※文責: 水元健人)
4.8
格子気体法
格子気体法は、格子気体セルオートマトン法とも呼ばれている。また、格子気体法は、数値流
体力学の手法として発達してきた方法である。まずは、格子気体法の計算法について述べる。
(※文責: 水元健人)
4.8.1
格子気体法の計算法の特徴
まず、計算で取り扱う変数が0と1の Bool 変数であるというのが大きな特徴である。このこ
とは、コンピュータのビット演算を用いれば、数ビットで1格子の状態を記述できる。つまり、実
数を扱う他の数値計算法に比べ、この点に関しては記憶容量を小さくとれるし計算の高速化も図れ
る。また、きわめて並列計算に向いており、実際、ハードウェアで計算を行う LGA チップも制作
された。その上、計算に伴う丸め誤差および打ち切り誤差も、計算の過程では生じないなど大きな
利点がある。
しかし、当然予想されるように、計算値は時間、空間的にノイズがきわめて大きく、このままで
は巨視的にみて、どのような流れになっているかわからない。そこで祖視化(平均化)を行う必要
があり、そのために、非常に多くの格子点をとることになって、全体として多くの記憶容量を必要
とする。したがって、計算時間も結局、それほど短縮にはならないし、平均化を行うので、結果の
誤差結果の誤差評価は難しくなる。
これら、これまでの流体の数値計算にない特色をもっており、一見きわめて初歩的なモデルのよ
うに思われるが、このモデルにより計算される連続体としての流体の持つ保存則や、等方性といっ
た性質は、粒子の衝突則や格子の形状に依存している。これらを正確に決めないと流体の計算には
ならないのであって、これらの関係を明らかにする充分な理論的基礎と、応用に関して広い一般性
を持った計算法である。
(蔦原、[5, p.25])
(※文責: 水元健人)
4.8.2
HPP モデル
以下に初期の格子気体モデルの HPP モデルについて述べる。格子オートマトンを流体の数値
計算に応用するにあたり、最初に考えられたモデルは Hardy、Pomeau、Pazzis らによって提唱さ
れた HPP モデルであろう。このモデルでは、2 次元の空間を正方形の格子(lattice)で細かく区
切り、その格子上を粒子が動き回るが、この運動を追跡することにより流体の運動をシミュレート
Group Report of 2013 SISP
- 40 -
Group Number 2-A
A mathematical principle of complex system and its simulation
しようと考える。
この粒子は、流体を構成する分子ではなく、この数値計算手法に都合のよいように考えられた、
まったくの仮想的なモデル粒子である。ここで、導入された粒子はすべて同じ質量を持つ質点とし
て扱われる。格子幅も単位長さとし、時間も離散的に整数であるものとする。そして、格子気体モ
デルに特有な排他律を適応する。この排他律は、一つの格子点で粒子は、左右上下の 4 方向の速度
を持ち得るが、ある方向の速度粒子は 2 個以上あってはならないとするものである。これは量子力
学での、電子が同じ軌道上に 2 個以上存在できないという Pauri の排他律に似ているが、ここでの
排他律は、BOOL 演算を用いるために、便宜上導入したもので物理的な意味はまったくないこと
に注意。
具体的な粒子の運動は次のようなものである。まず、粒子は気体の分子同様、衝突、移動を繰り
返す。その際、衝突は格子点(node)のみで生ずるとする。また、衝突は、二つの粒子の正面衝突
(head-on collision)のみを考える(二つの粒子の衝突は2体衝突といわれる)。衝突後の粒子はそ
れぞれ、それまで粒子のなかった方向へ跳ね返る。当然、正面衝突でそのまま来た方向へ跳ね返っ
たのでは、なにもなかったのと同じことになる。衝突と跳ね返りは瞬間的に起こり、つぎに粒子の
移動によりつぎの時間のステップに隣の格子点に移るのである。つまり、考えている時間ステップ
には粒子はつねに格子上にあり、隣の格子点に移った粒子はそこで衝突をするならば衝突をし、し
ないならば、そのままつぎの時間ステップでそのつぎの格子点に移動する。
この粒子の衝突において、質量と運動量が保存されるのは、明らかである。また、各格子の速度
の2乗に1/2を掛けたものを運動エネルギーとすると、運動エネルギーも保存することがわかる。
しかし、運動エネルギーの保存則は、他の二つの保存則と独立ではなく、なんら意味を持たない。
また、このモデルの大きな欠陥は、Navier-Stokes 方程式を導く際に必要となる4階テンソルが等
方的とはならないことである。したがって、このモデルでは、じつは流体の正しい運動を再現する
ことは無理なのである。(蔦原、[5, p.26-27])
(※文責: 水元健人)
4.8.3
FHP モデル
これを解決するモデルとして Frisch、Haslacher、Pomeau らが提唱したのが、正6角形格子を
用いて空間を離散化するモデルで、彼らの名前のイニシャルから FHP モデルといわれ、このモデ
ルはその後、2次元格子気体の標準的モデルとなった。
FHP モデルとその3次元版である FCHC モデルについては、Frisch らの論文で詳しく解説さ
れている。これらのモデルについて少し詳しく説明する。
まず、2次元空間は、単位長さ1の辺を持つ正6角形格子で離散化する。この格子線に沿って、
単位質量の粒子が最接近の格子点へ単位速さで移動する。時間は整数値をとり、各時刻ですべてん
男粒子は格子点上に存在するとする。つまり、格子線の途中に粒子が存在するようなことはないの
である。これらの性質は HPP モデルと同じである。
格子点の状態は、各格子線 i = 1,2,・・・,6 に沿って運動する粒子が存在するか否かにより、1
あるいは 0 の Bool 変数
ni
Group Report of 2013 SISP
- 41 -
Group Number 2-A
A mathematical principle of complex system and its simulation
の集合 n により表される。ここで重要なのは、一つの格子点上には同時刻に同方向の速度を持つ粒
子は存在しない、という排他率を採用することである。そうすると、時刻
t*
における格子点
r*
での状態は
n (t* 、r* ) = {ni (t* 、r* ) : i = 1, 2,・・・, 6}
と表される。
また、FHP モデルの中には、速度ゼロの静止粒子も考えるものもあり、この場合この粒子を方
向 0 の粒子として上記の式を
n (t* 、r* ) = {ni (t* 、r* ) : i = 0, 1, 2,・・・, 6}
と表す。i は 0 から 6 までの値で、格子点の状態は 7 個の Bool 変数の集合で表される。衝突則に
は決定論的 (deterministic) ルールと非決定論的 (nondeterministic) ルールとがある。先の HPP
モデルは実質的に衝突則は決定的である。
FHP モデルは2体正面衝突 (head-on collision) を考えると、衝突をする二つの粒子は、一般
的に (i、i +3) 方向の粒子であり、質量と運動量を保存するような衝突を考えるならば、衝突後
には (i+1、i+4) の2方向、あるいは (i-1、i-4) の2方向に跳ね返るという2通りの可能性があ
る。このとき、どちらか一方に決めてやると決定論的になるが、こうすると速度場の鏡映対称
(mirror-symmetry) が破られる。これをカイラル (chiral) という。つまり、(1,4) の粒子が、例
えばつねに (2,5) に跳ね返るならば、格子点を通り1あるいは4方向に垂直な線に関して跳ね返
りが鏡映対称とはならない。これは連続体として等方的な流体に対するモデルとして不適である。
そこで、こういった決定論的モデルではなく、(i + 1、i +4) あるいは (i-1、i-4) の方向への跳
ね返りが確率1/2 ずつ生じるようにする方法が非決定論的ルールであり、このルールを適応する
ことにより、平均的に鏡映対称を保つことができる。確率1/2での振り分けは、乱数を用いると
か、時間あるいは格子点の番号を用いる (pseudo-random choice) などの方法が考えられる。
しかしながら、上述した2体正面衝突だけであると、正反対方向 (i,i +3) の速度を持つ粒子の
差が保存されてしまうことになる。すなわち、正反対方向の粒子数は2体衝突では、同時に減るか
あるいは同時に増えることになる。こうなると質量 (一つ)、運動量 (二つ) 以外にもうひとつの量
が保存されることになる。これは擬似保存則 (spurious conservasion law) と呼ばれ、計算には非
常な悪影響を及ぼす。この擬似保存則を消すために、3体衝突
(i , i +2, i +4) → (i + 1, i + 3, i + 5)
を導入する。この3体衝突により、上記の擬似保存則が解消することは明らかであろう。
FHP モデルにはいくつかのバージョンがある。擬似保存則を含まない最も簡単なモデルは
FHP-I モデルと呼ばれ、正面衝突と3体衝突だけのものである。FHP-II モデルは、FHP-I モデル
に 0 速度の静止粒子 (rest particle) を加えたモデルである。静止粒子を含んだ2体衝突は擬似保存
則を取り除き、3体衝突よりも低密度 (ここでの3体衝突が起こりにくい場合) において効果的で
ある。しかし、この衝突則は、粒子の運動エネルギーを保存しないということに注意すべきである。
FHP-I モデルは粒子 (n=1) と
空洞 (hole, ni = 0)
Group Report of 2013 SISP
- 42 -
Group Number 2-A
A mathematical principle of complex system and its simulation
の交換 (duality) に対して不変ではないが、2重正面衝突を入れることによって不変となる。また、
これに傍観者 (spectator) 粒子、すなわち、衝突になにも影響されない粒子を伴う衝突を加える方
法もあり、これにより、すべての衝突則が用いられたことになる。
最後の FHP-III モデルは、これらすべての衝突のモードを導入したモデルとなっている。(蔦原、
[1, p27-30])
(※文責: 水元健人)
4.9
格子ボルツマン法
格子ボルツマン法は、流体運動の解析に、偏微分方程式を離散化するのではなく、粒子の運動
を考える点では格子気体法と同じであり、それゆえ、格子気体法から発展した数値計算法であると
考えられている。
格子気体法は、レイノルズ数が高い場合に衝突則が複雑になる上、連続体としての流体の粘性が
きわめて大きいため、高レイノルズ数流れに対する計算に不向きである。また、離散化された粒子
の状態から、連続体である流体の状態(流速や密度)を知るために行う疎視化作業では、統計的平
均をとるために多数の格子点を用意しなければならない。したがって、高精度の計算を行う際に
は、膨大なメモリや時間が必要になるが、コンピュータの能力上、有限な個数の格子点しか利用で
きないため、ノイズの完全な除去は不可能であり、計算精度の向上には困難を伴う。
格子ボルツマン法では、格子点上で粒子の数のアンサンブル平均をとると考える。そうすると、
各速度の方向に対し、実数の粒子の分布関数が得られる。この平均をとることにより、計算値の揺
らぎがなくなり、きわめて滑らかな状態変化が得られる。ただ、Bool 変数を用いた演算を行うこ
とはできず、丸め誤差は、他の数値計算と同様まぬがれることはできない。しかし、McNamara
らのモデルでは、非常に大きなレイノルズ数流れに対しても適用が可能であり、また格子 BGK モ
デルでは、わずらわしい衝突則にとらわれることなく計算を進めていくことができるなど、多くの
利点がある。
(蔦原、[5, p.56])
(※文責: 水元健人)
4.9.1
基礎理論
格子ボルツマン法(LBM)の基本的な概念を述べる。格子ボルツマン法では、空間の離散化
に数種類の格子が用いられ、粒子の分布や衝突の演算子およびシミュレートすべき流体の種類に
よっていくつかの基本的なモデルに分類される。また、直接的に流体の支配方程式を離散化して解
くほかの数値計算法と異なり、格子ボルツマン法における流体運動は、微視的な粒子の運動により
決定される。このため、格子ボルツマン法によって計算された流体運動が、格子気体法での場合と
同様、支配方程式の解であることを理論的に証明する作業が必要である。この作業は粒子分布を決
定したり、他の複雑な流れなどに適用するための粒子モデルを考察する場合にも重要になる。(蔦
原、[5, p.56-57])
(※文責: 水元健人)
Group Report of 2013 SISP
- 43 -
Group Number 2-A
A mathematical principle of complex system and its simulation
4.9.2
計算手順
格子ボルツマン法における基本的な計算手順について以下に述べる。
まず、模擬される流体の物性から衝突演算で使用するパラメーターを決定する。例えば、格子
BGK モデルであれば
単一時間緩和係数ϕ
であり、Multi-particle collision モデルでは
衝突断面積係数σprod およびϕ3
である。流れ場の初期条件に応じて各格子点の粒子分布を与えるが、通常は平衡状態を仮定し、
分布関数 fa(0)
を用いて流体の密度、流速および内部エネルギーから粒子分布を求める。その後、上で述べた粒子
の衝突過程、並進過程での計算を行い時刻が
τ
進む。境界条件の決定においては、物体の表面や流出入境界など境界上の粒子分布をその場所での
巨視的な流れの状態にしたがって分布関数を求める。巨視的な流れの変数は、分布関数から
ρ=
∑
fa
a
ρu =
∑
fa ca
a
∑1
1 2
ρu + ρe =
fa c2a
2
2
a
を用いて密度や流速などを計算する。
巨視的な流れ場の時間発展は、基本的に衝突・並進・境界での分布関数の決定という三つの過
程を順次繰り返すことにより求められるが、熱流体モデルでは、若干異なり、並進過程と境界条件
を1タイムステップ間に交互に繰り返す作業が加わる。
格子ボルツマン法では、格子気体法と異なり、粒子数密度を実数で与えることにより時間平均や
空間平均 (疎視化) が不要であるため、計算手順は格子気体法より簡潔で計算時間も短縮される。
よって、格子ボルツマン法は格子気体法に比べてより実用的な流れの数値計算法であるといえる
(蔦原、[1,p.79-80])。
(※文責: 水元健人)
Group Report of 2013 SISP
- 44 -
Group Number 2-A
A mathematical principle of complex system and its simulation
第5章
5.1
成果物
拡散現象のシミュレーションプログラム
以下の文章は ([7, p.106-117]) を参考に項目 5.1.1∼5.1.3 にまとめる。
拡散現象の数値計算を可視化させるプログラムを作成する。 u は濃度の分布を表し場所にとっ
て値が異なる。したがって、座標 x ,y の関数と考える。一方、時間とともに変化する値でもある
ため、時間 t の関数でもあると考え、u(x,y,t) と表し次のような拡散方程式をモデルとする。
∂u
= Cu ∆u ∂x
(5.1)
ここで、Cu は拡散係数、△はラプラス作用素とよばれ、これらの項はそれぞれ の拡散を意味する。
拡散方程式は、これらの項の和が左辺の非定常項 で表される濃度変化の速さに等しいことを示し
ている。u(x,y,t) は変数 x,y,t の連続な関数だが、そのままでは計算が難しいため図 1 のように空
間を等間隔 で格子状に分割し、分割されたそれぞれのセルの中心を格子点と呼び、その格子点で
を考える。さらに時間についても dt という時間間隔で離散的に扱う。したがって、u(x,y,t) と書
く代わりに格子点 (i,j) における時刻 t の値を
uti,j
と書くことにする。
図 5.1 格子状セル
方程式の左辺は濃度 u の時間微分である。この微分は図2に示される直線の傾きで近似できるた
め dt が十分小さい値とすると
ut+dt
− uti,j
∂u ∼ u(x, y, t + dt) − u(x, y, t)
i,j
=
=
∂t
dt
dt
(5.2)
と近似できる。△ u は
∆u =
Group Report of 2013 SISP
∂2u ∂2u
+ 2
∂x2
∂y
- 45 -
Group Number 2-A
A mathematical principle of complex system and its simulation
を意味する。したがって、二階微分の近似が必要となる。格子点 (i,j) を中心に x 軸に沿った断面
で見たのが図 5.2 である。
図 5.2 時間的変化(左)と空間的変化(右)
図 5.2 で a 点における
∂u
∂t
を ui−1 と ui を結ぶ直線の傾きで近似する。
(
∂u ∼ ui,j − ui−1,j
)a =
∂x
h
(
∂u ∼ ui,j − ui−1,j
)b =
∂x
h
b 点でも同様に
i 点における二階微分
∂2u
∂x2
は同じように考えて
(
∂u
∂ 2 u ∼ ( ∂u
∂x )b − ( ∂x )a
)
=
i
∂x2
h
で近似できるため、(i,j) における x での二階微分は
∂ 2 u ∼ ui+1,j − 2ui,j + ui−1,j
=
∂x2
h2
となる。図 5.2 と同様に y 軸に沿った断面を考えると
∂ 2 u ∼ ui,j+1 − 2ui,j + ui,j−1
=
∂x2
h2
となる。したがって△ u は
∆u ∼
=
ui+1,j + ui,j+1 + ui−1,j + ui,j−1 − 4ui,j
h2
(5.3)
となる。式(5.1)に式(5.2)を代入すると
ut+dt
− uti,j
i,j
= Cu ∆u
dt
となる。両辺に dt をかけて uti,j をいこうすると
t+dt
ui,j
= uti,j + Cu ∆udt
(5.4)
と書くことができる。これらの式 (5.3),(5.4) を用いてプログラムを作成する。
(※文責: 森谷一洋)
Group Report of 2013 SISP
- 46 -
Group Number 2-A
A mathematical principle of complex system and its simulation
5.1.1
プログラムの手順
ここから実際に processing を用いて作ったプログラムコードの解説をする。まずはプログラム
に必要な変数を決める。空間の大きさをセルを n × n 個とし、n には初期値 100 を設定する。ま
た、セル一つのサイズは m × m ピクセルとし、m には初期値 4 を設定する。 int n = 100, m = 4;
濃度 はプログラムコードで変数 u とする。また、指定されたセルの周囲に (n+2) × (n+2) 個の
仮想セルを設定する。
float [][] u = new float[n + 2][n + 2];
時間間隔 dt、セルの間隔 h、拡散項にあたる Cu もそれぞれ float 型の変数 dt、h、cu とし、とり
あえず次のような値を設定する。 h2 の値も変数 h2 に保存する。
float dt = 0.5, h = 0.1, h2 = h+h, cu = 0.002;
プログラムコードを六つの関数で構成する。clear() 関数は、u の値をすべて 1 に設定する。また、
すべてが1となるため ∆u = 0 となる。すると濃度変化の速度は
∂u
∂t
= 0 となるため、状態に変化
が生じなくなる。clear() 関数はこの特別な状態に設定するための関数である。なお、初期設定の
後、それを画面に反映させるために再描画 redraw() を設ける。
u[i][j] = 1;
display() 関数は、セルの状態う u を色に換算して正方形を描くための関数である。u の値を 255
倍して色の成分の強さを計算し、大きさ m × m の正方形を描く。
fill(u[i][j] * 255,0,0)
boundry() 関数は、領域の端部でも微分を近似させるための境界処理をする関数である。ここの処
理では、ノイマン境界条件を用いる。ノイマン境界条件は、境界付近での関数の微分が 0 となる。
よってプログラムコードは次のように書ける。
u[i][0] = u[i][1];
u[0][j] = u[1][j];
u[i][101] = u[i][100];
u[101][j] = u[100][j];
update() 関数は、今現在の u の値をもとにして次の時刻の値 u1 を計算する関数である。このため
に式 (5.2) を用いて
u1[i][j] = u[i][j] + cu * dt;
とする。その準備として ∆u の値を Du としている。
Group Report of 2013 SISP
- 47 -
Group Number 2-A
A mathematical principle of complex system and its simulation
float Du = (u[i+1][j] + u[i][j+1] + u[i-1][j] + u[i][j-1] - 4 * u[i][j]) / h2;
すべてのセルに対して u1 が計算できたら、その値を u に代入する。この手順を繰り返すことで u
の変化を表現する。
u[i][j] = u1[i][j];
mouseClicked() 関数は、マウスがクリックされたときにだけ動作する関数である。画面上のマウ
スイチを示す (mouseX,mouseY) をセルのサイズ m で割り 1 を加えると、どのセルをクリックし
たのかがわかる。そのセルを中心として半径 8 以内の領域に対して、u の値を rondme() 関数を用
いてほぼ 0.6 に設定している。
u[i][j] = 0.6 + random(-0.06, 0.06);
keyPresssed() 関数は、キーボードのキーが押されたときにだけ動作する関数である。c が押さ
れたら clear() 関数で初期化が行われるように、n が押されると nooLoop() 関数が呼び出されて
draw() の実行を停止するように、y が押されると loop() 関数が呼び出されて draw() の実行が再
開するようにしている。
setup() 関数では、画面のサイズを mn × mn に設定し、clear() 関数で初期化する。また、
draw() 関数では、display(),boundary(),update() の順に呼び出し、次の時刻へと計算を進める。
(※文責: 森谷一洋)
5.1.2
プログラムの結果
プログラムの手順にある初期値を設定し挙動を観察した。図 5.3 は、このプログラムを prosecc-
ing で動かした際の開始10秒後、1 分後、3分後、10 分後の様子である。
図 5.3 プログラムの実行結果
上が2次元で解いており、拡散物質が拡がる様子を表している。開始直後から時間が経過していく
につれ赤色の範囲が拡大しつつ薄くなっていくのがわかる。ノイマン境界条件を用いたことで、10
Group Report of 2013 SISP
- 48 -
Group Number 2-A
A mathematical principle of complex system and its simulation
分後では赤色が空間全体に均一の濃度で広がっている。
下は1次元で解いており、上にある拡散物質の濃度の分布となっている。上の拡散物質の中心に
黒い線があり、そこだけの濃度をグラフ化している。グラフで見ても中心が最も濃度が高いことが
わかる。また、この1次元と2次元のグラフは連動している。
(※文責: 森谷一洋)
5.1.3
濃度の計算
次に、拡散物質が二つあるときの実行結果を見てみる。
図 5.4 拡散物質が二つあるときの実行結果(中心が近い場合)
中心が近い場合は図 5.4 のように重なっている部分の濃度が足され、2つある1次元のグラフが繋
がっていることが観察できる。次に中心が遠い場合を見てみる。
図 5.5 拡散物質が二つあるときの実行結果(中心が遠い場合)
Group Report of 2013 SISP
- 49 -
Group Number 2-A
A mathematical principle of complex system and its simulation
中心が遠いと、濃度がちゃんと計算されず、2 つある1次元のグラフは互いに独立している。これ
は前節で述べたように下の1次元のグラフは上の黒い線で見ているため、濃度が遠く黒い線がか
ぶっていない場合は計算されない。
(※文責: 森岡駿大)
5.1.4
プログラムの評価
拡散方程式を数値計算し、その様子を可視化させることで実際の値の動きを観察することができ
た。そして、プログラムを実際に作成することで拡散方程式の中にある拡散項についてより深く学
ぶことができた。しかし、今回数値計算の際に用いたのが陽解差分法なので、拡散係数 cu を 0.5 以
上に設定すると u の値が発散してしまうことが発覚した。このため、より拡散の速度を上げるため
には陰解差分法を用いる必要があり、陰解差分法を用いた数値計算についても学ぶ必要がある。 (※文責: 森谷一洋)
5.2
5.2.1
バーガース方程式の数値シミュレーション
プログラムの手順
1 次元バーガース方程式の時間項を前進差分、移流項を1次精度風上差分、拡散項を2次精度中
心差分で離散化すると、その差分方程式は
un+1
=ν
i
u∆t n
∆t n
− uni−1 )
(ui+1 − 2uni + uni−1 ) −
(u
2
∆x
∆x i+1
で表される。このような数値解法は陽解法と呼ばれる。この方程式に初期値、境界条件を与えるこ
とで解くことができる。今回は△ t を 0.01、△ x を 0.05、νを1として計算した。初期値は2パ
ターン与え挙動を見た。境界条件には周期境界条件を用い、計算領域を 0 ≦ x ≦ 1 とした。数値
計算をする手順は以下の通りである。
(1) 初期値を決める
(2) 差分方程式を用いて計算する
(3) 境界条件を与える
(4) (2),(3) の繰りかえし
初期値を変化させることで挙動の違いを見ることができた。またνの値によって、発散してしま
うことがあった。
(※文責: 竹本耀)
5.2.2
プログラムの結果
今回は違う初期値を2つ与えて挙動を観察した。まず初期値を
u0i = sinπx
とした時の挙動を見てみる(図 5.4)。
Group Report of 2013 SISP
- 50 -
Group Number 2-A
A mathematical principle of complex system and its simulation
図 5.6 バーガース方程式の数値解(パターン 1)。
実行した直後では sin π x の形をしているが、徐々に波が突っ立っていき、最終的には鋸歯状に
なって止まっている。波をつったたせていくのが移流項の影響で、衰退していくのが拡散項の影響
である。この移流項と拡散項がつりあうことによって鋸歯状になって止まる。
次に初期値を
u0i = e−
(x−50)2
200
とした時の挙動を見てみる図(5.5)。今度は 1 次元拡散方程式にも同じ初期値を与えて同時に見て
みる。
図 5.7 バーガース方程式の数値計算(パターン2)
赤が拡散方程式、青がバーガース方程式を計算したものとなっている。拡散方程式は濃度が高い
ところから低いところへ拡がる様子が見られるが、バーガース方程式のほうは sin π x の時と同様
に波が突っ立っていきながら拡がっている。このようにシミュレーションをすることで、項の意味
がわかる。
Group Report of 2013 SISP
- 51 -
Group Number 2-A
A mathematical principle of complex system and its simulation
(※文責: 竹本耀)
5.2.3
プログラムの評価
数値計算をし、解がどのように動いていくのかは見れたが、これらのプログラムは陽解法で解い
ているため、刻み幅やνの値によって発散してしまうことがある。これを改善するには、陰解法で
解く必要がある。しかし、陰解法のほうがプログラムが複雑となってしまうため、これは学んだだ
けで実装できなかった。今後は陰解法をプログラムで書くための知識を習得する必要がある。
反省点として1次元で解いたのでどのような現象なのかわかりにくかったことが挙げられる。こ
のバーガース方程式を2次元でシミュレーションして、最終目的であるカルマン渦のシミュレー
ションに橋渡ししたかった。
(※文責: 竹本耀)
Group Report of 2013 SISP
- 52 -
Group Number 2-A
A mathematical principle of complex system and its simulation
第6章
6.1
6.1.1
結果
プロジェクトの結果
前期
流体の流れの場を視覚化する事ができるコンピュータプログラムの開発が最終目標となるのだ
が、前期では、可視化の前に、流体力学を理解するために学習セミナーを行い、勉強してきた。流
体力学のテキストを使い、流体力学の基礎的な部分を扱った。流体力学の中核的な存在となるナビ
エ・ストークス方程式や境界層、レイノルズ数といった流体力学の基礎となるものを学んだ。また
更なる理解を求めるために、層流と乱流の実験を行った。その結果、層流、乱流を可視化すること
に成功し、流体力学の基礎の理解の助けとなった。
(※文責: 中村卓登)
6.1.2
後期
後期では、当初のプロジェクトの目標であるカルマン渦のシミュレーションに向けて学習を進め
てきた。まずは、そのステップとして拡散現象を取り上げた。実際に前期習った内容を元に、拡散
現象を表わす拡散方程式を数値計算し、シミュレーションを行った。次のステップとして移流拡散
現象を取り上げた。この現象については 1 次元で表わしたバーガース方程式を数値計算し、シミュ
レーションした。これらのシミュレーションにより、方程式の離散化、時間発展、偏微分方程式の
数値計算の方法について理解を深めることが出来た。最終的にカルマン渦のシミュレーションは時
間が足りず達成することが出来なかった。
(※文責: 森岡駿大)
6.2
6.2.1
成果の評価
前期
流体力学を知らない人に流体力学を視覚的に実感してもらうために、視覚化するコンピュータプ
ログラムを開発するのがこのプロジェクトの成果となるが、その前に、流体力学の基礎を理解しな
ければならない。流体力学の基礎を理解するために、テキストを使い、学習セミナーを週に1回開
いて勉強してきた。学習セミナーの進行度は、理解度を優先したため、ゆっくりなペースになって
しまったが、流体力学の基礎をじっくりと考察し、解析し、時には実験を行い理解していけた。視
覚的に表すプログラム開発のために数値計算の方法についても学習したかったのだが、流体力学の
基礎の学習に時間を割いてしまった。しかし、シミュレーションの基礎となるモデルを開発するた
めの基礎知識を学習することはできた。
(※文責: 中村卓登)
Group Report of 2013 SISP
- 53 -
Group Number 2-A
A mathematical principle of complex system and its simulation
6.2.2
後期
複雑系を理解する手がかりとして流体の流れの場を取り上げて、複雑系科学・力学の観点から分
析しその結果を視覚化することがこのプロジェクトの目的であり、今回は流体の流れの場としてカ
ルマン渦を取り上げた。最終的には、カルマン渦をシミュレーションするステップとして行った、
時間がかかってしまったことや、ナビエストークス方程式の数値計算が出来なかったことにより、
時間が足りず達成することが出来なかった。当初の目標であるカルマン渦のシミュレーションには
失敗したが、そのステップとして扱った拡散方程式とバーガース方程式のシミュレーションには成
功した。
(※文責: 森岡駿大)
Group Report of 2013 SISP
- 54 -
Group Number 2-A
A mathematical principle of complex system and its simulation
第7章
7.1
アンケート結果
中間発表
平均発表技術評価 6.8 平均発表内容評価 6.6
図 7.1 中間発表のアンケート結果
(※文責: 中村卓登)
7.1.1
コメント
発表技術について
• もう少し言葉と言葉に間がほしかった
• 声が少し小さかった
• 目標にもう少し時間を使うべき
• 数式をじっくりと説明することに意味はあるのか
• 質問への対応は良かった
(※文責: 中村卓登)
Group Report of 2013 SISP
- 55 -
Group Number 2-A
A mathematical principle of complex system and its simulation
発表内容について
• 難しい内容なので理解しづらいという意見が目立った
• 一方で、分かりやすい説明で理解することができたという意見もあった
• シミュレーションする事で何の役に立つのか
• 動画がついていて分かりやすい
• 可視化がイメージしづらい
(※文責: 中村卓登)
7.1.2
コメントへの応答
• 声の大きさや間の置きかたなどの部分に関しては、本当に反省すべき点であるし、最終発表
ではこういった事がないように努めなければいけない。
• 目標を達成するために前期に行った事を詳しく発表したのだが、そこに重きを置き過ぎてし
まった。
• 難しい数式を分かりやすく説明することで、聴講者に流体力学を知ってもらいたかった。
• やはり、聴講者全員に流体力学を分かりやすく説明するのは難しいことだと思い、更に自分
達の説明不足を痛感した。
• シミュレーションする事を最終目標としてしまい、その先を考えていなかった。これについ
てはメンバー同士で議論し合う必要がある。
• 実際に行った実験が発表の役に立ったようで良かった。
• 可視化をきちんとイメージしてもらうために動画を作ったのだが、これもやはり自分達の説
明不足が招いてしまったのだと思う。誰にでも理解してもらえるような説明をしなければい
けなかった。
聴講者から頂いたコメントを参考に反省すべき点は反省し、後期の最終発表、それとこれからの活
動に活かしていきたい。
(※文責: 中村卓登)
7.2
最終発表
平均発表技術評価 7.46 点
平均発表内容評価 6.56 点
Group Report of 2013 SISP
- 56 -
Group Number 2-A
A mathematical principle of complex system and its simulation
図 7.2 最終発表の得点分布
(※文責: 臺坂勇太)
7.2.1
コメント
発表技術について
• 具体例の図解やシミュレーションがありイメージしやすかった。
• 説明する部分を棒で指しながらスライドの文字の色を変えるのが見やすかった。
• 練習をきちんと行っているのがわかるプレゼンテーションだった。
• 声が大きく伝わりやすかった。
(※文責: 臺坂勇太)
発表内容について
• 頑張ったことは伝わるがプロジェクトのオリジナリティーがなく残念でした。
• このプロジェクトをすることで何につながるのかがわからない。
• 専門用語が多く頭に入りにくい。
• 発表を聞いて流体力学に対してイメージを持つことができた。
(※文責: 臺坂勇太)
7.2.2
コメントへの応答
• 声の大きさについては高い意識をもってプレゼンテーションしたため中間発表に比べて声が
大きくて聞きやすかったというコメントが多く見られた。
• 専門用語が多く文系の人にはイメージしにくい印象を与えてしまった。これについては専門
用語をより噛み砕いて説明したり、自然現象の具体例を用いて説明したが聴講者に満足して
もらうことができなかった。
Group Report of 2013 SISP
- 57 -
Group Number 2-A
A mathematical principle of complex system and its simulation
• カルマン渦を数値計算をしシミュレーションするという目標に対して最終発表までには達成
することができなかったが聴講者からは目標が達成できていないのは残念、計画をしっかり
とすべきだというコメントもあり、プロジェクト初期段階からの計画に沿ったものでなかっ
たことを反省している。
• 流れの場の実験や拡散方程式のシミュレーション、バーガース方程式のシミュレーションを
プレゼンテーションに組み入れることによってわかりやすかったという意見が多く可視化す
ることでイメージを持ってもらうことができてよかった。
• 中間発表のプレゼンテーションの内容を最終発表に十分に組み組むことができなくて聴講者
にとってつながりがわかりにくい印象を与えてしまったのではないかと反省している。
(※文責: 臺坂勇太)
7.3
中間発表と最終発表の比較
• 声の大きさについて最終発表では改善されていた。
• 中間発表に比べて最終発表ではスライドやプレゼンテーションの改善により見やすかったな
どイメージしやすいなどのいい評価が多かった。
• 専門的な内容で難しい印象を与えてしまったことを改善できなかった。よりわかりやすい説
明と図解やシミュレーションの必要性をさらに実感することができた。
(※文責: 臺坂勇太)
Group Report of 2013 SISP
- 58 -
Group Number 2-A
A mathematical principle of complex system and its simulation
第8章
8.1
8.1.1
今後の課題と展望
今後の課題
前期
このプロジェクトの目的は複雑系を理解する手がかりとして流体の流れの場を取り上げて複雑系
科学・力学の観点から分析しその結果を視覚化することによって複雑系のことをあまりよく知らな
い人々に知ってもらうことである。複雑系をわかりやすく説明するために今回は流体のカルマン渦
列についてシミュレーションしようと考えている。カルマン渦列のシミュレーションは、実際のカ
ルマン渦列の実験を行い、その観測結果を数値計算した後、今のところ processing の言語を使っ
て iPad2 で表示できるツールを開発したいと考えている。そのために基礎となる流体力学の学習
が必要となる。また、中間発表の質疑応答とアンケート結果では複雑系とシミュレーションの関係
性がわかりにくいという結果が多く、改善のために複雑系とシミュレーションツールの関係性と意
義についてメンバーと深く話し合うことが必要となる。
(※文責: 臺坂勇太)
8.1.2
後期
このプロジェクトの目的は複雑系を理解する手がかりとして流体の流れの場を取り上げて、複雑
系科学・力学の観点から分析しその結果を視覚化することである。今回は流体のカルマン渦につい
てシミュレーションしようと考えていたが、達成することが出来なかった。その理由としては、カ
ルマン渦をシミュレーションするステップとして行った、拡散方程式とバーガース方程式のシミュ
レーションに時間がかかってしまったことや、ナビエストークス方程式の数値計算が出来なかった
ことが挙げられる。特に運動方程式とその連続の式からなる連立方程式が現段階での知識では解く
事が出来なかった。
(※文責: 森岡駿大)
8.2
8.2.1
展望
前期
このプロジェクトの目的であるカルマン渦列をシミュレーションするためには、流体力学の基礎
知識の理解をより深め、更に具体的な数値を入れて数値計算の方法を理解する必要がある。具体的
には流体の流れの様子を記述した基本方程式のナビエ・ストークス方程式を解く必要があり、とて
も複雑な方程式であるため解くことが困難であると考えている。そのためのステップとしてまずナ
ビエ・ストークス方程式よりも比較的に簡単な移流拡散現象をあらわすバーガース方程式と拡散現
象をあらわす拡散方程式について数値計算を行いシミュレーションをしようと考えている。また拡
散方程式については数値計算後 processing 言語を用いて拡散現象をアニメーションにする。バー
Group Report of 2013 SISP
- 59 -
Group Number 2-A
A mathematical principle of complex system and its simulation
ガース方程式については数値計算後 gnuplot を用いて拡散現象と移流拡散現象の違いをグラフを用
いながら検証していくつもりだ。さらに、カルマン渦列についても連続の式とナビエ・ストークス
方程式を数値計算後どのような形でシミュレーションできるのかについても検討する必要がある。
(※文責: 臺坂勇太)
8.2.2
後期
カルマン渦列をシミュレーションするためには、流体力学の基礎知識の理解をより深め、基礎方
程式であるナビエストークス方程式を理解する必要がある。そのために基礎となる流体力学のよ
り深い理解のための学習が必要であり、また数値計算の方法についても見直す必要がある。今回シ
ミュレーションできた拡散方程式やバーガース方程式はその方程式のみで数値計算することができ
た。しかし、カルマン渦の場合はナビエ・ストークス方程式と連続の式を連立して解かなければな
らない。そこでまずは偏微分方程式を連立して解く知識を身につける必要がある。
(※文責: 森岡駿大)
Group Report of 2013 SISP
- 60 -
Group Number 2-A
A mathematical principle of complex system and its simulation
第9章
9.1
9.1.1
相互評価と反省
相互評価
水元健人
リーダーとしてメンバーの意見をよくまとめてくれた。(森岡駿大)
リーダーとしてメンバーの中心となり、よくまとめてくれた。(臺坂勇太)
リーダーとして連絡するところは連絡してくれた。
(竹本耀)
リーダーとしての責任を果たしてくれた。(中村卓登)
リーダーとしてメンバー全員をうまくまとめていた。(森谷一洋)
(※文責: 水元健人)
9.1.2
中村卓登
発表の際のポスターや、スライド作成などに積極的だった。学習面では、方程式の基礎などを理解
しており、何度も教えてくれた。
(森谷一洋) 発表スライドをわかりやすくしていた。サブリーダーとして頼りになった。(水元健人)
スライド作成や式の理解、様々な点で頼りになるサブリーダーだった。(森岡駿大)
スライドの作成がとても上手でとても頼りになった。(臺坂勇太)
スライドを作ってくれた。発表も大きな声で頑張ってくれた。(竹本耀)
(※文責: 中村卓登)
9.1.3
竹本耀
率先して作業を行ってくれて非常に助かった(中村卓登)
シミュレーションツールの作成、報告書のまとめなど積極的に行っていた。(森谷一洋)
数値計算や、プログラムの作成を率先して行ってくれてとても頼りになった。(森岡駿大)
プログラムの作成や数値計算の時には、とても頼りになった。(水元健人)
プログラムの作成、数値計算の時に、とても頼りになった。(臺坂勇太)
(※文責: 竹本耀)
Group Report of 2013 SISP
- 61 -
Group Number 2-A
A mathematical principle of complex system and its simulation
9.1.4
森谷一洋
拡散方程式のシミュレーションプログラム作成の時はとても頼りになった。(水元健人)
独自のアイディアとプレゼンテーション能力でメンバーをひっぱってくれた。(森岡駿大)
拡散シミュレーションなど、プログラムに特化していて頼りになった。(臺坂勇太)
スライドを作ってくれた。発表も大きな声で頑張ってくれた。(竹本耀)
プログラム作成の時にみんなを引っ張ってくれて頼もしかった。(中村卓登)
(※文責: 森谷一洋)
9.1.5
臺坂勇太
発表を大きな声で頑張ってくれた。
(竹本耀)
発表準備、そして発表で多いに貢献してくれた。(中村卓登)
発表の原稿や仕方などをいろいろ工夫してくれて助かった。(森谷一洋)
ポスター作成のときは積極的に作業をしていた。(水元健人)
発表の際、笑顔ですばらしいプレゼンテーションをしていた(森岡駿大)
(※文責: 臺坂勇太)
9.1.6
森岡駿大
積極的に参加していた。(臺坂勇太)
発表を大きな声で頑張ってくれた。
(竹本耀)
プロジェクト内のムードメーカー的存在でいてくれたので良かった。(中村卓登)
細かい作業などを率先して行ってくれて助かった。(森谷一洋)
ポスター作成のときは積極的に作業していた。(水元健人)
(※文責: 森岡駿大)
9.2
9.2.1
各個人の反省
水元健人
前期についての反省点は、流体力学を学ぶために必要な予備知識がまったくなかったことだと思
う。まず、目標である流体の現象を理解する前に、ベクトル解析や偏微分方程式について勉強する
のに時間がかかってしまった。そのため、流体については予定よりもスムーズに進行ができなかっ
た。次に、流体の流れについての実験を行ったときに、予想とは違った結果になってしまった。最
終的には流体の流れの渦を動画にるすことはでき、発表のときにもわかりやすいという声があった
が、もう少し工夫したほうが良かった。また、プロジェクトリーダーであったので、毎週の週報の
Group Report of 2013 SISP
- 62 -
Group Number 2-A
A mathematical principle of complex system and its simulation
提出の連絡をメンバー全員にした。
次に後期についての反省点は、前期に比べてあまり力になれなかったと思う。後期からは、実際
に拡散方程式、バーガース方程式を数値計算してシミュレーションすることが目標になった。数値
計算の際には、差分法の陽解法を用いて数値計算した。この陽解法は、大学の図書館の教科書を利
用して勉強した。陽解法の手順は理解できたが、プログラムを作成する際には、力になれなかった
ので今後の改善点にしたい。また、プロジェクトリーダーであったので、毎週の週報の提出の連絡
をメンバー全員にした。
(※文責: 水元健人)
9.2.2
中村卓登
ナビエストークス方程式等の流体力学の基本となるものの学習には成功したが、それらの細部に
ついての理解が不十分であったのではないかと思う。このことの理由としては、予想以上に難しい
内容であったため、確実な理解を求めるあまり、輪読の進行度が下がってしまったからである。ま
た、中間発表の準備をメンバーで分担して作業を行ったのだが、人によって負担が異なる結果と
なってしまったことは反省すべき点であると思う。中間報告書に関しても同様の事が言える。ただ
前期に達成すべきであった、流体力学の基礎部分の理解は概ね成功したと思うし、実験を行うこと
もできた。また夏休み中には数値計算の方法をメンバーで集まり話し合うことで、身に付けること
に成功した。
後期に入ってから理論班とシステム班に分かれ、自分は理論班に所属し方程式の理解に努め、そ
こは成功したので良かった。ただ、もう少しシステム面も理解し少しでもシステム班の手助けをす
べきではなかったのかと反省している。また、最終的な目標としていたカルマン渦の理解に理論
班、システム班ともに苦戦してしまい、結局達成できず、これを最終発表の成果として発表するこ
とができなかったことが反省点としてあげられる。ただ、カルマン渦のステップとして考えていた
拡散方程式、バーガース方程式のシミュレーションには成功し、カルマン渦を何故シミュレーショ
ンすることができなかったか、この理由についても自分たちで理解することができた。
総括として、カルマン渦のシミュレーションをすることができなかったのは残念だが、それでも
このプロジェクトで自分なりに多くの事を学ぶことができたと思うし、それを最終発表で聴講者に
伝えることもできたと思うので満足している。
(※文責: 中村卓登)
9.2.3
竹本耀
プロジェクト活動1年間を通して、物理や偏微分の知識のなさや自分の調べることの甘さを感じ
た。前期に輪読を行い、メンバーと担当の先生の前で発表をしたときに、担当の先生の質問に答え
られず、進めないことがあった。配られたテキストを理解するため、ライブラリーの図書を利用し
たり、インターネットで調べたが、先生の質問に答えられなかった。また、流体力学についての知
識はなかったので、項の名前がわかってもその項にどういう意味があるのか最初はわからなかっ
た。輪読がスムーズに進まなかった結果、シミュレーションにかける時間が少なくなってしまい、
最終目標であるカルマン渦のシミュレーションはできなかった。夏休みを使い、テキストの数値計
算の章をなんとか終わらせ、後期にはプログラムに取り組むことができた。また、後期が始まった
Group Report of 2013 SISP
- 63 -
Group Number 2-A
A mathematical principle of complex system and its simulation
ら数値計算の学んだことを発表したのだが、流体力学よりも内容が易しく質問にもなんとか答える
ことができ、スムーズに終わらせることができてよかった。
後期には最初に C 言語と gnuplot で拡散方程式を解くことに取り組んだが、ここでも境界条件
について先生に質問され応えられず理解の甘さを実感した。その後、ディリクレ条件、ノイマン条
件、周期境界条件について学び、プログラムでも実装することができた。現象をシミュレーション
するため2次元拡散方程式を解き、拡散現象として赤インクの拡がりを実装できたが、バーガース
方程式は最初、何の現象を表しているのかすらわからなかった。バーガース方程式は1次元でしか
シミュレーションできなかったので、何の現象かわかりにくかった。
拡散現象をシミュレーションすることはできた。しかし、自分の主観だがこれは複雑な現象とは
思えない。テーマが複雑系の数理とシミュレーションということで複雑な現象としてカルマン渦を
実装し、複雑系を理解する手がかりとしたかった。
(※文責: 竹本耀)
9.2.4
森谷一洋
最終報告のアンケートで、自分の担当した発表部分に対して「内容が難しいので分かりにくい」
というようなコメントが目立った。自分達が扱っているテーマが難しいということは分かっていた
ので、流体力学についての知識がない視聴者にも理解してもらえるよう、専門用語は使わない、数
式ばかりの説明にしない、取り扱う流体の現象を身近なものに例える、などの工夫はしたが、更に
工夫が必要だと思った。
(※文責: 森谷一洋)
9.2.5
臺坂勇太
このプロジェクトの目的であるカルマン渦のシミュレーションを達成することができなかった原
因として個人的にいくつか挙げられる。なかでも最も反省すべき点は目標を決定する計画段階に問
題があったと考えている。なぜなら、プロジェクト初期段階で流体力学の知識があるメンバーが誰
一人いないにもかかわらず、目標を設定してしまったため流体力学の基礎知識の習得から始めなく
てはならなかった。さらに、流体力学という分野はとても難しく、一つ一つ理解するのに時間がか
かってしまった。また、カルマン渦をあらわすナビエストークス方程式は世界 7 大難題方程式の一
つであるなど理解することで精一杯で実際にカルマン渦をあらわすナビエストークス方程式を数値
計算やシミュレーションまでは程遠いものになってしまった。だが、計画を立て直しカルマン渦を
シミュレーションするためのステップとしてナビエストークス方程式から項を減らした比較的簡単
な移流拡散現象をあらわすバーガース方程式、この方程式をさらに簡略化した拡散現象をあらわす
拡散方程式について数値計算を行いシミュレーションすることに成功した。しかし、ここで数値計
算およびプログラミングで予想以上に苦戦してしまったため時間が足らず当初の目的を達成するこ
とができなかった。だが数値計算する過程で偏微分方程式を解く差分法など初期値・境界条件につ
いて考えることでノイマン条件、ディリクレ条件についての知識も習得することができたことも成
果として挙げられる。
実際にカルマン渦をシミュレーションを行うためには流体力学についてより深い知識を習得する
ために学習するべきだと感じた。また、連続の式とナビエストークス方程式についてある条件のも
Group Report of 2013 SISP
- 64 -
Group Number 2-A
A mathematical principle of complex system and its simulation
とで連立して解くということをしていく必要がある。そのため、バーガース方程式と拡散方程式を
数値計算した際に学んだ数値計算するための知識をより学習する必要がある。
(※文責: 臺坂勇太)
9.2.6
森岡駿大
このプロジェクトの当初の目標はカルマン渦のシミュレーションであったがそれを達成すること
はできなかった。これからその反省点として個人的にいくつか挙げていく。私個人が特に反省すべ
きだったと考える点は、プロジェクトの目標設定をする時である。その理由として、目標設定をす
るプロジェクトの初期段階でメンバーにカルマン渦をシミュレーションする上で必要な流体力学の
知識がなかったために、まずは流体力学の基礎知識の習得をしなければいけなかったからである。
私個人としても、一つ一つの流体力学の基礎知識の習得に時間がかかってしまった。特にカルマン
渦を表わすのに必要なナビエ・ストークス方程式の理解が困難をきわめた。そうした結果もあり、
前期の活動では、予定よりも基礎知識の習得に時間を要してしまったために、ナビエ・ストークス
方程式の数値計算やカルマン渦のシミュレーションにはたどり着くことは出来なかった。そこで夏
季休業期間に入る前に計画を立て直し、カルマン渦をシミュレーションするためのステップとして
ナビエストークス方程式から項を減らした移流拡散現象をあらわすバーガース方程式と、この方程
式からさらに項を減らした、拡散現象をあらわす拡散方程式について数値計算を行いシミュレー
ションすることにした。後期の活動として、前述したシミュレーションにあたっていたが、このカ
ルマン渦をシミュレーションするのにステップとして扱った、バーガース方程式と拡散方程式のシ
ミュレーションに予想以上に苦戦してしまい、最終的にカルマン渦のシミュレーションまでいくこ
とは出来なかった。この当初の目標であったカルマン渦のシミュレーションを行うために流体力
学のより深い知識の習得や偏微分方程式や数値計算の更なる理解が必要だと感じた。また、方程式
の数値計算を実際に行ったものをシミュレーションするためのプログラミング知識も必要だと感
じた。
(※文責: 森岡駿大)
Group Report of 2013 SISP
- 65 -
Group Number 2-A
A mathematical principle of complex system and its simulation
参考文献
つたはらみちひさ
かたおかたけし
たかだなおき
[1] 蔦原道久, 片岡 武 , 高田尚樹. 格子気体法・格子ボルツマン法−新しい数値流体力学の手法. コ
ロナ社, 1999.
ふじもと ぶ す け
[2] 藤本武助. 流体力学入門. 株式会社 養賢堂, 1995.
き
だ しげお
[3] 木田重雄. 流体方程式の解き方入門 速い流れと襲い流れの解析. 共立出版, 1994.
ば
ば けいし
たかすぎゆたか
[4] 馬場敬之, 高杉 豊 . スバラシク実力がつくと評判のベクトル解析キャンパスゼミ. マセマ出版
社, 2007.
たかみひでお
かわむら て つ や
[5] 高見穎郎, 河村哲也. 偏微分方程式の差分解法. 東京大学出版,1994
かわむら て つ や
[6] 河村哲也. キーポイント変微分方程式. 岩波書店,1997
みついかずお
[7] 三井和男 デザイン言語 Processing 入門. 森北出版,2011
かわむら て つ や
[8] 河村哲也. 数値シミュレーション入門. サイエンス社,2006
ほうざわみつのり
[9] 宝沢光紀. 拡散と移動現象. 株式会社 培風館,1996
き
だ しげお
[10] 木田重雄. なっとくする流体力学. 講談社,2003
いしわたりょうぞう
[11] 石綿 良 三 . 流体力学入門. 森北出版,2000
か と う やすよし
つきやまひろし
みつなりともたか
[12] 加藤恭義, 筑山 洋 , 光成友孝. セルオートマトン法-複雑系の自己組織化と超並列処理. 森北出
版株式会社,1998
もりしたしん
[13] 森下信. セルオートマトン 複雑系の具象化. 養賢堂,2003
いのうえよしのり き
や まさる
[14] 井上良紀木谷 勝 流れと波の非線形現象. 株式会社朝倉書店,1993
Group Report of 2013 SISP
- 66 -
Group Number 2-A