Exemple #1
0
 def _get_atomdata(self, atomconfig, atomcalcs):
     atomdata = sc.ClassDict()
     atomdata.potentials = atomcalcs.dens_result.get_potential()
     atomdata.density = atomcalcs.dens_result.get_density()
     atomdata.wavefuncs = self._get_standardized_compressed_wfcs(
         atomconfig, atomcalcs.wave_result)
     return atomdata
Exemple #2
0
 def _store_atomdata(self, workdir, atomdata, iatom):
     atomfiles = sc.ClassDict()
     atomfiles.wavefuncs = self._store_wavefuncs(workdir,
                                                 atomdata.wavefuncs, iatom)
     atomfiles.potential = self._store_potentials(workdir,
                                                  atomdata.potentials,
                                                  iatom)
     atomfiles.density = self._store_density(workdir, atomdata.density,
                                             iatom)
     return atomfiles
Exemple #3
0
 def _collect_free_atom_result(self, output):
     result = sc.ClassDict()
     result.etot = output.get_energy()
     eigvals0 = []
     occs0 = []
     for nn, ll in self._atomconfig.valenceshells:
         eigval = ( output.get_eigenvalue(0, nn, ll),
                    output.get_eigenvalue(1, nn, ll) )
         eigvals0.append(eigval)
         occ = ( output.get_occupation(0, nn, ll),
                 output.get_occupation(1, nn, ll) )
         occs0.append(occ)
     homo0 = output.get_homo_or_lowest_nl(0)
     homo1 = output.get_homo_or_lowest_nl(1)
     result.valence_eigvals = np.array(eigvals0, dtype=float)
     result.valence_occs = np.array(occs0, dtype=float)
     result.h**o = ( homo0, homo1 )
     result.homo_eigval = ( output.get_eigenvalue(0, homo0[0], homo0[1]),
                            output.get_eigenvalue(1, homo1[0], homo1[1]) )
     return result
Exemple #4
0
def register_onecenter_calculator():
    """Returns data for calculator registration"""
    calc = sc.ClassDict()
    calc.settings = SlaterAtomSettings
    calc.calculator = SlaterAtom
    return calc