参照セルの原点

参考文献[98]の式(17)を見ると、再ラベリングには $R$ から $R+r_{0}(M)$$M$から $m'(M)$の2つのマッピングルールが必要となっていることが分かります。 ここで、$R$$r_{0}(M)$ はスーパーセルと参照セルの格子ベクトルであり、 $M$$m'(M)$ は原子軌道のインデックスです。 $M$ から $m'(M)$ の再ラベリングについては、すでに「Unfolding.Map」にてマッピングルールを定義しています。 この節では、$R$ から $R+r_{0}(M)$ の再ラベリングをどの様に行うかを説明します。 $R$ から $R+r_{0}(M)$ の再ラベリングは、実空間の原子座標に対して参照セルがどのように配置しているかに 依存しており、これは参照セルの原点の取り方に依存しているとも考えることができます。 一方、$M$ から $m'(M)$ の再ラベリングのマッピングルールは多くの場合に変わらないため、 アンフォールディングの重みは参照セルの原点の取り方には敏感ではありません。 ただし、表面や大きく歪んだ系などにおいては原点の取り方によってマッピングルールが 変化する場合がありますので注意が必要です。 OpenMXのデフォルトでは、以下の2つのルールに基づいて原点を推定します。 1つ目のルールは、「Unfolding.Map」にて同じ識別番号を付与された原子を各参照セルに可能な限り1つだけ 割り当てられるように原点を選択するというものです。 大きく歪んだ構造では、同一の識別番号でラベルされた原子を各参照セルに多重に割り当ててしまうことが 起こりうるため、OpenMXの実装ではこのような状況を自動的に回避するような工夫がされています。 2つ目のルールは、再ラベリングによって割り当てられた原子の数がゼロではない参照セルの総数を 最小にするよう原点を決定するというものです。 スーパーセル法で表現される表面系ではスラブ間に真空領域を有するので、割り当てられた原子数が ゼロではない参照セルの総数が、原点の取り方によって変化する可能性があります。 OpenMXの実装では自動的に割り当て原子数がゼロではない参照セルの総数を最小にするよう工夫されています。 これら2つのルールによって、多くのユーザーの要件を満たすことができますが、原点を自ら管理したい場合もあります。 この目的のために、以下のキーワードが利用可能です。
  <Unfolding.ReferenceOrigin
  0.1 0.2 0.3
  Unfolding.ReferenceOrigin>
これらには「Atoms.UnitVectors.Unit」にて定義した単位を用います。



2017-03-07