stk.PeriodicCollapser
- class stk.PeriodicCollapser(step_size=0.1, distance_threshold=1.5, scale_steps=False)[source]
Bases:
OptimizerPerforms rigid-body collapse of molecules.
This
Optimizerwill also update the .PeriodicInfo.Examples
Structure Optimization
Using
PeriodicCollapserwill lead toConstructedMoleculestructures without long bonds and match the unit-cell to the new structure.import stk bb1 = stk.BuildingBlock('BrCCBr', [stk.BromoFactory()]) bb2 = stk.BuildingBlock('BrCC(CBr)CBr', [stk.BromoFactory()]) topology_graph = stk.cof.PeriodicHoneycomb( building_blocks=(bb1, bb2), lattice_size=(1, 2, 3), optimizer=stk.PeriodicCollapser(), ) cof = stk.ConstructedMolecule(topology_graph)
Optimisation with
stksimply collects the final position matrix and periodic info. The optimisation’s trajectory can be output using theMCHammerimplementation if required by the user [1].The open-source optimization code
MCHammerspecializes in the collapsing of molecules with long bonds like those constructed bystk. This code is entirely nonphysical and is, therefore, completely general to any chemistry.References
Initialize an instance of
PeriodicCollapser.- Parameters:
step_size (
float, optional) – The relative size of the step to take during collapse in Angstrom.distance_threshold (
float, optional) – Distance between distinct building blocks to use as threshold for halting collapse in Angstrom.scale_steps (
bool, optional) – Whether to scale the step of each distinct building block by its relative distance from the molecules centroid.
Methods
Optimize the structure of a molecule under construction.