数値流体解析の基礎 Visual C++とgnuplotによる圧縮性・非圧縮性流体解析

数値流体解析の基礎 - Visual C++とgnuplotによる圧縮性・非圧縮性流体解析 -

圧縮性・非圧縮性流体について,理論から数値計算に至るまでその経緯をわかりやすく解説。

ジャンル
発行年月日
2020/01/23
判型
A5
ページ数
256ページ
ISBN
978-4-339-04664-9
数値流体解析の基礎 Visual C++とgnuplotによる圧縮性・非圧縮性流体解析
在庫あり

定価

3,960(本体3,600円+税)

カートに入れる

購入案内

  • 内容紹介
  • まえがき
  • 目次
  • レビュー
  • 著者紹介
  • 広告掲載情報

 本書は,流体数値シミュレーション技術の基盤となる圧縮性および非圧縮性流れの代表的な数値解法を中心にまとめたものである。内容構成において学習しやすさを重視しながら,関連知識の体系化にも工夫している。
 2 章では,連続体力学に基づく流体力学の支配方程式を導出し,それぞれの特徴を紹介する。3 章は空間および時間における離散化方法を紹介する。空間離散化について,「空間再構築」という概念の下で有限差分法と有限体積法を統一的に取り扱う。さらに,離散方程式の性質を説明するとともに,簡単な例を挙げてそれらの性質を分析する手法を解説する。4 章では,流体力学においてきわめて重要である移流を表す双曲型方程式の数値解法を論ずる。代表的な数値解法としてGodunov 型有限体積法を詳しく解説する。保存性,数値散逸,数値振動,TVD 再構築,数値流束(リーマンソルバ)などについて計算結果を検証しながら解説し,高解像度TVD 法の構築手順をサンプルコードとともに説明する。5 章では,4 章で構築した数値解法を圧縮性気体の支配方程式であるオイラー方程式に適用する。とりわけ,オイラー方程式の特徴,リーマンソルバの構築に重点を置いて解説する。6 章では非圧縮性粘性流れの数値解法を解説する。音速に比べ流速が低い流れの数値解析に広く用いられるMAC 法,SMAC 法およびSIMPLE 法を詳しく紹介する。強制対流,自然対流,管内流れなどのベンチマーク問題において,変数の配置,境界条件の設定,計算手順を分かりやすく解説する。さらに,圧縮性流体を対象に開発された密度ベースの解法を低速流れの計算に適用する場合と,非圧縮性流れを対象とした圧力ベースの解法を高速流れに適用する場合の,二つの処理方法を述べる。
 学習内容の一部として,C言語のサンプルプログラムも提供し,読者自らCFD コード開発の実践まで展開できるような構成となっている。付属プログラムを活用し演習を行えば,内容の理解を深めることにつながる。
 本書は読者として,理工系の大学院生あるいは学部の3,4 年生を想定しており,学部の基礎数学や流体力学の講義を履修していれば,大きな困難もなく本書の内容を理解できると考える。各解法の導出において基本的な考え方に重点を置いて説明するとともに,計算式の詳細および具体的な数値計算プログラムを示し,現役の学生だけでなく,一般の読者にも独学しやすいように工夫している。理工系の学生のみならず,高度なCFD 業務に携わる研究者・技術者の読者の方々に対しても,CFD 数値解法の研究・応用のさらなる理解のために,本書が少しでもお役に立てればと考えている次第である。


数値流体力学(computational fluid dynamics,CFD)とは,流れ現象をコンピュータシミュレーションによって模擬することであり,現在,流れ現象の研究道具として広く使われている。工学分野においては,CAE(computer aidedengineering)の要素技術として,流体絡みの製品開発・設計に欠かせないシミュレーションツールである。今日,商用ソフトや無料で利用できるフリーソフトを簡単に入手できるようになったため,誰でもCFDを利用できる便利な時代になっている。その一方で,CFD数値モデルの仕組み,とりわけその基礎となる数値解法を理解せず,単なるユーザとしてCFDソフトを利用する場合も多く見られ,関連分野のさらなる発展および応用に支障が生じる現状の問題もよく指摘される。CFDの基礎数値解法に関する専門知識は,シミュレーション結果を正しく理解するために非常に重要であるだけでなく,既存解法の問題点の改良や新たな解法の開発にも欠かせないものである。CFDの研究分野において,これまで大量の数値解法が開発されている。それらを網羅する英文の専門書はあるが,一般読者にとっては難解なものとなっている。本書は,数値流体力学の入門的教科書・参考書として,圧縮性および非圧縮性流れの代表的な基礎解法を中心にわかりやすく解説する。内容構成において学習しやすさを重視しながら,関連知識の体系化にも工夫している。流体運動の支配方程式(2章),離散法の基礎知識(3章)を紹介した後,流動現象を表す最も基礎的な移流方程式およびバーガース方程式の数値解法を4章で解説する。特に,圧縮性流体に伴う衝撃波など,不連続解を解く場合の数値解法の問題点,および解決策を重点的に取り上げる。5章では,4章で述べた基礎解法をオイラー方程式に拡張し,衝撃波を含む圧縮性流れの数値解法について解説する。非圧縮性粘性流れの数値解法は6章で解説する。現在広く使われている数値解法を説明するとともに,管内流れ,物体まわりの流れ,熱対流などの実例を取り上げる。さらに,圧縮性・非圧縮性流れを統一的に取り扱える数値計算手法も紹介する。学部3,4年生や大学院生など,理工系大学や専門学校の標準レベルの数学および流体力学の基礎を習得した読者であれば,本書の内容を問題なく理解できる。教科書として利用する場合,1学期分の授業計画が立てやすい分量となっている。数値解法を理解するために,各手法の基本的な考え方,またそれぞれの相違点などを説明するとともに,C言語のサンプルプログラムを示し,最終的には読者自らCFDコード開発の実践まで展開できるような内容構成となっている。付属プログラムを活用し演習を行えば,内容の理解を深めることで,場合によっては実際に取り組んでいる具体的研究課題にでもすぐに役立てられるかもしれない。また,独学によくある内容の難解さによる挫折感も,極力避けることができるだろう。

