crystal_MP_Ewald プログラム仕様
エワルド法を用いて結晶のマデルングポテンシャルを計算するスクリプトです。
- 概要:
このスクリプトは、指定された結晶の格子パラメータとサイト情報に基づき、 エワルド法を適用してマデルングポテンシャルを計算します。 実空間和、逆空間和、および自己項の3つの成分を合計して、最終的なポテンシャルを求めます。
- 詳細説明:
プログラムは以下の手順でマデルングポテンシャルを計算します。 1. 初期化された格子パラメータとサイト情報(原子の種類、電荷、位置など)を使用します。 2. コマンドライン引数からエワルドパラメータ alpha と計算精度 prec を受け取ることができます。 3. 格子ベクトル、逆格子ベクトル、体積、および関連するメトリックテンソルを計算し表示します。 4. エワルドパラメータに基づき、実空間および逆空間の計算範囲(rdmax, G2max)を決定します。 5. 選択された中心サイトに対する実空間和 (UC1) を計算します。この項は実空間でのクーロン相互作用を表します。 6. 逆空間和 (UC2) を計算します。この項は逆格子空間でのクーロン相互作用を表し、高速フーリエ変換に似た形式です。 7. 自己相互作用項 (UC3) を計算します。これは原子自身の電場による自己エネルギーを補正する項です。 8. これら3つの項を合計し、マデルングポテンシャルおよびマデルング定数をJouleとeV単位で出力します。 9. 計算にかかった時間も合わせて表示されます。
- 関連リンク:
crystal_MP_Ewald_usage このスクリプトは tkcrystalbase.py モジュールに定義された関数を使用します。
- crystal.crystal_MP_Ewald.main()[ソース]
エワルド法によりマデルングポテンシャルを計算し、結果を表示します。
- 概要:
格子パラメータとサイト情報に基づき、エワルド法を用いて結晶のマデルングポテンシャルを計算し、 その結果を標準出力に表示します。
- 詳細説明:
この関数は以下の処理を実行します。 1. 設定された格子パラメータから格子ベクトル、メトリックテンソル、単位胞の体積を計算し表示します。 2. 逆格子パラメータ、逆格子ベクトル、逆格子メトリックテンソル、逆格子単位胞の体積を計算し表示します。 3. コマンドライン引数またはデフォルトで設定されたエワルドパラメータ ew_alpha と計算精度 prec を表示します。 4. これらのパラメータに基づき、実空間和と逆空間和の計算範囲 (rdmax, G2max) を決定し、対応する最大繰返し回数を推定します。 5. 実空間和 (UC1) の計算を実行します。これは各サイト間のクーロン相互作用の合計です。 6. 逆空間和 (UC2) の計算を実行します。これは逆格子空間における電荷分布のフーリエ成分の相互作用の合計です。 7. 自己相互作用項 (UC3) を計算します。これはエワルド法における自己エネルギー補正項です。 8. 各項の計算にかかった時間を表示します。 9. 計算された3つの項を合計し、最終的なマデルングポテンシャルをJoule単位とeV単位で表示します。 10. 選択された中心サイトの電荷と単位胞の格子定数 a を用いて、マデルング定数を計算し表示します。