Пример #1
0
    def __init__(self,
                 system,
                 grid,
                 proatomdb,
                 local=True,
                 slow=False,
                 lmax=3,
                 epsilon=0,
                 threshold=1e-6,
                 maxiter=500,
                 greedy=False):
        '''
           **Optional arguments:** (that are not present in the base class)

           threshold
                The procedure is considered to be converged when the maximum
                change of the charges between two iterations drops below this
                threshold.

           maxiter
                The maximum number of iterations. If no convergence is reached
                in the end, no warning is given.
        '''
        HirshfeldIMixin.__init__(self, threshold, maxiter, greedy)
        HirshfeldWPart.__init__(self, system, grid, proatomdb, local, slow,
                                lmax, epsilon)
Пример #2
0
    def __init__(self,
                 coordinates,
                 numbers,
                 pseudo_numbers,
                 grid,
                 moldens,
                 proatomdb,
                 spindens=None,
                 local=True,
                 lmax=3,
                 threshold=1e-6,
                 maxiter=500):
        '''
           **Arguments:** (that are not defined in ``WPart``)

           proatomdb
                In instance of ProAtomDB that contains all the reference atomic
                densities.

           **Optional arguments:** (that are not defined in ``WPart``)

           threshold
                The procedure is considered to be converged when the maximum
                change of the charges between two iterations drops below this
                threshold.

           maxiter
                The maximum number of iterations. If no convergence is reached
                in the end, no warning is given.
        '''
        HirshfeldIMixin.__init__(self, threshold, maxiter)
        HirshfeldWPart.__init__(self, coordinates, numbers, pseudo_numbers,
                                grid, moldens, proatomdb, spindens, local,
                                lmax)
Пример #3
0
    def __init__(self, coordinates, numbers, pseudo_numbers, grid, moldens,
                 proatomdb, spindens=None, local=True, lmax=3, threshold=1e-6,
                 maxiter=500, greedy=False):
        '''
           **Arguments:** (that are not defined in ``WPart``)

           proatomdb
                In instance of ProAtomDB that contains all the reference atomic
                densities.

           **Optional arguments:** (that are not defined in ``WPart``)

           threshold
                The procedure is considered to be converged when the maximum
                change of the charges between two iterations drops below this
                threshold.

           maxiter
                The maximum number of iterations. If no convergence is reached
                in the end, no warning is given.

           greedy
                Reduce the CPU cost at the expense of more memory consumption.
        '''
        HirshfeldIMixin.__init__(self, threshold, maxiter, greedy)
        HirshfeldWPart.__init__(self, coordinates, numbers, pseudo_numbers,
                                grid, moldens, proatomdb, spindens, local, lmax)
Пример #4
0
    def __init__(self, system, grid, proatomdb, local=True, slow=False, lmax=3, epsilon=0, threshold=1e-6, maxiter=500, greedy=False):
        '''
           **Optional arguments:** (that are not present in the base class)

           threshold
                The procedure is considered to be converged when the maximum
                change of the charges between two iterations drops below this
                threshold.

           maxiter
                The maximum number of iterations. If no convergence is reached
                in the end, no warning is given.
        '''
        HirshfeldIMixin.__init__(self, threshold, maxiter, greedy)
        HirshfeldWPart.__init__(self, system, grid, proatomdb, local, slow, lmax, epsilon)
Пример #5
0
 def eval_proatom(self, index, output, grid=None):
     if self._greedy:
         HirshfeldIMixin.eval_proatom(self, index, output, grid)
     else:
         HirshfeldWPart.eval_proatom(self, index, output, grid)
Пример #6
0
 def get_memory_estimates(self):
     return (HirshfeldWPart.get_memory_estimates(self) +
             HirshfeldIMixin.get_memory_estimates(self))
Пример #7
0
 def get_memory_estimates(self):
     return (
         HirshfeldWPart.get_memory_estimates(self) +
         HirshfeldIMixin.get_memory_estimates(self)
     )
Пример #8
0
 def eval_proatom(self, index, output, grid=None):
     if self._greedy:
         HirshfeldIMixin.eval_proatom(self, index, output, grid)
     else:
         HirshfeldWPart.eval_proatom(self, index, output, grid)