H1s_HF_LDA プログラム仕様

H-like 1s軌道エネルギーレベル計算モジュール

概要: このモジュールは、H-like 1s軌道のエネルギーレベルを計算するために、1s動径関数とスレーターのX-αポテンシャルを使用します。 ハートリー・フォック・スレーター(HFS)法の基本的な概念に基づき、電子間の相互作用を交換ポテンシャルで近似して扱います。 動径関数の指数係数kaや電子数Neなどを変分法で最適化し、全エネルギーを最小化する計算も可能です。

関連リンク: H1s-HF-LDA_usage

jsap_crystal.H1s_HF_LDA.Rr(ka, Z, n, l, m, r)[ソース]

概要: H-like 1s軌道の動径関数 R_nl(r) を計算します。

詳細説明: この関数は、水素様原子の1s軌道に対する動径関数を計算します。 正規化因子 R1s0 を使用し、指数係数 ka と原子番号 Z に依存します。 正規化条件は integ(4pi*r*r*Rr(r)*Rr(r))[r=0, inf] = 1 です。

パラメータ:
  • ka (float) -- 動径関数の指数部分の係数。

  • Z (float) -- 原子番号。

  • n (int) -- 主量子数 (1s軌道なので常に1)。

  • l (int) -- 方位量子数 (1s軌道なので常に0)。

  • m (int) -- 磁気量子数 (1s軌道なので常に0)。

  • r (float) -- 核からの距離。

戻り値:

指定された距離におけるH-like 1s軌道の動径関数の値。

戻り値の型:

float

jsap_crystal.H1s_HF_LDA.build_Qr(ka, Z, n, l, m)[ソース]

概要: 距離r内側の総電荷分布 Q(r) の補間関数を構築します。

詳細説明: r`の各点に対して `Rr(r)rho(r) を計算し、 4pi * r*r * rho(r) を0から r まで積分することで Q(r) を求めます。 求めた Q(r) のデータポイント yQr を使用して、 scipy.interpolate.interp1d により三次スプライン補間関数 qfunc を構築し、 calQ 関数で利用できるようにします。

パラメータ:
  • ka (float) -- 動径関数の指数部分の係数。

  • Z (float) -- 原子番号。

  • n (int) -- 主量子数 (1s軌道なので常に1)。

  • l (int) -- 方位量子数 (1s軌道なので常に0)。

  • m (int) -- 磁気量子数 (1s軌道なので常に0)。

戻り値:

なし。グローバル変数`yRr`, yQr, `qfunc`を更新します。

戻り値の型:

None

jsap_crystal.H1s_HF_LDA.calLocalUXa(r, ka, Z, n, l, m, Ne)[ソース]

概要: スレーターのX-α交換ポテンシャル (局所形式) を計算します。

詳細説明: 距離rにおけるスレーターのX-α交換ポテンシャルの局所形式 -3.0 * alpha * (3/(4pi) * ρ(r))^(1/3) を計算します。

パラメータ:
  • r (float) -- 核からの距離。

  • ka (float) -- 動径関数の指数部分の係数。

  • Z (float) -- 原子番号。

  • n (int) -- 主量子数。

  • l (int) -- 方位量子数。

  • m (int) -- 磁気量子数。

  • Ne (float) -- 電子数 (この関数では直接使用されないが引数として存在)。

戻り値:

距離rにおけるX-α交換ポテンシャルの値。

戻り値の型:

float

jsap_crystal.H1s_HF_LDA.calOptimizedTotalEnergy(ka, Z, n, l, m, Ne, Rmin, Rmax, nmaxdiv, eps)[ソース]

概要: 変分法を用いて全エネルギーを最小化するka値を探索し、そのときの全エネルギーと各エネルギー成分を計算します。

詳細説明: scipy.optimize.minimize 関数を使用して、動径関数の指数係数 ka を変分パラメータとして、 calTotalEnergyOnly で計算される全エネルギーを最小化します。 指定された最適化手法 (method) とパラメータ (tol, maxiter) に基づいて探索を行い、 最小化された ka とそのときの各エネルギー成分、および全エネルギーを返します。

