Module qsym2::drivers::molecule_symmetrisation_bootstrap
source · Expand description
Driver for molecule symmetrisation by bootstrapping in QSym².
This algorithm symmetrises a molecule iteratively by defining two threshold levels: a loose
level and a target
level.
In every iteration, the following steps are performed:
- The molecule is symmetry-analysed at the
target
level; any symmetry elements found are stashed and the symmetry group name, if any, is registered. - The molecule is symmetry-analysed at the
loose
level; any symmetry elements found are added to the stash and the symmetry group name, if any, is registered. - The convergence criteria (see below) are checked.
- If convergence has been reached, the symmetrisation procedure is terminated.
- If convergence has not been reached, the following steps are carried out.
- All symmetry elements found in the stash are used to generate all possible symmetry operations which are then used to symmetrise the molecule: each symmetry operation is applied on the original molecule to produce a symmetry-equivalent copy, then all symmetry-equivalent copies are averaged to give the symmetrised molecule.
- Repeat steps 1 to 4 above until convergence is reached.
There are two convergence criteria for the symmetrisation procedure:
- either when the loose-threshold symmetry agrees with the target-threshold symmetry,
- or when the target-threshold symmetry contains more elements than the loose-threshold symmetry and has been consistently identified for a pre-specified number of consecutive iterations.
At least one criterion must be satisfied in order for convergence to be reached.
Structs§
- Driver for molecule symmetrisation by bootstrapping in QSym².
- Builder for
MoleculeSymmetrisationBootstrapDriver
. - Structure containing control parameters for molecule symmetrisation by bootstrapping.
- Builder for
MoleculeSymmetrisationBootstrapParams
. - Structure to contain molecule symmetrisation by bootstrapping results.
- Builder for
MoleculeSymmetrisationBootstrapResult
.
Enums§
- Error type for MoleculeSymmetrisationBootstrapDriverBuilder
- Error type for MoleculeSymmetrisationBootstrapParamsBuilder
- Error type for MoleculeSymmetrisationBootstrapResultBuilder