quemb.molbe.autofrag.FragPart

class quemb.molbe.autofrag.FragPart(mol, frag_type, n_BE, fsites, edge_sites, center, edge_idx, center_idx, centerf_idx, ebe_weight, Frag_atom, center_atom, hlist_atom, add_center_atom, frozen_core, iao_valence_basis, iao_valence_only, Nfrag=NOTHING, ncore=NOTHING, no_core_idx=NOTHING, core_list=NOTHING)

Data structure to hold the result of BE fragmentations.

Attributes

mol: Mole

The full molecule.

frag_type: Literal['chemgen', 'graphgen', 'autogen']

The algorithm used for fragmenting.

n_BE: int

The level of BE fragmentation, i.e. 1, 2, …

fsites: list[list[NewType(GlobalAOIdx, NewType(AOIdx, int))]]

This is a list over fragments and gives the global orbital indices of all atoms in the fragment. These are ordered by the atoms in the fragment.

edge_sites: list[list[list[NewType(GlobalAOIdx, NewType(AOIdx, int))]]]

The global orbital indices, including hydrogens, per edge per fragment.

center: list[list[NewType(FragmentIdx, int)]]
edge_idx: list[list[list[NewType(OwnRelAOIdx, NewType(AOIdx, int))]]]

The relative orbital indices, including hydrogens, per edge per fragment. The index is relative to the own fragment.

center_idx: list[list[list[NewType(OtherRelAOIdx, NewType(AOIdx, int))]]]

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

centerf_idx: list[list[NewType(OwnRelAOIdx, NewType(AOIdx, int))]]

of the motif list for each fragment, this is always a list(range(0, n))

ebe_weight: list[list[float | list[NewType(OwnRelAOIdx, NewType(AOIdx, int))]]]
Frag_atom: list[list[NewType(MotifIdx, NewType(AtomIdx, int))]]

The heavy atoms in each fragment, in order. Each are labeled based on the global atom index. It is ordered by origin, centers, edges!

center_atom: list[NewType(OriginIdx, NewType(CenterIdx, NewType(MotifIdx, NewType(AtomIdx, int))))]

The origin for each fragment. (Note that for conventional BE there is just one origin per fragment)

hlist_atom: Sequence[list[NewType(AtomIdx, int)]]
add_center_atom: list[list[NewType(CenterIdx, NewType(MotifIdx, NewType(AtomIdx, int)))]]

A list over fragments. For each fragment a list of centers that are not the origin of that fragment.

frozen_core: bool
iao_valence_basis: str | None
iao_valence_only: bool

If this option is set to True, all calculation will be performed in the valence basis in the IAO partitioning. This is an experimental feature.

Nfrag: int
ncore: int | None
no_core_idx: list[int] | None
core_list: list[int] | None

Methods

__init__(mol, frag_type, n_BE, fsites, ...)

Method generated by attrs for class FragPart.