5310
コメント:
|
5344
|
削除された箇所はこのように表示されます。 | 追加された箇所はこのように表示されます。 |
行 56: | 行 56: |
sorce setup.sh |
|
行 58: | 行 60: |
sorce setup.sh |
多粒子系のシミュレーション
目的
コード
github/tkono17/labpp/PSystemにPythonのコードがある。
git clone https://github.com/tkono17/labpp.git
ファイル |
内容 |
python/dss.py |
粒子系のシミュレーション(粒子と境界、時間発展) |
python/dsgui.py |
結果を表示するためのGUI | |
scripts/runds1.py |
粒子系を設定して実行するためのプログラム |
シミュレーションの設定と拡張
python/dss.pyの中のSystemConfigクラスに、設定できるパラメータがある。ここで、生成する粒子の種類や個数等を設定できる。 現状では円形の自由粒子が、弾性衝突をするという状況しか計算していない。
粒子にはたらく力や複雑な境界を定義したければPSystemクラスを拡張する必要がある。
ソフトウェアの導入方法
作業用のディレクトリを作る。以下では、このディレクトリを<WORKDIR>と呼ぶことにする。 実際には、自分が好きなディレクトリ名を決めて以下の<WORKDIR>の部分はその名前で置き換えること。
cd <WORKDIR> git clone https://github.com/tkono17/labpp.git mkdir build sw cat > setup.sh <<EOF export SWDIR=<WORKDIR>/sw export PATH=${SWDIR}/bin:${PATH} export LD_LIBRARY_PATH=${SWDIR}/lib:${LD_LIBRARY_PATH} export PYTHONPATH=${SWDIR}/python:${PYTHONPATH} EOF cd build cmake ../labpp/PSystem make install
これをやった後には、<WORKDIR>の下にsw, build, labpp, setup.shといったディレクトリやファイルができているはずである。
新しくターミナルをシェルを立ち上げて作業を開始前に以下を実行する。
cd <WORKDIR> source ./setup.sh
このソフトウェアはpythonなのでコンパイルは不要であるが、必要なファイルを<WORKDIR>/swの下にインストールするために
cd <WORKDIR>/build make install
を実行する。これでプログラムを走らせる環境が整う。
sorce setup.sh
プログラムを実行するには
sorce setup.sh cd <WORKDIR>/run runds1.py
を実行する。すると、以下のようなウィンドウが新しく立ち上がるはずである。
Initialize -> Start -> Stop -> Quitが一連の流れになる。
ボタン |
内容 |
Initialize |
初期状態の生成 |
Start |
系の時間発展 |
Stop |
時間発展の停止 |
Quit |
プログラムの終了 |
データファイルの解析
シミュレーションを実行するとjson形式のデータファイルが生成される。Jsonファイルはデータを木構造で表現したもので、階層的なデータ構造を表現するのに便利である。ファイルの中のデータにアクセルするには、例えばPythonでは以下のようにする。