quemb.molbe.autofrag.FragPart¶
- class quemb.molbe.autofrag.FragPart(*, 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)¶
Data structure to hold the result of BE fragmentations.
Attributes
-
AO_per_frag:
list
[list
[NewType
(GlobalAOIdx
,NewType
(AOIdx
,NewType
(OrbitalIdx
,integer
)))]]¶ 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.
-
AO_per_edge_per_frag:
list
[list
[list
[NewType
(GlobalAOIdx
,NewType
(AOIdx
,NewType
(OrbitalIdx
,integer
)))]]]¶ The global orbital indices, including hydrogens, per edge per fragment.
When using IAOs this refers to the valence/small basis.
-
ref_frag_idx_per_edge_per_frag:
list
[list
[NewType
(FragmentIdx
,integer
)]]¶ 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_per_edge_per_frag:
list
[list
[list
[NewType
(RelAOIdx
,NewType
(AOIdx
,NewType
(OrbitalIdx
,integer
)))]]]¶ 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_in_ref_per_edge_per_frag:
list
[list
[list
[NewType
(RelAOIdxInRef
,NewType
(AOIdx
,NewType
(OrbitalIdx
,integer
)))]]]¶ 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_origin_per_frag:
list
[list
[NewType
(RelAOIdx
,NewType
(AOIdx
,NewType
(OrbitalIdx
,integer
)))]]¶ 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:
list
[tuple
[float
,list
[NewType
(RelAOIdx
,NewType
(AOIdx
,NewType
(OrbitalIdx
,integer
)))]]]¶ 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.
-
motifs_per_frag:
list
[list
[NewType
(MotifIdx
,NewType
(AtomIdx
,int
))]]¶ 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!
-
origin_per_frag:
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)
-
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.
-
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.
Methods
-
AO_per_frag: