quemb.molbe.chemfrag.ChemFragPart¶
- class quemb.molbe.chemfrag.ChemFragPart(*, mol, frag_type, n_BE, AO_per_frag, AO_per_edge_per_frag, ref_frag_idx_per_edge_per_frag, relAO_per_edge_per_frag, relAO_in_ref_per_edge_per_frag, relAO_per_origin_per_frag, weight_and_relAO_per_center_per_frag, motifs_per_frag, origin_per_frag, H_per_motif, add_center_atom, frozen_core, iao_valence_basis, iao_valence_only, fragmented)¶
Expose chemgen info, but retain old FragPart behaviour for outside code.
In particular, the equality comparison uses only FragPart info.
Attributes
- fragmented: Final[Fragmented]¶
- AO_per_edge_per_frag: ListOverFrag[ListOverEdge[list[GlobalAOIdx]]]¶
The global orbital indices, including hydrogens, per edge per fragment.
When using IAOs this refers to the valence/small basis.
- AO_per_frag: ListOverFrag[list[GlobalAOIdx]]¶
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.
When using IAOs this refers to the large/working basis.
- H_per_motif: Sequence[list[AtomIdx]]¶
- add_center_atom: ListOverFrag[list[CenterIdx]]¶
A list over fragments. For each fragment a list of centers that are not the origin of that fragment.
- core_list: list[int] | None¶
- frag_type: FragType¶
The algorithm used for fragmenting.
- 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.
- mol: _T_chemsystem¶
The full molecule.
- motifs_per_frag: ListOverFrag[ListOverMotif[MotifIdx]]¶
The motifs/heavy atoms in each fragment, in order. Each are labeled based on the global atom index. It is ordered by origin, centers, edges!
- n_BE: int¶
The level of BE fragmentation, i.e. 1, 2, …
- n_frag: int¶
- ncore: int | None¶
- no_core_idx: list[int] | None¶
- origin_per_frag: ListOverFrag[OriginIdx]¶
The origin for each fragment. (Note that for conventional BE there is just one origin per fragment)
- ref_frag_idx_per_edge_per_frag: ListOverFrag[ListOverEdge[FragmentIdx]]¶
Reference fragment index per edge: A list over fragments: list of indices of the fragments in which an edge of the fragment is actually a center. The edge will be matched against this center. For fragments A, B: the A’th element of
.center
, if the edge of A is the center of B, will be B.
- relAO_in_ref_per_edge_per_frag: ListOverFrag[ListOverEdge[list[RelAOIdxInRef]]]¶
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.
When using IAOs this refers to the valence/small basis.
- relAO_per_edge_per_frag: ListOverFrag[ListOverEdge[list[RelAOIdx]]]¶
The relative orbital indices, including hydrogens, per edge per fragment. The index is relative to the own fragment.
When using IAOs this refers to the valence/small basis.
- relAO_per_origin_per_frag: ListOverFrag[list[RelAOIdx]]¶
of the motif list for each fragment, this is always a
list(range(0, n))
When using IAOs this refers to the valence/small basis.
- weight_and_relAO_per_center_per_frag: ListOverFrag[tuple[float, list[RelAOIdx]]]¶
The first element is a float, the second is the list The float weight makes only sense for democratic matching and is currently 1.0 everywhere anyway. We concentrate only on the second part, i.e. the list of indices. This is a list whose entries are sequences containing the relative orbital index of the center sites within a fragment. Relative is to the own fragment.
When using IAOs this refers to the large/working basis.
Methods
__init__
(*, mol, frag_type, n_BE, ...)Method generated by attrs for class ChemFragPart.
reorder_frags
(idx)Reorder the fragments of self.
to_Frags
(I, eri_file[, unrestricted])