quemb.molbe.chemfrag.Fragmented

class quemb.molbe.chemfrag.Fragmented(*, mol, conn_data, frag_structure, AO_per_atom, AO_per_frag, AO_per_motif, AO_per_edge_per_frag, relAO_per_motif_per_frag, relAO_per_edge_per_frag, relAO_per_center_per_frag, relAO_per_origin_per_frag, relAO_in_ref_per_edge_per_frag, frozen_core, iao_valence_mol)

Contains the whole BE fragmentation information, including AO indices.

This takes into account the geometrical data and the used basis sets, hence it “knows” which AO index belongs to which atom and which fragment. It depends on PurelyStructureFragmented to store structural data, but contains more information.

Attributes

mol: TypeVar(_T_chemsystem, Mole, Cell)

The full molecule

conn_data: Final[BondConnectivity]
frag_structure: Final[PurelyStructureFragmented]
AO_per_atom: Final[Sequence[OrderedSet[NewType(GlobalAOIdx, NewType(AOIdx, NewType(OrbitalIdx, integer)))]]]

The atomic orbital indices per atom

AO_per_frag: Final[Sequence[OrderedSet[NewType(GlobalAOIdx, NewType(AOIdx, NewType(OrbitalIdx, integer)))]]]

The atomic orbital indices per fragment

AO_per_motif: Final[Mapping[NewType(MotifIdx, NewType(AtomIdx, int)), Mapping[NewType(AtomIdx, int), OrderedSet[NewType(GlobalAOIdx, NewType(AOIdx, NewType(OrbitalIdx, integer)))]]]]

The atomic orbital indices per motif

AO_per_edge_per_frag: Final[Sequence[Mapping[NewType(EdgeIdx, NewType(MotifIdx, NewType(AtomIdx, int))), Mapping[NewType(AtomIdx, int), OrderedSet[NewType(GlobalAOIdx, NewType(AOIdx, NewType(OrbitalIdx, integer)))]]]]]

The atomic orbital indices per edge per fragment. The AO index is global.

relAO_per_motif_per_frag: Final[Sequence[Mapping[NewType(MotifIdx, NewType(AtomIdx, int)), Mapping[NewType(AtomIdx, int), OrderedSet[NewType(RelAOIdx, NewType(AOIdx, NewType(OrbitalIdx, integer)))]]]]]

The relative atomic orbital indices per motif per fragment. Relative means that the AO indices are relative to the own fragment.

relAO_per_edge_per_frag: Final[Sequence[Mapping[NewType(EdgeIdx, NewType(MotifIdx, NewType(AtomIdx, int))), Mapping[NewType(AtomIdx, int), OrderedSet[NewType(RelAOIdx, NewType(AOIdx, NewType(OrbitalIdx, integer)))]]]]]

The relative atomic orbital indices per edge per fragment. Relative means that the AO indices are relative to the own fragment. This variable is a strict subset of relAO_per_motif_per_frag, in the sense that the motif indices, the keys in the Mapping, are restricted to the edges of the fragment.

relAO_per_center_per_frag: Final[Sequence[Mapping[NewType(CenterIdx, NewType(MotifIdx, NewType(AtomIdx, int))), Mapping[NewType(AtomIdx, int), OrderedSet[NewType(RelAOIdx, NewType(AOIdx, NewType(OrbitalIdx, integer)))]]]]]

The relative atomic orbital indices per edge per fragment. Relative means that the AO indices are relative to the own fragment. This variable is a subset of relAO_per_motif_per_frag, in the sense that the motif indices, the keys in the Mapping, are restricted to the centers of the fragment.

relAO_per_origin_per_frag: Final[Sequence[Mapping[NewType(OriginIdx, NewType(CenterIdx, NewType(MotifIdx, NewType(AtomIdx, int)))), Mapping[NewType(AtomIdx, int), OrderedSet[NewType(RelAOIdx, NewType(AOIdx, NewType(OrbitalIdx, integer)))]]]]]

The relative atomic orbital indices per origin per fragment. Relative means that the AO indices are relative to the own fragment. This variable is a subset of relAO_per_center_per_frag, in the sense that the motif indices, the keys in the Mapping, are restricted to the origins of the fragment. This variable was formerly known as centerf_idx.

relAO_in_ref_per_edge_per_frag: Final[Sequence[Mapping[NewType(EdgeIdx, NewType(MotifIdx, NewType(AtomIdx, int))), Mapping[NewType(AtomIdx, int), OrderedSet[NewType(RelAOIdxInRef, NewType(AOIdx, NewType(OrbitalIdx, integer)))]]]]]

The relative atomic orbital indices per edge per fragment. Relative means that the AO indices are relative to the other fragment where the edge is a center.

frozen_core: Final[bool]

Do we have frozen_core AO index offsets?

iao_valence_mol: TypeVar(_T_chemsystem, Mole, Cell) | None

The molecule with the valence/minimal basis, if we use IAO.

Methods

__init__(*, mol, conn_data, frag_structure, ...)

Method generated by attrs for class Fragmented.

from_frag_structure(mol, frag_structure, ...)

Construct a Fragmented

from_mole(mol, n_BE, *[, frozen_core, ...])

Construct a Fragmented from pyscf.gto.mole.Mole

get_FragPart([wrong_iao_indexing])

Match the output of quemb.molbe.autofrag.autogen().