outcar2axsf プログラム仕様
VASPのOUTCARファイルからXCrySDen AXSFアニメーションファイルを生成するスクリプト。
- 概要:
VASPのOUTCARファイル(分子動力学シミュレーション結果)を解析し、XCrySDenで可視化可能な AXSFアニメーションファイルを生成します。各ステップの結晶構造(格子ベクトル、原子座標) および原子にかかる力(または速度)をAXSF形式で出力します。
- 詳細説明:
このスクリプトは、VASPの計算ディレクトリ内のOUTCAR、INCAR、POSCAR、CONTCARファイルを 読み込み、以下の処理を実行します。 1. POSCARから初期構造、CONTCARから最終構造を読み込み、それぞれのCIFファイルを生成します。 2. INCARファイルから`SYSTEM`名と`POTIM`(時間刻み)を抽出し、出力ファイル名などに利用します。 3. OUTCARファイルを解析し、シミュレーション中に記録されたすべての結晶構造ステップを抽出し、
それらを順次AXSFファイルに書き込みます。
AXSFファイルには、各ステップの格子ベクトル、原子のカートesian座標、および原子にかかる力 (OUTCARに力が記録されていない場合は速度)が出力されます。
- 使用方法:
コマンドラインからVASPのOUTCARファイル(またはその親ディレクトリ)のパスを指定して実行します。 例: python outcar2axsf.py OUTCAR 例: python outcar2axsf.py /path/to/vasp_calculation_directory
- 関連リンク:
- VASP.outcar2axsf.WriteXSFAnimationFileHeader(outfile, nStep)[ソース]
XCrySDen AXSFアニメーションファイルのヘッダーを書き込みます。
- 概要:
新しいAXSFファイルの先頭にアニメーションのステップ数と結晶であることを示すヘッダー情報を記述します。
- 詳細説明:
指定されたファイルパスでAXSFファイルを書き込みモードで開き、 `ANIMSTEPS nStep`と`CRYSTAL`の行を書き込みます。 ファイルオープンに失敗した場合はNoneを返します。
- VASP.outcar2axsf.WriteXSFFileFromCrystal(outfile, iCycle, cry)[ソース]
特定のステップの結晶構造データをAXSFファイルに追記します。
- 概要:
与えられたtkCrystalオブジェクトから、そのステップの格子ベクトルと原子座標、および力を AXSFファイルの形式に従って追記します。
- 詳細説明:
指定されたAXSFファイルを追記モードで開き、以下の情報を書き込みます。 - PRIMVEC と CONVVEC のヘッダー、および3つの格子ベクトル。 - PRIMCOORD のヘッダー、全原子数、および各原子の原子番号、カートesian座標、力(または速度)。 力が取得できない場合は、力が0として書き込まれます。
- VASP.outcar2axsf.main()[ソース]
スクリプトのメインエントリーポイント。
- 概要:
コマンドライン引数の処理と、OUTCARからAXSFファイルへの変換処理を実行します。
- 詳細説明:
updatevars() を呼び出し、コマンドライン引数に基づいてグローバル変数(CAR_path, xsffile)を初期化します。
処理の開始メッセージを表示します。
outcar2axsf() 関数を呼び出し、VASPファイルの解析とAXSFファイルの生成を実行します。
- VASP.outcar2axsf.outcar2axsf()[ソース]
VASPのOUTCARファイルからAXSFアニメーションファイルを生成するメインロジック。
- 概要:
VASP計算ディレクトリ内のOUTCAR、INCAR、POSCAR、CONTCARファイルを読み込み、 必要な情報を抽出し、XCrySDen形式のAXSFアニメーションファイルと初期/最終構造のCIFファイルを生成します。
- 詳細説明:
VASP関連ファイルのパスを特定し、表示します。
POSCARおよびCONTCARから初期/最終結晶構造を読み込み、その格子定数を表示します。
INCARから`SYSTEM`名と`POTIM`を読み込み、表示します。
初期構造と最終構造をCIFファイルとして出力します(ファイル名は`SYSTEM`-initial.cif, SYSTEM-final.cif)。
OUTCARファイルから読み取れる結晶構造の総ステップ数を取得し、AXSFファイルのヘッダーを書き込みます。
OUTCARファイルを再度開き、`read_next_crystalstructure`メソッドを使用して各ステップの結晶構造を順次読み込みます。
読み込んだ各ステップの結晶構造データ(`tkCrystal`オブジェクト)を`WriteXSFFileFromCrystal`関数に渡し、 AXSFファイルに追記していきます。
処理完了後、スクリプトを終了します。
- グローバル変数:
- global CAR_path:
VASP計算ディレクトリまたはOUTCARファイルのパス。
- global xsffile:
出力されるAXSFファイルのパス。