パラメータ:
  • ka (float) -- 最適化の初期値となる動径関数の指数部分の係数。

  • Z (float) -- 原子番号。

  • n (int) -- 主量子数。

  • l (int) -- 方位量子数。

  • m (int) -- 磁気量子数。

  • Ne (float) -- 電子数。

  • Rmin (float) -- 積分範囲の最小半径。

  • Rmax (float) -- 積分範囲の最大半径(上限)。

  • nmaxdiv (int) -- scipy.integrate.quad の最大サブインターバル数。

  • eps (float) -- scipy.integrate.quad の相対許容誤差。

戻り値:

[運動エネルギーT, 核電子引力エネルギーUeZ, 電子間反発エネルギーUee, X-α交換エネルギーUXa, 最小化された全エネルギーEtot, 最適化されたka値]

戻り値の型:

tuple of (float, float, float, float, float, float)

jsap_crystal.H1s_HF_LDA.calQ(R)[ソース]

概要: 核からの距離Rの内側に存在する総電荷 (Q(R)) を計算します。

詳細説明: 0からRまでの範囲で電子密度 ρ(r) を積分することにより、 距離Rの内側の電子が形成する電荷を求めます。 この関数は build_Qr で構築された補間関数 qfunc を使用します。 `qfunc`が未構築の場合や、指定されたRが有効範囲外の場合はエラー処理または0を返します。

パラメータ:

R (float) -- 核からの距離。

戻り値:

距離Rの内側に存在する総電荷。

戻り値の型:

float

jsap_crystal.H1s_HF_LDA.calT(ka, Z, n, l, m, Ne, Rmin, Rmax, nmaxdiv, eps)[ソース]

概要: 電子系の運動エネルギーを計算します。

詳細説明: シュレーディンガー方程式の運動エネルギー演算子 (-1/2)∇^2 に基づいて、 H-like 1s軌道の電子の運動エネルギーを数値積分によって計算します。 積分の範囲は Rmin から Rmaxint (実質的には∞) です。

パラメータ:
  • ka (float) -- 動径関数の指数部分の係数。

  • Z (float) -- 原子番号。

  • n (int) -- 主量子数。

  • l (int) -- 方位量子数。

  • m (int) -- 磁気量子数。

  • Ne (float) -- 電子数。

  • Rmin (float) -- 積分範囲の最小半径。

  • Rmax (float) -- 積分範囲の最大半径(上限)。

  • nmaxdiv (int) -- scipy.integrate.quad の最大サブインターバル数。

  • eps (float) -- scipy.integrate.quad の相対許容誤差。

戻り値:

[運動エネルギー, 積分の絶対誤差]

戻り値の型:

tuple of (float, float)

jsap_crystal.H1s_HF_LDA.calTanal(Z=1.0, ka=1.0)[ソース]

概要: H様原子の動径関数における運動エネルギーの解析解を計算します。

詳細説明: この関数は、原子番号Zと指数係数kaを持つH様原子の1s軌道に対する運動エネルギーの 解析的な近似値をハートリー単位で計算します。 T = (ka*Z)^2 / 2 という関係に基づいています。

パラメータ:
  • Z (float, optional) -- 原子番号。デフォルトは1.0。

  • ka (float, optional) -- 動径関数の指数部分の係数。デフォルトは1.0。

戻り値:

運動エネルギーの解析解 (ハートリー単位)。

戻り値の型:

float

jsap_crystal.H1s_HF_LDA.calTotalEnergy(ka, Z, n, l, m, Ne, Rmin, Rmax, nmaxdiv, eps)[ソース]

概要: H-like 1s軌道の全エネルギーを計算します。

