ase:jacapo:pdos
差分
このページの2つのバージョン間の差分を表示します。
次のリビジョン | 前のリビジョン | ||
ase:jacapo:pdos [2019/05/24 16:41] – 作成 kimi | ase:jacapo:pdos [2022/08/23 13:34] (現在) – 外部編集 127.0.0.1 | ||
---|---|---|---|
行 1: | 行 1: | ||
====== Projected DOS related method ====== | ====== Projected DOS related method ====== | ||
+ | ===== Atom-projected DOS ===== | ||
+ | < | ||
+ | get_ados(self, | ||
+ | attempt at maintaining backward compatibility with get_ados | ||
+ | returning data | ||
+ | |||
+ | Now when we call calc.get_ados() it will return settings, | ||
+ | |||
+ | get_ados_data(self, | ||
+ | get atom projected data | ||
+ | |||
+ | : | ||
+ | |||
+ | atoms | ||
+ | list of atom indices (integers) | ||
+ | |||
+ | orbitals | ||
+ | list of strings | ||
+ | [' | ||
+ | [' | ||
+ | [' | ||
+ | |||
+ | cutoff : string | ||
+ | cutoff radius you want the results for ' | ||
+ | |||
+ | spin | ||
+ | : list of integers | ||
+ | spin you want the results for [0] or [1] or [0,1] for both | ||
+ | |||
+ | returns (egrid, ados) | ||
+ | egrid has the fermi level at 0 eV | ||
+ | |||
+ | |||
+ | |||
+ | |||
+ | </ | ||
+ | |||
+ | < | ||
+ | set_ados(self, | ||
+ | setup calculation of atom-projected density of states | ||
+ | |||
+ | : | ||
+ | |||
+ | energywindow : (float, float) | ||
+ | sets (emin,emax) in eV referenced to the Fermi level | ||
+ | |||
+ | energywidth : float | ||
+ | the gaussian used in smearing | ||
+ | |||
+ | npoints : integer | ||
+ | the number of points to sample the DOS at | ||
+ | |||
+ | cutoff : float | ||
+ | the cutoff radius in angstroms for the integration. | ||
+ | </ | ||
+ | ===== Multicentered projected dos ===== | ||
+ | |||
+ | < | ||
+ | get_mdos(self) | ||
+ | return multicentered projected dos parameters | ||
+ | |||
+ | get_mdos_data(self, | ||
+ | returns data from multicentered projection | ||
+ | |||
+ | |||
+ | returns (mdos, rotmat) | ||
+ | |||
+ | the rotation matrices are retrieved from the text file. I am | ||
+ | not sure what you would do with these, but there was a note | ||
+ | about them in the old documentation so I put the code to | ||
+ | retrieve them here. the syntax for the return value is: | ||
+ | rotmat[atom# | ||
+ | center on the atom# for label. I do not not know what the | ||
+ | label refers to. | ||
+ | |||
+ | |||
+ | |||
+ | |||
+ | </ | ||
+ | |||
+ | < | ||
+ | set_mdos(self, | ||
+ | Setup multicentered projected DOS. | ||
+ | |||
+ | mcenters | ||
+ | a list of tuples containing (atom#, | ||
+ | (0,0,0,1.0) specifies (atom 0, l=0, m=0, weight=1.0) an s orbital | ||
+ | on atom 0 | ||
+ | |||
+ | (1,1,1,1.0) specifies (atom 1, l=1, m=1, weight=1.0) a p orbital | ||
+ | with m = +1 on atom 0 | ||
+ | |||
+ | l=0 s-orbital | ||
+ | l=1 p-orbital | ||
+ | l=2 d-orbital | ||
+ | |||
+ | m in range of ( -l ... 0 ... +l ) | ||
+ | |||
+ | The direction cosines for which the spherical harmonics are | ||
+ | set up are using the next different atom in the list | ||
+ | (cyclic) as direction pointer, so the z-direction is chosen | ||
+ | along the direction to this next atom. At the moment the | ||
+ | rotation matrices is only given in the text file, you can | ||
+ | use grep' | ||
+ | |||
+ | adapated from old MultiCenterProjectedDOS.py | ||
+ | </ |
ase/jacapo/pdos.1558683712.txt.gz · 最終更新: 2022/08/23 13:34 (外部編集)