tkvasp プログラム仕様

VASP計算の出力ファイルを解析し、関連情報を提供するユーティリティモジュール。

このモジュールは、VASP (Vienna Ab initio Simulation Package) の計算結果ファイル (INCAR, POSCAR, OUTCAR, EIGENVAL, DOSCAR, vasprun.xmlなど) を読み込み、 解析するための tkVASP クラスを提供します。 結晶構造情報、エネルギーデータ、バンド構造、状態密度、K点パスなどの情報を 抽出・整理し、Pythonオブジェクトとしてアクセス可能にします。

関連リンク: tkvasp.py 技術ドキュメント

class tklib.tkcrystal.tkvasp.tkVASP(**args)[ソース]

ベースクラス: tkCrystalObject

VASP計算の出力ファイルを解析し、関連情報を提供するクラス。

tkCrystalObjectを継承し、VASPのINCAR、POSCAR、POTCAR、KPOINTS、OUTCAR、EIGENVAL、 DOSCAR、vasprun.xmlなどの主要な出力ファイルからデータを読み込み、 結晶構造、エネルギー情報、バンド構造、状態密度などの解析機能を提供します。

cal_lmdecomposed_dos(inf, atom_type, lm, save_lmdos=False, outfile=None, is_print=False)[ソース]

DOSCAR情報から特定の原子種と軌道量子数 (lm) の部分状態密度 (PDOS) を計算します。

read_doscar で読み込まれたPDOSデータを用いて、指定された atom_typelm (例: 's', 'p', 'd', 's up'など)に対応するDOSを合計します。 結果をファイルに保存するオプションもあります。

パラメータ:
  • inf -- dict: read_doscar から得られたDOSCAR情報を含む辞書。

  • atom_type -- str: PDOSを計算する原子のタイプ(例: 'O', 'Fe')。

  • lm -- str: PDOSを計算する軌道量子数またはスピン成分(例: 's', 'p', 'd', 'tot', 'up', 'dn', 's up')。

  • save_lmdos -- bool: 結果をファイルに保存するかどうか。デフォルトはFalse。

  • outfile -- str or None: 結果を保存するファイル名。Noneの場合、デフォルト名が使用される。

  • is_print -- bool: 計算過程を出力するかどうか。デフォルトはFalse。

戻り値:

numpy.ndarray or None: 計算されたlm分解DOSの配列、またはデータが存在しない場合はNone。

convert_kname(name)[ソース]

K点パスの記号名をLaTeX形式に変換します。

K点パスの記号名(例: "Gamma")を認識し、対応するLaTeX形式(例: "$Gamma$")に変換します。 ギリシャ文字などが対象です。

パラメータ:

name -- str: 変換するK点パスの記号名。

戻り値:

str: 変換された記号名、または変換対象外の場合は元の名前。

find_band_edges_from_dos(E, DOS, EF0=0.0, DOSth=1e+18)[ソース]

DOS(状態密度)データから価電子帯上端 (EV) と伝導帯下端 (EC) を見つけます。

フェルミエネルギー (EF0) を基準として、指定されたDOSスレッショルド (DOSth) を超える DOS値を持つエネルギー点を探索し、EVとECを決定します。

パラメータ:
  • E -- numpy.ndarray: エネルギー点の配列。

  • DOS -- numpy.ndarray: 対応する状態密度の配列。

  • EF0 -- float: フェルミエネルギー。デフォルトは0.0。

  • DOSth -- float: DOSの閾値。この値を超えるとバンドが存在すると見なされる。デフォルトは1.0e18。

戻り値:

tuple: (float, float): 価電子帯上端 (EV) と伝導帯下端 (EC)。

find_band_edges_from_eigenval(EF0=0.0, normalize_E=True, eigenvalinf=None, ISPIN=None, occ_th=0.5, occ_th0=0.0001, print_level=1)[ソース]