詳細説明: 運動エネルギー (T)、核電子引力エネルギー (UeZ)、電子間反発エネルギー (Uee)、 およびX-α交換エネルギー (UXa) の各項を計算し、それらを合計して全エネルギーを求めます。 build_Qr を呼び出して Q(r) 分布を事前に構築します。

パラメータ:
  • ka (float) -- 動径関数の指数部分の係数。

  • Z (float) -- 原子番号。

  • n (int) -- 主量子数。

  • l (int) -- 方位量子数。

  • m (int) -- 磁気量子数。

  • Ne (float) -- 電子数。

  • Rmin (float) -- 積分範囲の最小半径。

  • Rmax (float) -- 積分範囲の最大半径(上限)。

  • nmaxdiv (int) -- scipy.integrate.quad の最大サブインターバル数。

  • eps (float) -- scipy.integrate.quad の相対許容誤差。

戻り値:

[運動エネルギーT, 核電子引力エネルギーUeZ, 電子間反発エネルギーUee, X-α交換エネルギーUXa, 全エネルギーEtot]

戻り値の型:

tuple of (float, float, float, float, float)

jsap_crystal.H1s_HF_LDA.calTotalEnergyOnly(kav, Z, n, l, m, Ne, Rmin, Rmax, nmaxdiv, eps)[ソース]

概要: 変分計算のために、特定のka値におけるH-like 1s軌道の全エネルギーを計算します。

詳細説明: この関数は calTotalEnergy と同様に全エネルギーを計算しますが、 最適化ルーチン (minimize) から呼び出されることを想定し、 引数として与えられた kav を使用し、最終的な全エネルギー値のみを返します。 また、電子間反発エネルギー (Uee) とX-α交換エネルギー (UXa) の計算モードは 常に全エネルギー計算 ('e'モード) として扱われます。

パラメータ:
  • kav (float) -- 変分パラメータとして使用される動径関数の指数部分の係数。

  • Z (float) -- 原子番号。

  • n (int) -- 主量子数。

  • l (int) -- 方位量子数。

  • m (int) -- 磁気量子数。

  • Ne (float) -- 電子数。

  • Rmin (float) -- 積分範囲の最小半径。

  • Rmax (float) -- 積分範囲の最大半径(上限)。

  • nmaxdiv (int) -- scipy.integrate.quad の最大サブインターバル数。

  • eps (float) -- scipy.integrate.quad の相対許容誤差。

戻り値:

計算された全エネルギー。

戻り値の型:

float

jsap_crystal.H1s_HF_LDA.calUXa(mode, ka, Z, n, l, m, Ne, Rmin, Rmax, nmaxdiv, eps)[ソース]

概要: X-α交換エネルギーを計算します。

詳細説明: スレーターのX-α交換ポテンシャル calLocalUXa(r) と電子密度 rho(r) の積を 全空間で積分することにより、X-α交換エネルギーを計算します。 mode に 'e' が含まれる場合、全エネルギー計算モードとして Ne^(4/3) 倍、 それ以外の場合は Ne^(1/3) 倍します。

パラメータ:
  • mode (str) -- 現在の実行モードを示す文字列('e'が含まれるかでスケールが変わる)。

  • ka (float) -- 動径関数の指数部分の係数。

  • Z (float) -- 原子番号。

  • n (int) -- 主量子数。

  • l (int) -- 方位量子数。

  • m (int) -- 磁気量子数。

  • Ne (float) -- 電子数。

  • Rmin (float) -- 積分範囲の最小半径。

  • Rmax (float) -- 積分範囲の最大半径(上限)。

  • nmaxdiv (int) -- scipy.integrate.quad の最大サブインターバル数。

  • eps (float) -- scipy.integrate.quad の相対許容誤差。

戻り値:

[X-α交換エネルギー, 積分の絶対誤差]

戻り値の型:

tuple of (float, float)

jsap_crystal.H1s_HF_LDA.calUZ(r, Z)[ソース]

概要: 核電荷Zによって生成される静電ポテンシャル U_Z(r) を計算します。

