Esempio n. 1
0
    def __init__(self, obasis, grid, grid_terms, label='grid_group'):
        '''
           **Arguments:**

           obasis
                The orbital basis.

           grid
                A numerical integration grid. (must have ``points`` attribute
                and ``integrate`` method.)

           grid_terms
                The contributions to the effective Hamiltonian. This must be
                a list of instances of subclasses of
                :py:class:`GridObservable`.

           **Optional arguments:**

           label
                A label for the group.
        '''
        self.grid_terms = grid_terms
        self.obasis = obasis
        self.grid = grid
        Observable.__init__(self, label)
Esempio n. 2
0
 def __init__(self, prefix, name):
     self.exchange = name.startswith('x')
     name = '%s_%s' % (prefix, name)
     self._name = name
     self._libxc_wrapper = LibXCWrapper(name)
     log.cite('marques2012', 'using LibXC, the library of exchange and correlation functionals')
     Observable.__init__(self, 'libxc_%s' % name)
Esempio n. 3
0
 def __init__(self, prefix, name):
     self.exchange = name.startswith('x')
     name = '%s_%s' % (prefix, name)
     self._name = name
     self._libxc_wrapper = LibXCWrapper(name)
     log.cite(
         'marques2012',
         'using LibXC, the library of exchange and correlation functionals')
     Observable.__init__(self, 'libxc_%s' % name)
Esempio n. 4
0
    def __init__(self, label='exchange_dirac', coeff=None):
        '''
           **Arguments:**



           **Optional arguments:**

           coeff
                The coefficient Cx in front of the Dirac exchange energy.
                It defaults to the uniform electron gas value, i.e.
                Cx = 3/4 (3/pi)^(1/3).
        '''
        if coeff is None:
            self.coeff = 3.0 / 4.0 * (3.0 / np.pi)**(1.0 / 3.0)
        else:
            self.coeff = coeff
        self.derived_coeff = -self.coeff * (4.0 / 3.0) * 2**(1.0 / 3.0)
        Observable.__init__(self, label)
Esempio n. 5
0
    def __init__(self, label='exchange_dirac', coeff=None):
        '''
           **Arguments:**



           **Optional arguments:**

           coeff
                The coefficient Cx in front of the Dirac exchange energy.
                It defaults to the uniform electron gas value, i.e.
                Cx = 3/4 (3/pi)^(1/3).
        '''
        if coeff is None:
            self.coeff = 3.0/4.0*(3.0/np.pi)**(1.0/3.0)
        else:
            self.coeff = coeff
        self.derived_coeff = -self.coeff*(4.0/3.0)*2**(1.0/3.0)
        Observable.__init__(self, label)
Esempio n. 6
0
    def __init__(self, obasis, grid, grid_terms, label='grid_group', density_cutoff=1e-9):
        """Initialize a GridGroup instance.

        Parameters
        ----------
        obasis : GOBasis
            The orbital basis.
        grid : IntGrid
            A numerical integration grid. (must have ``points`` attribute and
            ``integrate`` method.)
        grid_terms : list of GridObservable instances.
            The contributions to the effective Hamiltonian.
        label : str
            A label for the group.
        density_cutoff : float
            Whenever the density on a grid point falls below this threshold, all data for
            that grid point is set to zero. This is mainly relevant for functionals that
            use derivatives of the density or the orbitals, i.e. GGA and MGGA functionals.
        """
        self.grid_terms = grid_terms
        self.obasis = obasis
        self.grid = grid
        self.density_cutoff = density_cutoff
        Observable.__init__(self, label)
Esempio n. 7
0
 def __init__(self, label='exchange_hartree_fock', fraction_exchange=1.0):
     self.fraction_exchange = fraction_exchange
     Observable.__init__(self, label)
Esempio n. 8
0
 def __init__(self, label='hartree'):
     Observable.__init__(self, label)
Esempio n. 9
0
 def __init__(self, label='exchange_hartree_fock', fraction_exchange=1.0):
     self.fraction_exchange = fraction_exchange
     Observable.__init__(self, label)
Esempio n. 10
0
 def __init__(self, label='hartree'):
     Observable.__init__(self, label)