Last-modified:2018/03/29 22:56:09.
CHGCAR に対する解析、操作を行います。
2つの CHGCAR の差電子密度を新たに CHGCAR 形式で標準出力に出力する。
chgcar diff CHGCAR.1 CHGCAR.2
CHGCAR の冒頭にある POSCAR 的な情報は、最初の引数で指定した CHGCAR のものを用いて、 2つめの CHGCAR の情報は無視する。
2つの CHGCAR が両方とも ISPIN=1 で計算されたものならば、 1つの スピン情報として引き算したものを出力する。 どちらか一方が ISPIN=2 で計算されたものならば、 ISPIN=1 で計算されたもののスピン情報を up spin と down スピン が同じデータであるものとして複製し、 ISPIN=2 の結果と同じ形式で出力する。
Augumentation Occupancy については、 第一引数の CHGCAR (CHGCAR.1) のものを保持する。 このようにした理由は以下。
ab 平面などで切った断面で電子密度の2次元データを書き出す。
chgcar cross --ab
chgcar cross --bc --layer=1
chgcar cross --ca --layer=2
–layer オプションの引数は、原点を含む平面を 0 として数えた平面の番号で、デフォルト値は 0。 ab, bc, ca 平面以外の任意の平面は今のところ対応していない。
chgcar cross --ab --gnuplot
gnuplot で3次元プロットをする場合、行最後と列最後のデータが無視される。 これに対応して、–gnuplot オプションを付けると、 各行末尾と最後の行の下に 0.0 を追加する。
ISPIN=2 で計算した CHGCAR には up, down の2つのスピン状態の電子密度が記録されている。 chgcar cross は、それぞれのスピンのデータを、 空白2行区切りで出力する。
CHGCAR の情報を出力します。 以下のような感じで出力されます。
% chgcar analyze CHGCAR.spin1
Fe O
2 2
charge_mesh: 2, 2, 2
spin: 1
charge_density_meshes
max: 80.000000, min: 1.000000
augmentation_occupancies_meshes
max: 8.359924, min: -0.045644
スピンが2つある場合は、
% chgcar analyze CHGCAR.spin2
Fe O
2 2
charge_mesh: 2, 2, 2
spin: 1
charge_density_meshes
max: 11.774747, min: 6.312682
augmentation_occupancies_meshes
max: 8.359924, min: -0.045644
spin: 2
charge_density_meshes
max: 0.937321, min: 0.105354
augmentation_occupancies_meshes
max: 8.359924, min: -0.456439