Python

Pythonを使う作業に関する記事

プログラミング

NumPyでnp.linalg.normを使うよりもnp.einsumを使うほうが速い

3次元空間の2点間の距離は $$\sqrt{(x_2 - x_1)^2 + (y_2 - y_1)^2 + (z_2 - z_1)^2}$$ で計算できますが、2点ではなく多数の点があり、その相互の距離を計算したい場合などは、計算方法によっ...
プログラミング

NumPyのsortは遅いがpartitionを使うと速い

PythonのNumpyで、要素が非常に多い1次元配列をnp.sortやnp.argsortでソートした際の処理に時間がかかることに気づきました。いろいろ試していく中で、ソート後の値が小さい順に10個の要素だけ欲しいというような場合はnp....
MOPAC

ASEとMOPACで赤外スペクトル計算

PythonのASE (Atomic Simulation Environment) で赤外スペクトルを計算してみます。 計算方法 計算にはMOPACを使用します。ASEでMOPACを使うとエラーが出る場合がありますので、その場合は以下の記...
LAMMPS

LAMMPS ASE 正しい元素を表示する

PythonのASE(Atomic Simulation Environment) でLAMMPSのファイルを読み込むと、正しい元素が反映されないことがあります。LAMMPSは汎用なソルバーであり原子以外のものも計算ができますが、それゆえ原...
QE

ASEでQEのデータを作ってCar-ParrinelloMDをやってASEで可視化する

PythonのASE(Atomic Simulation Environment) でQuantum ESPRESSOのデータファイルを作って、cp.xによる第一原理MD計算をやってみます。 入力データ作成と計算実行 以下の流れで進みます。...
LAMMPS

LAMMPSで水の粘度を計算

分子動力学法プログラムのLAMMPSを使って水の粘性係数を計算します。 Green-Kubo公式 $$\eta = \frac{V}{k_BT} \int_0^\infty \langle P_{xy}(0)P_{xy}(t) \rangl...
プログラミング

PythonのNumPyで自己相関関数

分子動力学法の解析でよく使う自己相関関数をPythonで書きます。 Green-Kubo公式 自己相関関数は何に使うか?というとGreen-Kubo公式で使います。速度自己相関関数から自己拡散係数が分かるとか、圧力の自己相関関数から粘度が分...
GAMESS

ASEとGAMESSを使って構造最適化

PythonのASE (Atomic Simulation Environment) でGAMESSによる構造最適化を実行する方法を解説します。GAMESSのモデリングツールや可視化ツールとしてもASEは使えそうです。
計算化学

ASEで分子を作成

PythonのASE (Atomic Simulation Environment) で分子を作成します。化合物名を入れる方法、SMILESやCIDで指定する方法、座標を直接入力する方法、ファイルインポート、可視化について解説します。
プログラミング

Pythonのpipでプロキシ設定

Pythonのpipを使う際にプロキシが要る場合は以下のようにします。 pip install --upgrade pip --proxy="" pip install --upgrade setuptools --proxy="" pip...