詳細説明: 点電荷としての核が距離rに生成するクーロンポテンシャル -Z/r を計算します。 `r`が非常に小さい場合 (`1.0e-3`より小さい場合) は、数値的な安定性のために `-Z/1.0e-3`を返します。

パラメータ:
  • r (float) -- 核からの距離。

  • Z (float) -- 原子番号 (核電荷)。

戻り値:

核電荷Zによって生成される静電ポテンシャル。

戻り値の型:

float

jsap_crystal.H1s_HF_LDA.calUanal(Z=1.0, ka=1.0)[ソース]

概要: H様原子の動径関数における核電子相互作用ポテンシャルエネルギーの解析解を計算します。

詳細説明: この関数は、原子番号Zと指数係数kaを持つH様原子の1s軌道に対する 核と電子の間のポテンシャルエネルギーの解析的な近似値をハートリー単位で計算します。 U = -(ka*Z)^2 という関係に基づいています。

パラメータ:
  • Z (float, optional) -- 原子番号。デフォルトは1.0。

  • ka (float, optional) -- 動径関数の指数部分の係数。デフォルトは1.0。

戻り値:

核電子相互作用ポテンシャルエネルギーの解析解 (ハートリー単位)。

戻り値の型:

float

jsap_crystal.H1s_HF_LDA.calUeZ(ka, Z, n, l, m, Ne, Rmin, Rmax, nmaxdiv, eps)[ソース]

概要: 電子と原子核間の引力ポテンシャルエネルギー U_eZ を計算します。

詳細説明: 電子密度 ρ(r) と核電荷 Z の間のクーロン引力によるポテンシャルエネルギーを 数値積分によって計算します。積分は Rmin から Rmaxint (実質的には∞) です。

パラメータ:
  • ka (float) -- 動径関数の指数部分の係数。

  • Z (float) -- 原子番号。

  • n (int) -- 主量子数。

  • l (int) -- 方位量子数。

  • m (int) -- 磁気量子数。

  • Ne (float) -- 電子数。

  • Rmin (float) -- 積分範囲の最小半径。

  • Rmax (float) -- 積分範囲の最大半径(上限)。

  • nmaxdiv (int) -- scipy.integrate.quad の最大サブインターバル数。

  • eps (float) -- scipy.integrate.quad の相対許容誤差。

戻り値:

[電子と原子核間の引力ポテンシャルエネルギー, 積分の絶対誤差]

戻り値の型:

tuple of (float, float)

jsap_crystal.H1s_HF_LDA.calUee(mode, ka, Z, n, l, m, Ne, Rmin, Rmax, nmaxdiv, eps)[ソース]

概要: 電子間のクーロン反発ポテンシャルエネルギー U_ee を計算します。

詳細説明: 電子密度 ρ(r) によって生成される静電ポテンシャル U_rho(r) と ρ(r) の積を 全空間で積分することにより、電子間のクーロン反発エネルギーを計算します。 mode に 'e' が含まれる場合、全エネルギー計算モードとして Ne*Ne 倍、 それ以外の場合は Ne 倍します。

パラメータ:
  • mode (str) -- 現在の実行モードを示す文字列('e'が含まれるかでスケールが変わる)。

  • ka (float) -- 動径関数の指数部分の係数。

  • Z (float) -- 原子番号。

  • n (int) -- 主量子数。

  • l (int) -- 方位量子数。

  • m (int) -- 磁気量子数。

  • Ne (float) -- 電子数。

  • Rmin (float) -- 積分範囲の最小半径。

  • Rmax (float) -- 積分範囲の最大半径(上限)。

  • nmaxdiv (int) -- scipy.integrate.quad の最大サブインターバル数。

  • eps (float) -- scipy.integrate.quad の相対許容誤差。

戻り値:

[電子間のクーロン反発ポテンシャルエネルギー, 積分の絶対誤差]

戻り値の型:

tuple of (float, float)

jsap_crystal.H1s_HF_LDA.calUrho(r, ka, Z, n, l, m)[ソース]