バンドエネルギー情報から価電子帯上端 (EV)、伝導帯下端 (EC)、HOMO、LUMOを見つけます。

EIGENVALから読み込んだバンドエネルギーと占有数を用いて、 電子占有の閾値 (occ_th, occ_th0) を基準に、各K点でのバンド端エネルギーを探索し、 バンドギャップ関連の情報を辞書として返します。

パラメータ:
  • EF0 -- float: フェルミエネルギー。デフォルトは0.0。

  • normalize_E -- bool: エネルギーがフェルミ準位で正規化されているか。デフォルトはTrue。

  • eigenvalinf -- dict or None: EIGENVAL情報を含む辞書。Noneの場合、オブジェクトの内部情報を使用。

  • ISPIN -- int or None: スピン偏極計算 (ISPIN=2) かどうか。Noneの場合、OUTCARまたはINCAR情報から取得。

  • occ_th -- float: 占有数の閾値(VBM/CBM検出用)。デフォルトは0.5。

  • occ_th0 -- float: 占有数の閾値(HOMO/LUMO検出用、occ_thより小さい値)。デフォルトは1.0e-4。

  • print_level -- int: 出力レベル。0で非表示、1以上で表示。デフォルトは1。

戻り値:

dict: バンド端情報(EV, EC, Eg, EF0, HOMO, LUMO)を含む辞書。

gbandedges(dir='.', fn_outcar='OUTCAR', fn_eig='EIGENVAL', ef=None)[ソース]

EIGENVALファイルとOUTCARファイルからバンドギャップ情報を抽出します。

EIGENVALファイルから各バンドのエネルギーを読み込み、OUTCARファイルから取得した フェルミエネルギーを基準にして、価電子帯上端 (EVBM) と伝導帯下端 (ECBM) を特定します。 それらの情報とK点座標、バンドインデックス、スピンなどの詳細を辞書で返します。

パラメータ:
  • dir -- str: VASP計算ディレクトリのパス。デフォルトは'.'。

  • fn_outcar -- str: OUTCARファイル名。デフォルトは'OUTCAR'。

  • fn_eig -- str: EIGENVALファイル名。デフォルトは'EIGENVAL'。

  • ef -- float or None: フェルミエネルギー。Noneの場合、OUTCARから読み込む。

戻り値:

dict or None: バンドギャップ情報を含む辞書、またはEIGENVALファイルが見つからない場合はNone。

get_CAR_dir(path, use_abspath=False)[ソース]

VASP計算の「CAR」ディレクトリのパスを取得します。

指定されたパスがディレクトリの場合はそのパスを、ファイルの場合はその親ディレクトリを返します。 use_abspath がTrueの場合、絶対パスに変換します。

パラメータ:
  • path -- str: ファイルまたはディレクトリのパス。

  • use_abspath -- bool: 結果を絶対パスで返すかどうか。デフォルトはFalse。

戻り値:

str: VASP計算ディレクトリのパス。

get_CONTCAR(CAR_dir)[ソース]

CONTCARファイルのパスを取得します。

get_VASPPath を使用してCONTCARファイルのパスを構築します。

パラメータ:

CAR_dir -- str: VASP計算ディレクトリのパス。

戻り値:

str: CONTCARファイルの完全パス。

get_DOSCAR(CAR_dir)[ソース]

DOSCARファイルのパスを取得します。

get_VASPPath を使用してDOSCARファイルのパスを構築します。

パラメータ:

CAR_dir -- str: VASP計算ディレクトリのパス。

戻り値:

str: DOSCARファイルの完全パス。

get_EIGENVAL(CAR_dir)[ソース]

EIGENVALファイルのパスを取得します。

get_VASPPath を使用してEIGENVALファイルのパスを構築します。

パラメータ:

CAR_dir -- str: VASP計算ディレクトリのパス。

戻り値:

str: EIGENVALファイルの完全パス。

get_INCAR(CAR_dir)[ソース]

