最新レスポンシブHTMLテンプレート no.002 サンプルロゴ

Contact
OPEN SOURCES

Source codes for phase-field models
(フェーズフィールド法の公開ソースコード)

Notes and Disclaimers (注意と免責事項)

This site is maintained by Yamanaka research group, Tokyo University of Agriculture and Technology, Japan.
You can use this site only if you agree to the following terms.

1. Copyright on each source code attributes to its developer.
2. We prohibit all uses or diversions of all contents in this website without permission or quoting this website.
3. We do not guarantee the accuracy of source code in this site.
4. It is your responsibility for the use of the source codes.

We are not responsible of any loss or other detriments as a result of the contents in this site.
We do not answer to your questions and comments to the contents in this site.
サンプルプログラムを使用することによって生じた如何なる損失や不利益については、東京農工大学ならびに山中研究室は責任を負いません。
サンプルプログラムの内容、使用方法に関する個別の相談ならびに質問にはお答え致しません。

We checked the source codes using MacBook Pro (macOS Sierra, CPU:Intel Corei7, 16GB Memory) and PGI Fortran compiler Community Edition.
We visualize all the figures using ParaView software.

Textbook (in Japanese) 著書

フェーズフィールド法の基礎からデータ同化の実装について詳細は、下記の著書をご覧頂ければ幸いです。

山中晃徳, 三好英輔 共著, Pythonによるフェーズフィールド法入門 -基礎理論からデータ同化の実装まで-, 丸善出版, (2023).
この著書ではPythonによるサンプルコードを解説しており、サンプルコードは以下のGitHubから利用可能です。
https://github.com/Yamanaka-Lab-TUAT/Introduction_to_phasefield

フェーズフィールドモデルの定式などについて詳細は、下記の著書もご覧頂ければ幸いです。

高木知弘, 山中晃徳 共著, フェーズフィールド法 -数値シミュレーションによる材料組織設計-, 養賢堂, (2012).

Basic 1: One-dimensional Allen-Cahn equation (基礎編: 1次元Allen-Cahn方程式)

Python source code

Jupyter Notebook (html)
Source code (ipynb file)

Basic 2: Two-dimensional Allen-Cahn equation (基礎編: 2次元Allen-Cahn方程式)

Python source code

Jupyter Notebook (html)
Source code (ipynb file)

Basic 3: Two-dimensional Cahn-Hilliard equation (基礎編: 2次元Cahn-Hilliard方程式)

Python source code

Jupyter Notebook (html)
Source code (ipynb file)

Phase-field model of isothermal solidification in a binary alloy (2元合金の等温凝固のフェーズフィールドモデル)

WBMモデルと呼ばれるフェーズフィールドモデルを用いた、Ni-Al合金の等温凝固におけるデンドライト形成過程を解析するプログラムです。 原著論文は、J.A. Warren and W. J. Boettinger, Acta Metall. Mater., 43 (1995), p. 689です。物性値は、こちらの論文を参照された方がわかりやすいかもしれません。 各変数やパラメータの意味は、プログラム中にコメント文として記入しておりますので、ご参照ください。
下記のFortranプログラムをコンパイル&実行し、出力されるvtkファイルをParaViewで可視化すれば下記のようなデンドライト組織形成を見ることができます。 プログラム中の物性値やパラメータ(例えば、界面エネルギーの異方性強度など)を変更して、シミュレーションを実施してみてください。


Fig. Time evolution of phase-field variable. Red and blue regions show solid and liquid phases, respectively.
図: フェーズフィールド変数の時間変化(赤色がフェーズフィールド変数=1の固相, 青色がフェーズフィールド変数=0の液相を表す)

Fig. Time evolution of solute concentration.
図: 溶質濃度変数の時間変化

Fortran Source code

Fortran code

Basic 4: One-dimensional multi-phase-field model for grain growth (1次元マルチフェーズフィールドモデル)

Python source code

Jupyter Notebook (html)
Source code (ipynb file)

Multi-phase-field model of polycrystalline grain growth (多結晶粒成長のマルチフェーズフィールドモデル)

マルチフェーズフィールドモデルを用いた、多結晶粒成長過程を解析するプログラムです。原著論文は、I. Steinbach et al., Physica D, 134 (1999), pp. 385-393です。 各変数やパラメータの意味は、プログラム中にコメント文として記入しておりますので、ご参照ください。
下記のFortranプログラムをコンパイル&実行し、出力されるvtkファイルをParaViewで可視化すれば下記のような多結晶粒成長を見ることができます。 初期の結晶粒の位置は、乱数を使って配置しています。初期の結晶粒数や計算領域の大きさを変更して、シミュレーションを実施してみてください。


Fig. Polycrystalline grain growth. The color in each grain shows the number of phase-field variable.
図: 多結晶粒成長過程. フェーズフィールド変数の番号に従って、各結晶粒を色づけして表示している。

Fig. Migration of grain boundary
図: 各座標におけるフェーズフィールド変数の2乗の総和を計算し、結晶粒界の移動を可視化している。

Fortran source code

Fortran code

Python source code

Jupyter Notebook (html)
Source code (ipynb file)
Appendix: Three-dimensional multi-phase-field model for grain growth (Numba JIT compiler is used)
Source code (python)

Phase-field model of martensitic transformation (マルテンサイト変態のフェーズフィールドモデル)

フェーズフィールド法と弾性均一系に対するフェーズフィールド微視的弾性論を用いた、マルテンサイト変態を解析するプログラムです。 原著論文は、Y. U. Wang and A. G. Khachaturyan, Acta Materialia, 45 (1999), p. 759.です。 各変数やパラメータの意味は、プログラム中にコメント文として記入しておりますので、ご参照ください。
本プログラムをコンパイル&実行し、出力されるvtkファイルをParaViewで可視化すれば下記のようなマルテンサイト変態挙動を見ることができます。


Fig. Time evolution of phase-field variables which shows the one of two martensitic variant
図: 3つある兄弟晶(バリアント)のうち、ある1つのバリアントの存在確率を表すフェーズフィールド変数の時間変化。

Fortran source code

Fortran code

Python source code

Coming soon...
ページトップへ戻る