forte2.scf.scf_base =================== .. py:module:: forte2.scf.scf_base Module Contents --------------- .. py:class:: SCFBase Bases: :py:obj:`abc.ABC`, :py:obj:`forte2.base_classes.mixins.SystemMixin`, :py:obj:`forte2.base_classes.mixins.MOsMixin` Abstract base class for SCF calculations. :Parameters: **charge** : int Charge of the system. **do_diis** : bool, optional, default=True Whether to perform DIIS acceleration. **diis_start** : int, optional, default=1 Which iteration to start collecting DIIS error vectors. **diis_nvec** : int, optional, default=8 How many DIIS error vectors to keep. **diis_min** : int, optional, default=2 Minimum number of DIIS vectors to perform extrapolation. **e_tol** : float, optional, default=1e-9 Energy convergence tolerance. **d_tol** : float, optional, default=1e-6 RMS density change convergence tolerance. **maxiter** : int, optional, default=100 Maximum iteration for SCF. **guess_type** : str, optional, default="minao" Initial guess type for the SCF calculation. Can be "minao" (SAP) or "hcore". **level_shift** : float, optional Level shift for the SCF calculation. If None, no level shift is applied. **level_shift_thresh** : float, optional, default=1e-5 If energy change is below this threshold, level shift is turned off. **die_if_not_converged** : bool, optional, default=True Whether to raise an error if the SCF calculation does not converge. :Attributes: **C** : list[NDArray] The MO coefficients. **D** : list[NDArray] The density matrices. **E** : float The total energy of the system. **F** : list[NDArray] The Fock matrices. **eps** : list[NDArray] The orbital energies. :Raises: RuntimeError If the SCF calculation does not converge within the maximum number of iterations. .. !! processed by numpydoc !! .. py:attribute:: charge :type: int .. py:attribute:: do_diis :type: bool :value: True .. py:attribute:: diis_start :type: int :value: 1 .. py:attribute:: diis_nvec :type: int :value: 8 .. py:attribute:: diis_min :type: int :value: 2 .. py:attribute:: e_tol :type: float :value: 1e-09 .. py:attribute:: d_tol :type: float :value: 1e-06 .. py:attribute:: maxiter :type: int :value: 100 .. py:attribute:: guess_type :type: str :value: 'minao' .. py:attribute:: level_shift :type: float :value: None .. py:attribute:: level_shift_thresh :type: float :value: 1e-05 .. py:attribute:: die_if_not_converged :type: bool :value: True .. py:attribute:: executed :type: bool :value: False .. py:attribute:: converged :type: bool :value: False .. py:method:: run() Run the SCF calculation. :Returns: **self** : SCFBase The SCF object. .. !! processed by numpydoc !!