INCARファイルのパスを取得します。

get_VASPPath を使用してINCARファイルのパスを構築します。

パラメータ:

CAR_dir -- str: VASP計算ディレクトリのパス。

戻り値:

str: INCARファイルの完全パス。

get_KPOINTS(CAR_dir)[ソース]

KPOINTSファイルのパスを取得します。

get_VASPPath を使用してKPOINTSファイルのパスを構築します。

パラメータ:

CAR_dir -- str: VASP計算ディレクトリのパス。

戻り値:

str: KPOINTSファイルの完全パス。

get_KPOINTS_OPT(CAR_dir)[ソース]

KPOINTS_OPTファイルのパスを取得します。

get_VASPPath を使用してKPOINTS_OPTファイルのパスを構築します。

パラメータ:

CAR_dir -- str: VASP計算ディレクトリのパス。

戻り値:

str: KPOINTS_OPTファイルの完全パス。

get_OUTCAR(CAR_dir)[ソース]

OUTCARファイルのパスを取得します。

get_VASPPath を使用してOUTCARファイルのパスを構築します。

パラメータ:

CAR_dir -- str: VASP計算ディレクトリのパス。

戻り値:

str: OUTCARファイルの完全パス。

get_POSCAR(CAR_dir)[ソース]

POSCARファイルのパスを取得します。

get_VASPPath を使用してPOSCARファイルのパスを構築します。

パラメータ:

CAR_dir -- str: VASP計算ディレクトリのパス。

戻り値:

str: POSCARファイルの完全パス。

get_POTCAR(CAR_dir)[ソース]

POTCARファイルのパスを取得します。

get_VASPPath を使用してPOTCARファイルのパスを構築します。

パラメータ:

CAR_dir -- str: VASP計算ディレクトリのパス。

戻り値:

str: POTCARファイルの完全パス。

get_VASPPath(path, filename)[ソース]

VASP計算ディレクトリ内の特定のファイルの完全パスを取得します。

get_CAR_dir で取得したディレクトリとファイル名を結合します。

パラメータ:
  • path -- str: VASP計算ディレクトリ内にあるファイルまたはディレクトリのパス。

  • filename -- str: 取得したいVASPファイルの名前(例: 'INCAR')。

戻り値:

str: 指定されたVASPファイルの完全パス。

get_VASPRUN(CAR_dir)[ソース]

vasprun.xmlファイルのパスを取得します。

get_VASPPath を使用してvasprun.xmlファイルのパスを構築します。

パラメータ:

CAR_dir -- str: VASP計算ディレクトリのパス。

戻り値:

str: vasprun.xmlファイルの完全パス。

get_XML(CAR_dir)[ソース]

vasprun.xmlファイルのパスを取得します。

get_VASPPath を使用してvasprun.xmlファイルのパスを構築します。

パラメータ:

CAR_dir -- str: VASP計算ディレクトリのパス。

戻り値:

str: vasprun.xmlファイルの完全パス。

getdir(path)[ソース]

指定されたパスがディレクトリであればそのパスを、ファイルであればその親ディレクトリを返します。

ファイルパスからディレクトリ部分を抽出するために使用されます。

パラメータ:

path -- str: ファイルまたはディレクトリのパス。

戻り値:

str: 解決されたディレクトリのパス。

read_DOS(file, cry=None, IsSpinPolarized=None, IsNonCollinear=None, EF=None, normalize_E=True, unit='', print_level=1)[ソース]

DOSファイルを読み込み、状態密度情報を取得します。

.dat ファイル形式またはDOSCARファイル形式のDOSデータを読み込み、 エネルギーと状態密度の情報を辞書形式で返します。 DOSCARの場合、read_doscar メソッドを呼び出します。

