Pythonによるフェーズフィールド法入門

Pythonによるフェーズフィールド法入門(電子書籍)

基礎理論からデータ同化の実装まで
著者名 山中 晃徳
三好 英輔
発行元 丸善出版
発行年月日 2023年12月
NDCコード 531
ジャンル 機械・金属・材料 >  材料工学

内容紹介

 本書は,フェーズフィールド法の基礎理論から,プログラムの実装まで解説した入門書である.具体的なフェーズフィールドモデルを提示しながら,それらのモデルをどのように数値計算するのかできる限り丁寧に解説した.特に,フェーズフィールドモデルの数値計算法として広く使われる,有限差分法やフーリエ変換を用いたスペクトル法で解析するサンプルプログラムを充実させ,読者が実際に手を動かしながらフェーズフィールド法の基礎を理解できるよう工夫した.

 さらに,近年ではデータ科学的な手法を用いたシミュレーションが注目を集めている.フェーズフィールド法においても,実験データを活用して物性値やパラメータを推定しつつ,シミュレーション精度を高められるような,データ同化と融合した手法の開発が進んでいる.そこで本書でも,データ同化の基礎からフェーズフィールドモデルへの実装方法まであわせて紹介する.

目次

第1章 シングルフェーズフィールドモデル
 1.1 共通理論
  1.1.1 秩序変数
  1.1.2 全自由エネルギー
  1.1.3 時間発展方程式の一般形の導出
  1.1.4 アレン–カーン方程式を用いたフェーズフィールドモデル
  1.1.5 カーン–ヒリアード方程式を用いたフェーズフィールドモデル
  1.1.6 パラメータと物性値の関係付け
 1.2 アレン–カーン方程式を用いたフェーズフィールドシミュレーション
  1.2.1 有限差分法を用いたアレン–カーン方程式の離散化
  1.2.2 有限差分法での Python プログラミング
  1.2.3 スペクトル法を用いたアレン–カーン方程式の離散化
  1.2.4 スペクトル法での Python プログラミング
 1.3 カーン–ヒリアード方程式を用いたフェーズフィールドシミュレーション
  1.3.1 有限差分法を用いたカーン–ヒリアード方程式の離散化
  1.3.2 有限差分法での Python プログラミング
  1.3.3 スペクトル法を用いたカーン–ヒリアード方程式の離散化
  1.3.4 スペクトル法での Python プログラミング
 1.4 純物質の凝固現象のフェーズフィールドモデル
 1.5 純物質の凝固現象のフェーズフィールドシミュレーション
  1.5.1 有限差分法による純物質凝固モデルの離散化
  1.5.2 有限差分法での Python プログラミング
 1.6 2 成分合金の凝固現象のフェーズフィールドモデル
 1.7 2 成分合金の凝固現象のフェーズフィールドシミュレーション
  1.7.1 有限差分法による合金凝固モデルの離散化
  1.7.2 有限差分法での Python プログラミング
 1.8 混相流のフェーズフィールド・格子ボルツマンシミュレーション
  1.8.1 LBMの支配方程式
  1.8.2 有限差分法による Python プログラミング

第2章 マルチフェーズフィールドモデル
 2.1 共通理論
  2.1.1 秩序変数
  2.1.2 全自由エネルギー
  2.1.3 アレン–カーン方程式
  2.1.4 パラメータと物性値の関係付け
 2.2 1 次元マルチフェーズフィールドモデルの Python プログラミング
  2.2.1 有限差分法を用いた離散化
  2.2.2 Python プログラミング
 2.3 2 次元マルチフェーズフィールドモデルの Python プログラミング
  2.3.1 有限差分法を用いた離散化
  2.3.2 Python プログラミング

第3章 データ同化の基礎とフェーズフィールド法への応用
 3.1 ベイズの定理とベイズ推論の基礎
  3.1.1 ベイズの定理
  3.1.2 ベイズ推論の基礎
 3.2 データ同化手法の種類
 3.3 状態空間モデル
  3.3.1 システムモデル
  3.3.2 観測モデル
 3.4 非逐次データ同化の基礎理論
  3.4.1 最尤推定法
  3.4.2 3 次元変分法(3DVar 法)
  3.4.3 4 次元変分法(4DVar 法)
  3.4.4 確率密度分布のアンサンブル近似
  3.4.5 アンサンブル 4 次元変分法(En4DVar 法)
 3.5 逐次データ同化の基礎理論
  3.5.1 カルマンフィルタ(KF)
  3.5.2 アンサンブルカルマンフィルタ(EnKF)
 3.6 純物質凝固モデルへのEnKFの実装
  3.6.1 双子実験(数値実験)
  3.6.2 Python プログラミング
  3.6.3 双子実験の結果

付録A 数値シミュレーションの基礎
 A.1 拡散方程式
 A.2 格子ボルツマン法(LBM)

付録B 数値計算法
 B.1 有限差分法
 B.2 有限差分法による拡散方程式の数値計算の Python プログラミング
 B.3 フーリエ変換を用いたスペクトル法
 B.4 スペクトル法による拡散方程式の数値計算の Python プログラミング

付録C Google ColaboratoryとPyCudaを用いた GPU 計算
 C.1 GPU 計算の基礎
 C.2 拡散方程式の有限差分法による数値計算のPyCudaプログラミング

参考文献

あとがき

索引