forte2.orbitals.aset#

Module Contents#

class forte2.orbitals.aset.ASET#

Bases: forte2.base_classes.mixins.MOsMixin, forte2.base_classes.mixins.SystemMixin, forte2.base_classes.mixins.MOSpaceMixin

Active Space Embedding Theory (ASET) method for paritioning and projecting molecules.

Parameters:
fragmentlist[str]

List of atomic symbols defining the fragment.

frozen_core_orbitalsint | list[int], optional, default=None

Number or list of frozen core orbital indices.

frozen_virtual_orbitalsint | list[int], optional, default=None

Number or list of frozen virtual orbital indices.

cutoff_methodstr, optional, default=”threshold”

Method for choosing the embedding cutoff. Options include “threshold”, “num_of_orbitals”.

cutofffloat, optional, default = 0.5

Projector eigenvalue for simple threshold methods.

num_A_occint, optional, default=0

Number of occupied orbitals fixed to this value in fragment A when cutoff method is “num_of_orbitals”.

num_A_virint, optional, default=0

Number of virtual orbitals fixed to this value in fragment A when cutoff method is “num_of_orbitals”.

semicanonicalize_activebool, optional, default=True

Whether to semicanonicalize the active space orbitals.

semicanonicalize_frozenbool, optional, default=True

Whether to semicanonicalize the frozen orbitals.

Notes

The allowed subspace specification is a list of strings, non-exhaustive examples:

- ["C"]              # all carbon atoms
- ["C","N"]          # all carbon and nitrogen atoms
- ["C1"]             # carbon atom #1
- ["C1-7"]           # carbon atoms #1 through #7
- ["C1-3","N2"]      # carbon atoms #1, #2, #3 and nitrogen atom #2

See J. Chem. Phys. 2020, 152 (9), 094107 <https://doi.org/10.1063/1.5142481>_ for details on the ASET(mf) method.

fragment: list#
frozen_core_orbitals: int | list[int] = None#
frozen_virtual_orbitals: int | list[int] = None#
cutoff_method: str = 'threshold'#
cutoff: float = 0.5#
num_A_occ: int = 0#
num_A_vir: int = 0#
semicanonicalize_active: bool = True#
semicanonicalize_frozen: bool = True#
executed: bool = False#
run()#