パラメータ:
  • file -- str: DOSファイルへのパス。

  • cry -- tkCrystal or None: 結晶構造情報を持つ tkCrystal オブジェクト。

  • IsSpinPolarized -- bool or None: スピン偏極計算かどうか。

  • IsNonCollinear -- bool or None: 非共線計算かどうか。

  • EF -- float or None: フェルミエネルギー。

  • normalize_E -- bool: エネルギーをフェルミ準位で正規化するかどうか。デフォルトはTrue。

  • unit -- str: DOSの単位。デフォルトは''(無単位)。

  • print_level -- int: 出力レベル。デフォルトは1。

戻り値:

dict: DOS情報を含む辞書。

read_doscar(DOSCAR_path, cry=None, EF=None, normalize_E=True, unit='', IsSpinPolarized=None, IsNonCollinear=None, SpinOrbit=None, print_level=1)[ソース]

DOSCARファイルから状態密度 (DOS) 情報を読み込みます。

DOSCARファイルの内容を解析し、全状態密度 (TDOS) と部分状態密度 (PDOS) を抽出します。 フェルミエネルギーによるエネルギーの正規化、単位変換、スピン偏極や非共線計算の考慮、 PDOSの軌道分解情報などを処理します。

パラメータ:
  • DOSCAR_path -- str: DOSCARファイルへのパス。

  • cry -- tkCrystal or None: 結晶構造情報を持つ tkCrystal オブジェクト。Noneの場合、内部でPOSCARから読み込む。

  • EF -- float or None: フェルミエネルギー。Noneの場合、OUTCAR情報から取得。

  • normalize_E -- bool: エネルギーをフェルミ準位で正規化するかどうか。デフォルトはTrue。

  • unit -- str: DOSの単位。'/cm3'を指定すると体積で割って正規化。デフォルトは''(無単位)。

  • IsSpinPolarized -- bool or None: スピン偏極計算かどうか。Noneの場合、OUTCAR情報から取得。

  • IsNonCollinear -- bool or None: 非共線計算かどうか。Noneの場合、OUTCAR情報から取得。

  • SpinOrbit -- bool or None: スピン軌道結合計算かどうか。Noneの場合、OUTCAR情報から取得。

  • print_level -- int: 出力レベル。0で非表示、1以上で表示。デフォルトは1。

戻り値:

dict: DOS情報を含む辞書。

read_eigenval(EIGENVAL_path, normalize_E=True, KPOINTS_inf=None, ISPIN=None, IsHF=None, IsMETAGGA=None, EF=None, NELECT=None, cry=None, print_level=1)[ソース]

EIGENVALファイルからバンド構造情報を読み込みます。

EIGENVALファイルの内容を解析し、各K点におけるバンドエネルギーと占有数を抽出します。 スピン偏極計算の場合、スピンアップとスピンダウンの情報を区別して読み込みます。 K点パスが定義されている場合(ラインモード)、K点間の距離も計算します。

パラメータ:
  • EIGENVAL_path -- str: EIGENVALファイルへのパス。

  • normalize_E -- bool: エネルギーをフェルミ準位で正規化するかどうか。デフォルトはTrue。

  • KPOINTS_inf -- dict or None: KPOINTS情報を含む辞書。指定されない場合、内部で読み込まれる。

  • ISPIN -- int or None: スピン偏極計算 (ISPIN=2) かどうか。Noneの場合、OUTCAR情報から取得。

  • IsHF -- bool or None: Hartree-Fock計算かどうか。Noneの場合、OUTCAR情報から取得。

  • IsMETAGGA -- bool or None: meta-GGA計算かどうか。Noneの場合、OUTCAR情報から取得。

  • EF -- float or None: フェルミエネルギー。Noneの場合、OUTCAR情報から取得。

  • NELECT -- int or None: 総電子数。Noneの場合、OUTCAR情報から取得。

  • cry -- tkCrystal or None: 結晶構造情報を持つ tkCrystal オブジェクト。

  • print_level -- int: 出力レベル。0で非表示、1以上で表示。デフォルトは1。

