Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

148 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

これは何ですか?

ここは、計算物理春の学校2026 個別講義D-4 「無衝突系の運動論シミュレーション入門」で用いるプログラム置き場です。

  • FDS: 有限差分法
  • FVS: 有限体積法
  • Vlasov: 運動論シミュレーション
  • common: 共通C++プログラムとPython可視化補助

C++とPythonプログラムが準備されていますので、お好きな方をご利用ください。
そのまま使うもよし、機能を追加するもよし、自作の参考にするもよしです。
講義ではPythonを用います。

どうやって使いますか?

ローカル環境で使う場合は、ご自身のPCにファイルをダウンロードするか、

git clone https://github.com/minoshim/Num_Analysis.git

してください。
クラウド環境で使う場合は、Google Colabを使いますので、Googleアカウントをご準備ください。

Python

ディレクトリPyの先にあるmain.pyがバッチファイル、hoge.ipynbがノートブックです(一部、main.pyのみの補助プログラムもあります)。
バッチファイルをローカル環境で使う場合は、numpy, scipy, matplotlibがインストール済みのPythonを準備します。
使いたい課題のディレクトリに移動してから、例えば

cd FDS/Py/Adv
python main.py

のように実行します。Pythonの対話環境から実行する場合は、

exec(open("main.py").read())

とすると計算が行われます。

ノートブックをクラウド環境で使う場合は、例えば

https://github.com/minoshim/Num_Analysis/blob/main/FDS/Py/Adv/fds_adv.ipynb

のURLを

https://colab.research.google.com/github/minoshim/Num_Analysis/blob/main/FDS/Py/Adv/fds_adv.ipynb

と変更すると、Google Colabで開くことができます。
https://github.com/https://colab.research.google.com/github/に変更しています)
また、ノートブックがあるディレクトリのREADMEに設置されている「Open In Colab」ボタンをクリックすることでも開くことができます。

C++

ローカルのLinux環境(Windows Subsystem for Linuxを含む。多分Macも可)での利用を想定しています。
C++コンパイラとmakeをインストールしてください。
まず、commonディレクトリにあるMakefile.incで、ご自身の環境に合わせてコンパイラとコンパイラオプションを変更してください。
変更したら、commonディレクトリにて

cd common
make clean
make

とし、bound.oが作成されるか確認してください。
ここまでうまくいったら、課題のディレクトリに移動し、

cd ../FDS/C++/Adv
make
./a.out

とすることで、プログラムが実行されます。上のFDS/C++/Advは例ですので、実行したい課題のディレクトリ(例: FDS/C++/Diff, FVS/C++/Adv, Vlasov/Elesta/C++/landauなど)に置き換えてください。
計算結果はPythonで可視化することができます(numpyとmatplotlibが必要)。読み込み用のバッチファイルbatch1d.pyなどが準備されていますので、pythonを実行して、

exec(open("batch1d.py").read())

とします。するとInput data directory (Ctrl-D to exit):と聞かれますから、計算を実行したディレクトリであれば.と答えて計算結果を読み込みます。2次元Poisson問題ではbatch2d.py、Vlasov問題ではbatch_f.pyを使います。
詳しくはバッチファイルの中身をご覧ください。

About

Numerical analysis package for Computational Physics School 2026

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages