====== Projected DOS related method ====== ===== Atom-projected DOS ===== get_ados(self, **kwargs) attempt at maintaining backward compatibility with get_ados returning data Now when we call calc.get_ados() it will return settings, and calc.get_ados(atoms=[],...) should return data get_ados_data(self, atoms, orbitals, cutoff, spin) get atom projected data :Parameters: atoms list of atom indices (integers) orbitals list of strings ['s','p','d'], ['px','py','pz'] ['d_zz', 'dxx-yy', 'd_xy', 'd_xz', 'd_yz'] cutoff : string cutoff radius you want the results for 'short' or 'infinite' 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, energywindow=(-15, 5), energywidth=0.2, npoints=250, cutoff=1.0) setup calculation of atom-projected density of states :Parameters: 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, spin=0, cutoffradius='infinite') 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#][label] returns the rotation matrix for the center on the atom# for label. I do not not know what the label refers to. set_mdos(self, mcenters=None, energywindow=(-15, 5), energywidth=0.2, numberenergypoints=250, cutoffradius=1.0) Setup multicentered projected DOS. mcenters a list of tuples containing (atom#,l,m,weight) (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'MUL: Rmatrix' out_o2.txt to get this information. adapated from old MultiCenterProjectedDOS.py