本書は,著者らが東京工業大学の大学院で講義した内容の一部で構成されている。本書の完成に際し,著者らの研究室所属の学生諸君からたいへん有益なフィードバックをいただいており,また多くの関係者にお世話になった。ここで謝意を表したい。
2019年11月 肖 鋒,長﨑孝夫

1.はじめに
1.1 数値流体力学とは
1.2 本書のねらい

2.流れの基礎方程式
2.1 基礎方程式の導出
 2.1.1 連続の式
 2.1.2 運動方程式
 2.1.3 エネルギー方程式
2.2 保存型の基礎方程式
2.3 状態方程式と構成方程式
2.4 流体力学の代表的な方程式
 2.4.1 ナビエ・ストークス方程式
 2.4.2 オイラー方程式
 2.4.3 バーガース方程式および移流方程式
 2.4.4 非圧縮性ナビエ・ストークス方程式
 2.4.5 ブシネスク近似と熱対流の方程式

3.数値解法の基礎
3.1 空間離散法
 3.1.1 有限差分法の空間再構築法
 3.1.2 有限体積法の空間再構築法
3.2 多次元の空間離散化
3.3 時間積分法
 3.3.1 オイラー前進法
 3.3.2 オイラー後退法
 3.3.3 2段前進法
 3.3.4 2次ルンゲ・クッタ法
 3.3.5 3次TVDルンゲ・クッタ法
 3.3.6 4次ルンゲ・クッタ法
 3.3.7 フラクショナルステップ時間積分法
3.4 離散方程式の性質
 3.4.1 整合性
 3.4.2 安定性
 3.4.3 収束性
 3.4.4 散逸誤差と分散誤差

4.スカラ保存則の数値解法
4.1 代表的な保存則と特徴
4.2 弱解の概念
4.3 保存スキームと非保存スキーム
4.4 有限体積法のフレームワーク
4.5 高次空間再構築
 4.5.1 空間再構築の精度
 4.5.2 高次空間再構築
4.6 時間積分法
4.7 代表的な2次精度解法
 4.7.1 Lax-Wendroff法
 4.7.2 Beam-Warming法
 4.7.3 Fromm法
4.8 TVD法
 4.8.1 TVDの概念
 4.8.2 TVD法の構築
4.9 数値流束の計算
 4.9.1 Godunovリーマンソルバ
 4.9.2 HLLリーマンソルバ
 4.9.3 Lax-Friedrichsリーマンソルバ
 4.9.4 LocalLax-Friedrichsリーマンソルバ/Rusanovリーマンソルバ
 4.9.5 Hartenリーマンソルバ
 4.9.6 リーマンソルバの流束分離の記述法
4.10 多次元への拡張

5.非粘性圧縮性流体の数値解法
5.1 オイラー方程式に関する基礎理論
 5.1.1 オイラー方程式の特性理論
 5.1.2 オイラー方程式の不連続解
 5.1.3 オイラー方程式のリーマン問題と厳密解
 5.1.4 2次元における特性理論
5.2 オイラー方程式の数値解法
 5.2.1 流束ベクトル分離法
 5.2.2 流束差分分離法
 5.2.3 オイラー方程式の1次精度解法
 5.2.4 オイラー方程式の2次精度解法
 5.2.5 2次元数値解法

6.非圧縮粘性流れの数値解法
6.1 非圧縮粘性流れの特徴と基礎式
6.2 陽的時間前進に基づく解法(MAC法系統)
 6.2.1 MAC法系統の各種方法
 6.2.2 スタガードメッシュ
 6.2.3 移流項と粘性項の離散化
 6.2.4 正方形キャビティ流れの計算