戻り値:

dict or None: バンド構造情報を含む辞書、またはファイルが見つからない場合はNone。

read_eigenval_opt(EIGENVAL_path, normalize_E=True, KPOINTS_inf=None, ISPIN=None, IsHF=None, IsMETAGGA=None, EF=None, NELECT=None, cry=None, print_level=1)[ソース]

vasprun.xmlKPOINTS_OPT からバンド構造情報を読み込みます。

pymatgenVasprun クラスを使用せず、KPOINTS_OPT_Parser を用いて、 vasprun.xmlKPOINTS_OPT からEIGENVAL情報(バンドエネルギーと占有数)を抽出します。 これは特にバンドパスが複雑な場合や特定のK点に重みがない場合のバンド構造解析に適しています。

パラメータ:
  • EIGENVAL_path -- str: EIGENVALファイルへのパス(KPOINTS_OPTとXMLのパスを特定するために使用)。

  • normalize_E -- bool: エネルギーをフェルミ準位で正規化するかどうか。デフォルトはTrue。

  • KPOINTS_inf -- dict or None: KPOINTS情報を含む辞書。指定されない場合、内部で読み込まれる。

  • ISPIN -- int or None: スピン偏極計算 (ISPIN=2) かどうか。Noneの場合、OUTCAR情報から取得。

  • IsHF -- bool or None: Hartree-Fock計算かどうか。Noneの場合、OUTCAR情報から取得。

  • IsMETAGGA -- bool or None: meta-GGA計算かどうか。Noneの場合、OUTCAR情報から取得。

  • EF -- float or None: フェルミエネルギー。Noneの場合、OUTCAR情報から取得。

  • NELECT -- int or None: 総電子数。Noneの場合、OUTCAR情報から取得。

  • cry -- tkCrystal or None: 結晶構造情報を持つ tkCrystal オブジェクト。

  • print_level -- int: 出力レベル。0で非表示、1以上で表示。デフォルトは1。

戻り値:

dict: バンド構造情報を含む辞書。

read_files(file, file_types, EF=None, normalize_E=True, unit='/cm3', data_for_bandedges=None, exit_by_error=False, print_level=0, terminate=<function terminate>)[ソース]

指定されたVASP計算ディレクトリ内の複数のVASP出力ファイルを一括で読み込みます。

INCAR, POSCAR, POTCAR, KPOINTS, CONTCAR, OUTCAR, EIGENVAL, DOSCAR, vasprun.xml などのファイルを 指定された file_types に応じて読み込みます。各ファイルの解析結果は、返される辞書に格納されます。 また、計算の役割(scf, band, relaxなど)も推測します。

パラメータ:
  • file -- str: VASP計算ディレクトリ内にあるファイルまたはディレクトリのパス。このパスから計算ディレクトリを特定します。

  • file_types -- list of str: 読み込むファイルの種類を指定する文字列のリスト(例: ['INCAR', 'OUTCAR', 'DOSCAR'])。

  • EF -- float or None: フェルミエネルギー。Noneの場合、OUTCAR情報から取得。

  • normalize_E -- bool: エネルギーをフェルミ準位で正規化するかどうか。デフォルトはTrue。

  • unit -- str: DOSの単位。'/cm3'を指定すると体積で割って正規化。デフォルトは'/cm3'。

  • data_for_bandedges -- Any: バンド端計算のための追加データ。現在は使用されていません。

  • exit_by_error -- bool: ファイル読み込みエラー時にプログラムを終了するかどうか。デフォルトはFalse。

  • print_level -- int: 出力レベル。0で非表示、1以上で表示。デフォルトは0。

  • terminate -- callable: エラー時に呼び出される終了関数。デフォルトはtklib.tkutils.terminate。

戻り値:

dict: 読み込まれたVASPファイルの情報を含む辞書。

read_incar_inf(incarpath, print_level=1)[ソース]

