Automated cluster construction
Included in ChemShell is a workflow for the automated construction and and partitioning of clusters to model the solid-state. These routines require only the provision of a relaxed periodic structure and some known parameters to reproducibly build effectively partitioned clusters for further QM/MM studies.
The workflow builds on and extends ChemShell’s cluster cutting tools.
Main features
Construction and partitioning of clusters from periodic input in one function call.
Multiple schemes for selecting cluster QM regions (radial, unit cell , SKZCAM).
Defaults to produce a sensible cluster with minimal user input, reducing barrier to entry.
Options for experienced users to construct highly specific clusters.
Input parameters
All parameters should be declared as a dictionary and provided to the workflow
though the setup
function. Below is an exhaustive list of options and their
default settings.
General parameters
- input
(Default:
''
) Filename of input periodic structure.
- input_qm
(Default:
''
) Filename of user specified QM region.
- output_prefix
(Default:
'Partitioned_Cluster'
) Output filename.
- partition_mode
(Default:
'radial'
) The method of partitioning the cluster. Options are ‘radial’, ‘unit_cell’ or ‘skzcam’
- radius_cluster
(Default:
40.0
) Radius of the cluster produced (in bohr).
- active_radius
(Default:
20.0
) Active radius within this cluster - regions 1, 2 and 3.
- charges
(Default:
{}
) A dictionary specifying the charges on each ion.
- shell_species
(Default:
''
) Species to apply shells to (core-shell model).
- shell_charge
(Default:
None
) Charge of the shell specified byshell_atom
.
- adjust_charge
(Default:
'coordination_scaled'
) Method by which the charges are adjusted to mimic the extended bulk.
- bq_margin
(Default:
10
) The separation of the point charges from the surface of the cluster.
- bq_density
(Default:
5
) Point charge density in the space surround the cluster.
- qmmm_interface
(Default:
'explicit'
) Methodology of interfacing QM with MM.
- interface_exclude
(Default:
''
) Species to exclude from the interface region.
- cutoff_boundary
(Default:
4.0
) Distance from region 1 the defines size of region 2.
- origin_bulk
(Default:
None
) Origin of the periodic fragment in fractional coords. None implies centring at (0,0,0)
- print_warnings
(Default:
True
) Prints warnings about defaults used and best practice.
QM region partitioning options
- radius
(Default:
5
) QM region radius. ‘radial’ partitioning only.
- origin_qm
(Default:
None
) Origin of the QM fragment in fractional coords. None implies centring at (0,0,0)
- check_qm_region
(Default:
True
) Check if the qm region is the same size as the input fragment. ‘unit_cell’ partitioning only.
- tol
(Default:
0.003
) Tolerance on how close an atom must be tobe included in the QM region. ‘unit_cell’ partitioning only.
- skzcam_cation
(Default:
''
) Cation for RDF in SKZCAM partitioning.
- skzcam_shells
(Default:
1
) Number of RDF shells to be selected in SKZCAM partitioning. Counts from zero.
- skzcam_anion_tol
(Default:
0.05
) Tolerance of selecting anions to be included in SKZCAM QM region.
Workflow functions
The ClusterCutting
class contains the following method that runs the automated workflow.
- run()
This function runs the automated cluster construction to build a model.