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 by shell_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)

(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.