INCARファイルから情報を読み込みます。

INCARファイルの内容を解析し、VASP計算のパラメータ(SYSTEM、各種設定値など)を 辞書形式で抽出します。コメント行や空白は無視されます。

パラメータ:
  • incarpath -- str: INCARファイルへのパス。

  • print_level -- int: 出力レベル。0で非表示、1以上で表示。デフォルトは1。

戻り値:

dict or None: INCAR情報を含む辞書、またはファイルが見つからない場合はNone。

read_kpoints(KPOINTS_path, cry=None)[ソース]

KPOINTSファイルからK点情報を読み込みます。

KPOINTSファイルのモード(ラインモードかポイントモードか)を自動的に判別し、 それぞれに対応するパーサー (read_kpoints_linemode または read_kpoints_pointmode) を呼び出します。

パラメータ:
  • KPOINTS_path -- str: KPOINTSファイルへのパス。

  • cry -- tkCrystal or None: 結晶構造情報を持つ tkCrystal オブジェクト。K点距離計算に必要。

戻り値:

dict or None: K点情報を含む辞書、またはファイルが見つからない場合はNone。

read_kpoints_linemode(fp, inf, cry=None)[ソース]

KPOINTSファイル(ラインモード)からK点パス情報を読み込みます。

バンド計算などで使用されるラインモードのKPOINTSファイルを解析し、 K点の座標、重み、K点間の距離、パス上の累積距離などを抽出します。

パラメータ:
  • fp -- tklib.tkfile.tkFile: KPOINTSファイルのファイルポインタ。

  • inf -- dict: 情報を格納する辞書。

  • cry -- tkCrystal or None: 結晶構造情報を持つ tkCrystal オブジェクト。K点距離計算に必要。

戻り値:

dict: 更新されたK点パス情報を含む辞書。

read_kpoints_pointmode(fp, inf, cry=None)[ソース]

KPOINTSファイル(ポイントモード)からK点情報を読み込みます。

自己無撞着計算などで使用されるポイントモードのKPOINTSファイルを解析し、 K点の座標、重み、K点間の距離、パス上の累積距離などを抽出します。 特定のK点(重みが0のK点)は別途抽出されます。

パラメータ:
  • fp -- tklib.tkfile.tkFile: KPOINTSファイルのファイルポインタ。

  • inf -- dict: 情報を格納する辞書。

  • cry -- tkCrystal or None: 結晶構造情報を持つ tkCrystal オブジェクト。K点距離計算に必要。

戻り値:

dict: 更新されたK点情報を含む辞書。

read_n_crystalstructures(outcarpath)[ソース]

OUTCARファイルから収束した結晶構造の数を読み込みます。

OUTCARファイル内で「aborting loop because EDIFF is reached」という文字列が 出現する回数を数えることで、構造最適化の各ステップで収束した構造の数を特定します。

パラメータ:

outcarpath -- str: OUTCARファイルへのパス。

戻り値:

int: 収束した結晶構造の数。ファイルが見つからない場合は0。

read_next_crystalstructure(fp, template_cry, IsReduce01=False)[ソース]

OUTCARファイルから次の結晶構造と関連情報を読み込みます。

read_n_crystalstructures で取得される各構造最適化ステップの情報を順次読み取ります。 格子ベクトル、原子座標、原子にかかる力、総エネルギーなどを抽出し、tkCrystal オブジェクトを更新します。

パラメータ:
  • fp -- tklib.tkfile.tkFile: OUTCARファイルのファイルポインタ。

  • template_cry -- tkCrystal: テンプレートとなる tkCrystal オブジェクト(原子種情報などを含む)。

  • IsReduce01 -- bool: 原子座標を0-1の範囲に正規化するかどうか。デフォルトはFalse。

戻り値:

tuple: (dict, tkCrystal) または (None, None): 抽出された情報辞書と更新された tkCrystal オブジェクト、または次の構造が見つからない場合は(None, None)。