概要: 電子密度 ρ(r) によって距離rに形成される静電ポテンシャル U_ee(r) を計算します。

詳細説明: 電子密度 ρ(r) が自身によって生成するポテンシャルを計算します。 これは以下の2つの部分から構成されます。 1. 距離rの内側にある電荷 Q(r) によるポテンシャル (Q(r)/r)。 2. 距離rの外側にある電荷が距離rに生成するポテンシャル (4pi * ∫rm * ρ(rm) drm, rから∞)。

パラメータ:
  • r (float) -- 核からの距離。

  • ka (float) -- 動径関数の指数部分の係数。

  • Z (float) -- 原子番号。

  • n (int) -- 主量子数。

  • l (int) -- 方位量子数。

  • m (int) -- 磁気量子数。

戻り値:

電子密度 ρ(r) によって距離rに形成される静電ポテンシャル。

戻り値の型:

float

jsap_crystal.H1s_HF_LDA.callback(xk)[ソース]

概要: 最適化の各イテレーションで呼び出され、進行状況を表示します。

詳細説明: scipy.optimize.minimize 関数の callback オプションとして使用されます。 各イテレーションで現在のパラメータ xk (ここでは ka) と それに対応する全エネルギー Etot を表示します。

パラメータ:

xk (numpy.ndarray) -- 現在のイテレーションでの最適化変数の値 (ここでは ka の配列)。

戻り値:

なし

戻り値の型:

None

jsap_crystal.H1s_HF_LDA.debug(Eanal)[ソース]

概要: デバッグモードで、H-like 1s軌道の計算結果と関連するグラフを表示します。

詳細説明: 現在のパラメータ (ka, Z, Ne など) における運動エネルギー、核電子引力エネルギー、 電子間反発エネルギー、X-α交換エネルギー、および全エネルギーを計算し、表形式で出力します。 'v' モードが有効な場合は、ka を最適化した結果も表示します。 また、'g' モードが有効な場合は、動径関数 Rr(r)、電荷分布 Q(r)、および各種ポテンシャル (U(Z), U(Z-rho), U(rho), U(Xa)) のグラフをプロットします。

パラメータ:

Eanal (float) -- 比較のための解析解エネルギー値。

戻り値:

なし

戻り値の型:

None

jsap_crystal.H1s_HF_LDA.diff1(ai)[ソース]

概要: 1変数関数の勾配 (1次導関数) を中心差分法で近似します。