6.3 陰的時間前進に基づく解法(SIMPLE法)
 6.3.1 輸送方程式の陰的解法における離散化
 6.3.2 SIMPLE法の計算手順
 6.3.3 不足緩和
 6.3.4 SIMPLE法による正方形キャビティ流れの計算
6.4 コロケート格子を用いた解法
 6.4.1 コロケート格子
 6.4.2 コロケート格子における圧力場の安定化
 6.4.3 コロケート格子を用いたSIMPLE法によるキャビティ流れの計算
 6.4.4 コロケート格子を用いたフラクショナルステップ法
6.5 流入・流出のある流れ
 6.5.1 流入・流出境界の取扱い
 6.5.2 急拡大流れ
 6.5.3 角柱まわりの流れ
6.6 自然対流問題
 6.6.1 自然対流問題の基礎式
 6.6.2 正方形キャビティ内自然対流
 6.6.3 鉛直流路内の角柱の自然対流
6.7 密度ベースの解法と圧力ベースの解法
 6.7.1 疑似圧縮性による密度ベースの解法
 6.7.2 圧力ベースの解法

付録
A.1 流線の描き方
A.2 付属プログラムリスト
A.3 プログラムの実行
 A.3.1 MicrosoftVisualStudioのインストール
 A.3.2 可視化ツールgnuplotのインストール
 A.3.3 プログラムの実行

引用・参考文献
索引

読者モニタレビュー【M.K.様(大学院生,航空宇宙システム制御専攻)】

流体は粘性・圧縮性の有無により,その基礎方程式や解析手法が大きく異なります。そのためCFD(数値流体力学)に関する書籍は,流体の性質や解析手法によって内容を絞ったものが多く見られます。(「〇〇性流体力学」「〇〇法」等)

この書籍では,学部3・4年生程度のレベルを想定しており,CFD入門者が幅広く有限差分法・有限体積法をメインに触れることができます。(3.1節 において``有限要素法は他書に譲り,本書では有限差分法と有限体積法に限って解説する''としています)

具体的な内容は,始めに流れの基礎方程式を導出し,数値解法の基礎を簡潔に説明します。その後,非粘性圧縮性流れ・非圧縮粘性流れの解析手法を,豊富な図解と式展開を用いて解説する形になっています。
特に手法が乱立しているように見受けられるCFDの分野では,この書籍のように一貫した姿勢で解説されていると,私のような初学者が体系的に学びやすいと感じます。

他書と比較すると,空間再構築について詳しく紹介されている点・TVD法に関する解説が詳しい点・プログラムが上記のサイトで配布されているため,C++ と gnuplot の環境構築さえすれば容易に手元で実行できる点において優れていると思いました。

肖 鋒

肖 鋒(シャオ フェン)

所属:東京工業大学 工学院 機械系 教授
専門分野:数値流体力学,計算物理,データ/数値モデル融合解析
研究略歴: 1996 年東京工業大学博士号取得。理化学研究所基礎科学特別研究員を経て,1999 年より,東京工業大学准教授,教授歴任。日本機械学会フェロー,国際学術誌「Journal of Computational Physics」executive editor。
研究室紹介:私の研究室では,機械・航空関連分野を中心に,様々な流体現象に対し,数値シミュレーションによる研究を行っています。計算スキーム開発の基礎研究から,数値モデルの構築,ハードウェアの活用,データ/数値モデル融合解析,実応用に至るまで,多岐にわたる研究課題について最先端の研究を目指しています。

長崎 孝夫(ナガサキ タカオ)

所属:東京工業大学 工学院 機械系 准教授
専門分野:熱工学,伝熱学
研究紹介:沸騰,蒸発,凝縮のような気液相変化を伴う熱流体現象の実験と数値解析が専門で,二成分混合蒸気の凝縮のように,気体側と液体側の流れ・熱輸送・物質輸送,相変化を伴う自由界面,多成分系の気液平衡が連成した複雑現象の数値解析を行うこともあります。最近はヒートパイプの研究に注力しています。

掲載日:2020/05/08

「日本機械学会誌」2020年5月号広告

掲載日:2020/03/23

「日本航空宇宙学会誌」2020年3月号広告

掲載日:2020/02/05

「日本機械学会誌」2020年2月号広告

掲載日:2020/01/31

日刊工業新聞広告掲載(2020年1月31日)

本書で使用前提となっておりますMicrosoft Visual Studioおよびgnuplotは、基本的にフリーで利用できます。

Visual C++はVisual Studioの一部で、そのCommunity版は、Microsoftアカウントを取得すれば(もちろんすでに取得していればそれを利用して)、個人的な利用の範囲内で、持続的にフリーで使用することが可能となっております。

本サイトにアップしているソースコードはすべて,コンパイル,実行において問題なく動作することを確認をしておりました(動作環境は,Visual Studio 2019(Community) on Windows10)が,一部のコードにおいて配列の定義などで間違いがあり,リリースモードでコンパイルエラーが起こることが確認させれました。

修正済みの4章および5章のプログラムソースをアップしました。適宜ダウンロードの上,ご利用ください。