read_oszicar_inf(oszicarpath)[ソース]

OSZICARファイルから情報を読み込みます。

OSZICARファイルの内容を解析し、各イオンスステップにおける電子ステップ、 全エネルギー、自由エネルギーなどの収束情報を抽出します。

パラメータ:

oszicarpath -- str: OSZICARファイルへのパス。

戻り値:

dict or None: OSZICAR情報を含む辞書、またはファイルが見つからない場合はNone。

read_outcar_inf(outcarpath, print_level=1)[ソース]

OUTCARファイルから計算結果情報を読み込みます。

OUTCARファイルの内容を詳細に解析し、VASPの実行環境、INCARパラメータ、 フェルミエネルギー、平均コアポテンシャル、総エネルギー履歴、最終的な電荷、磁化、 誘電率、圧電係数、有効Born電荷、収束情報などを辞書形式で抽出します。

パラメータ:

outcarpath -- str: OUTCARファイルへのパス。

戻り値:

dict or None: OUTCAR情報を含む辞書、またはファイルが見つからない場合はNone。

read_poscar(poscarpath, is_print=None, print_level=1)[ソース]

POSCARファイルから tkCrystal オブジェクトを読み込みます。

read_poscar_inf メソッドを呼び出し、その結果から tkCrystal オブジェクトを返します。

パラメータ:
  • poscarpath -- str: POSCARファイルへのパス。

  • is_print -- bool or None: 結果を標準出力に表示するかどうか。Trueで表示、Falseで非表示。Noneの場合、`print_level`に従う。

  • print_level -- int: 出力レベル。0で非表示、1以上で表示。デフォルトは1。

戻り値:

tkCrystal or None: 構築された tkCrystal オブジェクト、またはファイルが見つからない場合はNone。

read_poscar_inf(poscarpath, is_print=None, print_level=1)[ソース]

POSCARファイルから結晶構造情報を読み込みます。

POSCARファイルの内容を解析し、格子定数、格子ベクトル、原子の種類と数、 原子サイトの座標などを抽出します。tkCrystal オブジェクトを構築し、 内部状態として保持します。POTCARファイルも参照して原子タイプを特定する場合があります。

パラメータ:
  • poscarpath -- str: POSCARファイルへのパス。

  • is_print -- bool or None: 結果を標準出力に表示するかどうか。Trueで表示、Falseで非表示。Noneの場合、`print_level`に従う。

  • print_level -- int: 出力レベル。0で非表示、1以上で表示。デフォルトは1。

戻り値:

dict or None: POSCAR情報を含む辞書、またはファイルが見つからない場合はNone。

read_potcar_inf(potcarpath, print_level=1)[ソース]

POTCARファイルから情報を読み込みます。

POTCARファイルの内容を解析し、各擬ポテンシャルに関する情報 (PP名、原子の種類、価電子数など)を辞書形式で抽出します。

パラメータ:
  • potcarpath -- str: POTCARファイルへのパス。

  • print_level -- int: 出力レベル。0で非表示、1以上で表示。デフォルトは1。

戻り値:

dict or None: POTCAR情報を含む辞書、またはファイルが見つからない場合はNone。

read_vasprun(VASPRUN_path, print_level=1)[ソース]

指定されたvasprun.xmlファイルを読み込み、その内容を辞書型で返します。

xmltodict ライブラリを使用して vasprun.xml を解析し、XML構造をPythonの辞書に変換します。 数値型や真偽値型のデータは適切な型に自動変換されます。

パラメータ:
  • VASPRUN_path -- str: vasprun.xmlファイルのパス。

  • print_level -- int: 出力レベル。0で非表示、1以上で表示。デフォルトは1。

戻り値:

dict or None: XMLファイルの内容を表す辞書。 ファイルが見つからない場合やパースエラーが発生した場合はNoneを返します。