詳細説明: scipy.optimize.minimize の勾配情報が必要なメソッド (cg`など) のために、 パラメータ `ai (ここでは ka) の微小変化 h_diff を用いて、 calTotalEnergyOnly 関数に対する1次導関数を数値的に計算します。

パラメータ:

ai (numpy.ndarray) -- 最適化される変数の現在の値 (ここでは ka の配列)。

戻り値:

各変数に対する1次導関数の配列。

戻り値の型:

numpy.ndarray

jsap_crystal.H1s_HF_LDA.getarg(position, defval=None)[ソース]

概要: コマンドライン引数を安全に取得します。

詳細説明: sys.argvリストから指定された位置の引数を取得します。 指定された位置が存在しない場合、エラーを発生させずにデフォルト値を返します。

パラメータ:
  • position (int) -- 取得する引数のsys.argv内でのインデックス。

  • defval (any, optional) -- 引数が存在しない場合に返すデフォルト値。デフォルトはNone。

戻り値:

指定された位置の引数、または引数が存在しない場合はdefval。

戻り値の型:

str or any

jsap_crystal.H1s_HF_LDA.getfloatarg(position, defval=None)[ソース]

概要: コマンドライン引数を浮動小数点数として安全に取得します。

詳細説明: 指定された位置のコマンドライン引数を取得し、pfloat()関数を使用して浮動小数点数に変換します。 引数が存在しない場合や変換に失敗した場合、エラーを発生させずにデフォルト値を返します。

パラメータ:
  • position (int) -- 取得する引数のsys.argv内でのインデックス。

  • defval (float or None, optional) -- 引数が存在しない場合や変換に失敗した場合に返すデフォルト値。デフォルトはNone。

戻り値:

変換された浮動小数点数、または失敗した場合はdefval。

戻り値の型:

float or None

jsap_crystal.H1s_HF_LDA.getintarg(position, defval=None)[ソース]

概要: コマンドライン引数を整数として安全に取得します。

詳細説明: 指定された位置のコマンドライン引数を取得し、pint()関数を使用して整数に変換します。 引数が存在しない場合や変換に失敗した場合、エラーを発生させずにデフォルト値を返します。

パラメータ:
  • position (int) -- 取得する引数のsys.argv内でのインデックス。

  • defval (int or None, optional) -- 引数が存在しない場合や変換に失敗した場合に返すデフォルト値。デフォルトはNone。

戻り値:

変換された整数、または失敗した場合はdefval。

戻り値の型:

int or None

jsap_crystal.H1s_HF_LDA.integrate3DR(func, rmin, rmax, limit=15, epsrel=1e-08)[ソース]

概要: 3次元空間における動径方向の積分 (4πr^2 func(r) dr) を行います。

詳細説明: scipy.integrate.quad を使用して、球座標における体積要素 4pi * r*r を考慮した 動径方向の積分を実行します。

パラメータ:
  • func (callable) -- 積分する動径関数。引数を一つ取る関数を想定。

  • rmin (float) -- 積分範囲の下限。

  • rmax (float) -- 積分範囲の上限。

  • limit (int, optional) -- quad関数の最大サブインターバル数。デフォルトは15。

  • epsrel (float, optional) -- quad関数の相対許容誤差。デフォルトは1.0e-8。

戻り値:

[積分の結果, 積分の絶対誤差]

戻り値の型:

tuple of (float, float)

jsap_crystal.H1s_HF_LDA.integrate_trapezoidal(func, E0, E1, h)[ソース]

概要: 台形公式を用いて数値積分を行います。

詳細説明: 指定された関数 funcE0 から E1 までの範囲で、 ステップサイズ h を用いて台形公式で数値積分します。 この関数は現在使用されていませんが、将来的な高速化のために残されています。

パラメータ:
  • func (callable) -- 積分する関数。引数を一つ取る関数を想定。

  • E0 (float) -- 積分範囲の下限。

  • E1 (float) -- 積分範囲の上限。

  • h (float) -- 積分ステップサイズ。

戻り値:

[積分の結果, エラー値 (ここでは常に-1.0)]

戻り値の型:

list of float

jsap_crystal.H1s_HF_LDA.main()[ソース]

概要: プログラムのメインエントリポイントです。

詳細説明: コマンドライン引数を解析し、グローバル変数を更新します。 水素様原子の解析解エネルギーを計算した後、 指定されたモードに基づいて異なる計算(デバッグ、ka掃引、Ne掃引)を実行します。 最後に、動径関数の正規化チェックも行います。

戻り値:

なし

戻り値の型:

None

jsap_crystal.H1s_HF_LDA.pfloat(str)[ソース]

概要: 文字列を浮動小数点数に安全に変換します。

詳細説明: 標準のfloat()関数と異なり、変換に失敗した場合でもエラーを発生させずにNoneを返します。 これにより、不正な入力があってもプログラムが中断されるのを防ぎます。

パラメータ:

str (str) -- 変換する文字列。

戻り値:

変換された浮動小数点数、または変換に失敗した場合はNone。

戻り値の型:

float or None

jsap_crystal.H1s_HF_LDA.pint(str)[ソース]

概要: 文字列を整数に安全に変換します。

詳細説明: 標準のint()関数と異なり、変換に失敗した場合でもエラーを発生させずにNoneを返します。 これにより、不正な入力があってもプログラムが中断されるのを防ぎます。

パラメータ:

str (str) -- 変換する文字列。

戻り値:

変換された整数、または変換に失敗した場合はNone。

戻り値の型:

int or None

jsap_crystal.H1s_HF_LDA.rho(ka, Z, n, l, m, r)[ソース]

概要: H-like 1s軌道の電子密度関数 ρ(r) を計算します。

詳細説明: 動径関数 Rr(r) の二乗として電子密度を計算します。 ρ(r) = |Rr(r)|^2 です。

パラメータ:
  • ka (float) -- 動径関数の指数部分の係数。

  • Z (float) -- 原子番号。

  • n (int) -- 主量子数 (1s軌道なので常に1)。

  • l (int) -- 方位量子数 (1s軌道なので常に0)。

  • m (int) -- 磁気量子数 (1s軌道なので常に0)。

  • r (float) -- 核からの距離。

戻り値:

指定された距離における電子密度 ρ(r) の値。

戻り値の型:

float

jsap_crystal.H1s_HF_LDA.sweep_Ne(Eanal)[ソース]

概要: 電子数Neを掃引し、非最適化および最適化された全エネルギーの変化を評価・プロットします。

詳細説明: Nearray に定義された様々な電子数Neに対して、固定された ka での全エネルギー、 および変分法で ka を最適化した上での全エネルギーを計算します。 また、Ne=0.5付近での放物線近似も行い、結果を表形式で出力し、グラフとしてプロットします。 特に 'v' モードが有効な場合、ka の最適化も行います。

パラメータ:

Eanal (float) -- 比較のための解析解エネルギー値。

戻り値:

なし

戻り値の型:

None

jsap_crystal.H1s_HF_LDA.sweep_ka(Eanal)[ソース]

概要: 動径関数の指数係数kaを掃引し、全エネルギーの変化を評価・プロットします。

詳細説明: kaarray に定義された様々な ka の値に対して、 H-like 1s軌道の全エネルギーとその各成分を計算します。 結果を表形式で出力し、'g' モードが有効な場合はグラフとしてプロットします。

パラメータ:

Eanal (float) -- 比較のための解析解エネルギー値。

戻り値:

なし

戻り値の型:

None

jsap_crystal.H1s_HF_LDA.terminate(message=None)[ソース]

概要: メッセージを表示し、プログラムを終了します。

詳細説明: オプションで終了メッセージを表示し、usage()関数を呼び出して使用方法を提示した後、 プログラムを終了します。

パラメータ:

message (str, optional) -- 終了時に表示するメッセージ。デフォルトはNone。

戻り値:

なし (プログラムが終了するため)

戻り値の型:

None

jsap_crystal.H1s_HF_LDA.updatevars()[ソース]

概要: コマンドライン引数に基づいてグローバル変数を更新します。

詳細説明: sys.argvからプログラム起動時の引数を取得し、mode, ELabel, ka, Z, Ne などのグローバル変数を更新します。これにより、ユーザーはコマンドラインから計算パラメータを 指定できます。`ELabel`は`mode`に'e'が含まれるかどうかに応じて設定されます。

戻り値:

なし

戻り値の型:

None

jsap_crystal.H1s_HF_LDA.usage(ka=1.0, Z=1.0, n=1, l=0, m=0)[ソース]

概要: プログラムの使用方法を表示します。

詳細説明: コマンドライン引数の構文と利用可能なモードオプションをユーザーに示します。 デフォルト値のka, Z, n, l, mは現在のグローバル変数から取得されますが、 直接引数として渡すことも可能です。

パラメータ:
  • ka (float, optional) -- 1s動径関数の指数部の係数。デフォルトはグローバル変数ka。

  • Z (float, optional) -- 原子番号。デフォルトはグローバル変数Z。

  • n (int, optional) -- 主量子数。デフォルトはグローバル変数n。

  • l (int, optional) -- 方位量子数。デフォルトはグローバル変数l。

  • m (int, optional) -- 磁気量子数。デフォルトはグローバル変数m。

戻り値:

なし

戻り値の型:

None