Source code for nbed.localizers.virtual.base
"""Base Virtual Localizer Class."""
from abc import ABC, abstractmethod
from pyscf import scf # type:ignore
[docs]
class VirtualLocalizer(ABC):
"""Base class for virtual localizers.
Args:
embedded_scf (scf.hf.SCF): SCF object with occupied orbitals localized.
n_active_atoms (int): Number of active atoms in the system.
Attributes:
embedded_scf (scf.hf.SCF): SCF object with occupied orbitals localized.
n_active_atoms (int): Number of active atoms in the system.
"""
def __init__(self, n_active_atoms: int):
"""Initialize VirtualLocalizer.
Args:
embedded_scf (scf.hf.SCF): A pyscf SCF object.
n_active_atoms (int): The number of atoms in the active region.
"""
self._n_active_atoms = n_active_atoms
[docs]
@abstractmethod
def localize_virtual(self) -> scf.hf.SCF:
"""Localize virtual orbitals.
Returns:
gto.Mole: Localized SCF object.
"""
pass