====== Pseudopotential related method ====== ===== Pseudopotential file ===== set_pseudopotentials(self, pspdict) Set all the pseudopotentials from a dictionary. The dictionary should have this form:: {symbol1: path1, symbol2: path2} get_psp(self, sym=None, z=None) ^argument^type^notes^ |sym |string |the chemical symbol of the species | |z |integer |the atomic number of the species | * ''get_psp'' get the pseudopotential filename from the psp database * you can only specify ''sym'' or ''z''. Returns the pseudopotential filename, not the full path. === set_psp === set_psp(self, sym=None, z=None, psp=None) ^argument^type^notes^ |sym |string |chemical symbol of the species | |z |integer |the atomic number of the species | |psp |string |filename of the pseudopotential | * ''set_psp'' set the pseudopotential file for a species or an atomic number. * you can only set ''sym'' or ''z''. == examples == set_psp('N',psp='pspfile') set_psp(z=6,psp='pspfile') set_psp_database(self, xc=None) get the xc-dependent psp database :Parameters: xc : string one of 'PW91', 'PBE', 'revPBE', 'RPBE', 'PZ' not all the databases are complete, and that means some psp do not exist. note: this function is not supported fully. only pw91 is imported now. Changing the xc at this point results in loading a nearly empty database, and I have not thought about how to resolve that ===== Nuclear charge ===== get_psp_nuclear_charge(self, psp) get the nuclear charge of the atom from teh psp-file. This is not the same as the atomic number, nor is it necessarily the negative of the number of valence electrons, since a psp may be an ion. this function is needed to compute centers of ion charge for the dipole moment calculation. We read in the valence ion configuration from the psp file and add up the charges in each shell. ===== Valence charge ===== get_number_of_electrons = get_valence(self, atoms=None) get_psp_valence(self, psp) get the psp valence charge on an atom from the pspfile. get_valence(self, atoms=None) return the total number of valence electrons for the atoms. valence electrons are read directly from the pseudopotentials. the psp filenames are stored in the ncfile. They may be just the name of the file, in which case the psp may exist in the same directory as the ncfile, or in $DACAPOPATH, or the psp may be defined by an absolute or relative path. This function deals with all these possibilities.