Presentation is loading. Please wait.

Presentation is loading. Please wait.

Paul Sherwood CLRC Daresbury Laboratory

Similar presentations


Presentation on theme: "Paul Sherwood CLRC Daresbury Laboratory"— Presentation transcript:

1 Paul Sherwood CLRC Daresbury Laboratory p.sherwood@dl.ac.uk
ChemShell Paul Sherwood CLRC Daresbury Laboratory

2 Overview ChemShell overview Introduction to Tcl Script basics
Modules overview creating Input data objects dl_poly gamess QM/MM Methods hybrid QM/MM models available Input examples ChemShell GUI

3 ChemShell Extended Tcl Interpreter Scripting capability
Interfaces to a range of QM and MM codes including GAMESS-UK DL_POLY MNDO97 TURBOMOLE CHARMM GULP Gaussian94 Implementation of QM/MM coupling schemes link atom placement, forces etc boundary charge corrections

4 ChemShell Architecture - Languages
An extended Tcl interpeter, written in.. Tcl Control scripts Interfaces to 3rd party executables GUI construction (Tk and itcl) Extensions C Tcl command implementations Object management (fragment, matrix, field, graph) Tcl and C APIs I/O Open GL graphics Fortran77 QM and MM codes: GAMESS-UK, GULP, MNDO97, DL_POLY

5 ChemShell Architecture
Core ChemShell Tcl interpreter, with code to support chemistry data: Optimiser and dynamics drivers QM/MM Coupling schemes Utilities Graphics GAMESS-UK (ab-initio, DFT) MNDO (semi-empirical) DL_POLY (MM) GULP (Shell model, defects) Features Single executable possible Parallel implementations External Modules CHARMM TURBOMOLE Gaussian94 MOPAC AMBER CADPAC Features Interfaces written in Tcl No changes to 3rd party codes

6 ChemShell basics ChemShell control files are Tcl Scripts
Usually we use a .chm suffix ChemShell commands have some additional structure, usually they take the following form command arg1=value1 arg2=value2 Arguments can serve many functions mm_defs=dl_poly.ff Identify a data file to use coords=c Use object c as the source of the structure use_pairlist=yes Provide a Boolean flag (yes/no, 1/0,, on/off) list_option=full Provide a keyword setting theory=gamess Indicate which compute module to use Sometimes command arg1=value1 arg2=value2 data

7 Very Simple Tcl (i) Variable Assignment (all variables are strings)
set a 1 Variable use [ set a ] $a Command result substitution [ <Tcl command> ] Numerical expressions set a [ expr 2 * $b ] Ouput to stdout puts stdout “this is an output string”

8 Very Simple Tcl (ii) Lists - often passed to ChemShell commands as arguments set a { } set a “1 2 3” set a [ list ] $ is evaluated within [ list .. ] and “ “ but not { } [ list … ] construct is best for building nested lists using variables Arrays - not used in ChemShell arguments, useful for user scripts Associative - can be indexed using any string set a(1) 1 set a(fred) x parray a

9 Very Simple Tcl (iii) Continuation lines: can escape the newline
tclsh % set a “this \ is \ a single variable” this is a single variable tclsh % { } will incorporate newlines into the list tclsh % set a {this is a single variable} this a single variable tclsh %

10 Very Simple Tcl (iv) Procedures Files
Sometimes needed to pass to ChemShell commands to provide an action proc my_procedure { my_arg1 my_arg2 args } { puts stdout “my_procedure” return “the result” } Files set fp [ open my.dat w ] puts $fp “set x $x” close $fp ….. source my.dat

11 ChemShell Object types
fragment - molecular structure creation: c_create, load_pdb …. Universal!! zmatrix z_create, newopt, z_surface matrix creation: create_matrix, energy and gradient evaluators, dynamics field creation: cluster_potential etc, graphical display, charge fits GUI only 3dgraph

12 ChemShell Object Representations
Between calculations, and sometimes between commands in a script, objects are stored as files. Usually there is no suffix, objects are distinguished internally by the block structure. % cat c block = fragment records = 0 block = title records = 1 phosphine block = coordinates records = 34 p e e e-16 c e e e+00 c e e e-01 c e e e+00 c e e e+00 …….... Multi block objects are initiated by an empty block (e.g. fragment) Unrecognised blocks are silently ignored

13 Object Caching During a run objects can be cached in memory, the command to request this is the name of the object (similar to a declaration in a compiled language) # fragment c c_create coords=c { h 0 0 0 h 0 0 1 } list_molecule coords=c delete_object c # No file is created here Confusion of objects with files can lead to confusion!!

14 Object Input and Output
If you access an object from a disk, ChemShell will always update the disk copy when it has finished (there is no easy way of telling if a command or procedure has changed it). Usually this is harmless (e.g. output formats are precise enough), but unrecognised data in the input will not be present in the output, take a copy if you need to keep it. E.g. if a GAMESS-UK punchfile contains a fragment object and a single data field (e.g. the potential) you can use it as both a fragment object and a field object % rungamess test % cp test.pun my_structure % cp test.pun my_field % chemsh …….

15 Energy Gradient Evaluators
Many modules are designed to work with a variety of methods to compute the energy and gradient. The procedure relies on the interfaces to the codes being consistent, each comprises a set of callable functions e.g. initialisation energy, gradient kill update the particular set of functions being requested by a command option, usually theory= Example evaluators (depends on locally available codes) gamess, turbomole dl_poly, charmm mopac, mndo hybrid You can write your own in Tcl

16 Module options, using the :
The : syntax is used to pass control options to sub-module. e.g. when running the optimiser, to set the options for the module computing the energy and gradient. {} can be used if there is more than one argument to pass on. Nested structures are possible using Tcl lists newopt function=zopt : { theory=gamess : { basis=sto3g } zmatrix=z } gamess arguments Command zopt arguments newopt arguments

17 Loading Objects - Z-matrices
z_create zmatrix=z { zmatrix angstrom c x 1 1.0 n 1 cn 2 ang f 1 cf 2 ang 3 phi variables cn cf phi constants ang end } z_list zmatrix=z set p [ z_prepare_input zmatrix=z ] puts stdout $p z_create provides input processor for the z-matrix object z_list can be used to display the object in a readable form z_prepare_input provides the reverse transformation if you need something to edit z_to_c provides the cartesian representation

18 Additional Z-matrix features (i)
Can include some atoms specified using cartesian coordinates Can use symbols for atom-path values (i1,i2,i3) Can append % to symbols to make them unique (e.g. o%1) Can create/destroy and set variables using Tcl commands z_create zmatrix=z1 { zmatrix o%1 o%2 o%1 3. h%1 o% o% h%2 o% o% h%1 29.0 end } z_var zmatrix=z1 result=z2 control= "release all" z_substitute zmatrix=z2 values= {r2=3.0 r3=2.0} z_list zmatrix=z2

19 Additional Z-matrix features (ii)
Combine cartesian and internal definitions z_create zmatrix=z1 { coordinates ... zmatrix .... end } c_to_z will create a fully cartesian z-matrix

20 Loading Data Object - Coordinates
c_create coords=h2o.c { title water dimer coordinates au o h h o h h } No symbols allowed Can also use read_xyz, read_pdb, read_xtl

21 Periodic Systems (i) Crystallographic cell constants can be provided, along with fractional coordinates # c_create coords=mgo.c { space_group 1 cell_constants angstrom coordinates Mg O Mg O Mg O Mg O } list_molecule coords=c set p [ c_prepare_input coords=c ]

22 Periodic Systems (ii) Alternatively, input the cell explicitly, in c_create or attach to the structure later # c_create coords=d { title primitive unit cell of diamond coordinates au c c cell au } extend_fragment coords=d cell_indices= { } result=d2 set_cell coords=d cell= { }

23 Core modules: DL_POLY Features
Energy and gradient routines from DL_POLY (Bill Smith UK, CCP5) General purpose MM energy expression, including approximations to CFF91 (e.g. zeolites) CHARMM AMBER MM2 Topology generator automatic atom typing parameter assignment based on connectivity topology from CHARMM PSF input FIELD, CONFIG, CONTROL are generated automatically FIELD is built up using terms defined in the file specified by mm_defs= argument Periodic boundary conditions are limited to parallelopiped shaped cells Can have multiple topologies active at one time

24 DL_POLY forcefield terms
Terms are input using atom symbols (or * wild card) Individual keyword terms: bond mm2bond quarbond angle mm2angle quarangle ptor mm2tor htor cfftor aa-couple aat-couple vdw powers m_n_vdw 6_vdw mm2_vdw Input units are kcal/mol, angstrom etc in line with most forcefield publications For full description see the manual

25 Automatic atom type assigment
Forcefield definition can incorporate connectivity-based atom type definitions which will be used to assign types Atom types are hierarchical, most specific applicable type will be used (algorithm is iterative) e.g. to use different parameters for ipso-C of PPh3 define a new type by a connection to phosphorous query ci "ipso c" supergroup c target c atom p connect 1 2 endquery charge c -0.15 charge h 0.15

26 DL_POLY Example # dummy forcefield read_input dl_poly.ff {
bond c c bond c h angle c c c angle c c h vdw h h vdw c c vdw h c htor c c c c i-j-k-l charge c -0.15 charge h 0.15 } energy theory=dl_poly : mm_defs = dl_poly.ff coords=c energy=e

27 Using DL_POLY with CHARMM Parameters
Replicates CHARMM energy expression (without UREY) Uses standard CHARMM datafiles Requires CHARMM program + script to run as far as energy evaluation for initial setup Atom charges and atom types are obtained by communication with a running CHARMM process (usually only run once) # run charmm using script provided charmm.preinit charmm_script=all.charmm coords=charmm.c # Store type names from the topology file load_charmm_types2 top_all22_prot.inp charmm_types # These requires CTCL (i.e. charmm running) set types [ get_charmm_types ] set charges [ get_charmm_charges ] set groups [ get_charmm_groups ] # charmm.shutdown

28 Using DL_POLY with CHARMM Parameters
Then provide dl_poly interface with .psf (topology) charmm_psf = .rtf (for atom types) charmm_mass_file= .inp parameter files charmm_parameter_file= theory=dl_poly : [ list \ list_option=full \ cutoff = [ expr 15 / ] \ scale14 = { } \ atom_types= $types \ atom_charges= $charges \ use_charmm_psf=yes \ charmm_psf_file=4tapap_wat961.psf \ charmm_parameter_file=par_all22_prot_mod.inp \ charmm_mass_file= $top ]

29 Core modules: Geometry Optimisers
Small Molecules Internal coordinates (delocalised, redundant etc) Full Hessian O(N3) cost per step BFGS, P-RFO Macromolecules Cartesian coordinates Partial Hessian (e.g. diagonal) O(N) cost per step Conjugate gradient L-BFGS Coupled QM/MM schemes Combine cartesian and internal coordinates Reduce cost of manipulating B, G matrices Define subspace (core region) and relax environment at each step reduce size of Hessian exploit greater stability of minimisation vs. TS algorithms Use approximate scheme for environmental relaxation

30 QUASI - Geometry Optimisation Modules
newopt A general purpose optimiser Target functions, specified by function = copt : cartesian (obsolete) zopt: z-matrix (now also handles cartesians) new functions can be written in Tcl (see example rosenbrock) For QM/MM applications e.g. P-RFO adapted for presence of soft modes Hessian update includes partial finite difference in eigenmode basis New algorithms can be coded in Tcl using primitive steps (forces, updates, steps, etc). hessian Generates hessian matrices (e.g. for TS searching)

31 Newopt example - minimisation
# # function zopt allows the newopt optimiser to work with # the energy as a function of the internal coordinates of # the molecule newopt function=zopt : { theory=gamess : { basis=dzp } } \ zmatrix=z

32 Newopt example - transition state determination
# functions zopt.* allow the newopt optimiser to work with # the energy as a function of the internal coordinates of # the molecule set args "{theory=gamess : { basis=3-21g } zmatrix=z}" hessian function=zopt : [ list $args ] \ hessian=h_fcn_ts method=analytic newopt function=zopt : [ list $args ] \ method=baker \ input_hessian=h_fcn_ts \ follow_mode=1

33 HDLCopt optimiser hdlcopt
Hybrid Delocalised Internal Coordinate scheme (Alex Turner, Walter Thiel, Salomon Billeter) Developed within QUASI project O(N) overall scaling per step Key elements: Residue specification, often taken from a pdb file (pdb_to_res) allows separate delocalised coordinates to be generated for each residue Can perform P-RFO TS search in the first residue with relaxation of the others increased stability for TS searching Much smaller Hessians Further information on algorithm S.R. Billeter, A.J. Turner and W. Thiel, PCCP 2000, 2, p 2177

34 HDLCopt example # procedure to update the last step
proc hdlcopt_update { args } { parsearg update { coords } $args write_xyz coords= $coords file=update.xyz end_module } # select residues set residues [ pdb_to_res "4tapap_wat83.pdb" ] # load coordinates read_pdb file=4tapap_wat83.pdb coords=4tapap_wat83.c hdlcopt coords=4tapap_wat83.c result=4tapap_wat83.opt \ theory=mndo : { hamiltonian=am1 charge=1 optstr={ nprint=2 kitscf=200 } } \ memory=200 residues= $residues \ update_procedure=hdlcopt_update

35 CCP1 QM/MM Optimiser Developed by Richard Hall (Manchester) as a QM/MM optimisation routine DLC central residue CG outer relaxation (e.g. Amber) Interface exists, but for QM-only optimisation at present. Not available in the workshop build

36 GULP Interface Simple interface to GULP energy and forces
GULP licensing from Julian Gale GULP must be compiled in in alpha version only for the workshop ChemShell fragment object supports shells Shells are relaxed by GULP with cores fixed, ChemShell typically controls the core positions Provide forcefield in standard GULP format

37 GULP interface example
read_input gulp.ff { # from T.S.Bush, J.D.Gale, C.R.A.Catlow and P.D. Battle # J. Mater Chem., 4, (1994) species Li core Na core ... buckingham Li core O shel Na core O shel spring Mg Ca } add_shells coords=mgo.c symbols= {O Mg} newopt function=copt : [ list coords=mgo.c theory=gulp : [ list mm_defs=gulp.ff ] ]

38 ChemShell CHARMM Interface
Full functionality from standard academic CHARMM Dual process model CHARMM runs a separate process CHARMM/Tcl interface (CTCL, Alex Turner) uses named pipe to issue CHARMM commands and return results. commands to export data for DL_POLY and hybrid modules atomic types and charges neutral groups topologies and parameters Acccess to coupling models internal to CHARMM GAMESS(US), MOPAC GAMESS-UK (under development) collaboration with NIH explore additional coupling schemes (e.g. double link atom)

39 CHARMM Interface - example
# start charmm process, create chemshell object # containing the initial structure charmm.preinit script=charmm.in coords=charmm.c # ChemShell commands with theory=charmm hdlcopt theory=charmm coords=charmm.c # destroy charmm process charmm.shutdown

40 Molecular Dynamics Module
Design Features Generic - can integrate QM, MM, QM/MM trajectories Based on DL_POLY routines Integration by Verlet leap-frog SHAKE constraints Quaternion rigid body motion NVT, NPT, NVE integration Script-based control of primitive steps Simulation Protocols equilibration simulated annealing Tcl access to ChemShell matrix and coordinate objects e.g. force modification for harmonic restraint Data output trajectory output, restart files

41 Molecular Dynamics - arguments
Object oriented syntax follows Tk etc dynamics dyn1 coords=c … etc Arguments theory= module used to compute energy and forces coords= initial configuration of the system timestep= integration timestep (ps) [0.0005] temperature= simulation temperature (K) [293] mcstep= Max step displacement (a.u.) for Monte Carlo [0.2] taut= Tau(t) for Berendsen Thermostat (ps) [0.5] taup= Tau(p) for Berendsen Barostat (ps) [5.0] compute_pressure= Whether to compute pressure and virial (for NVT simulation) verbose= Provide additional output energy_unit= Unit for output

42 Molecular dynamic - arguments
Arguments (cont.) rigid_groups= rigid group (quaternion defintions) constraints= interatomic distances for SHAKE ensemble= Choice of ensemble [NVE] frozen= List of frozen atoms trajectory_type= Additional fields for trajectory (> 0 for velocity, > 1 for forces) trajectory_file= dynamics.trj file for trajectory output Methods: Dyn1 configure temperature=300 configure - modify simulation parameters initvel - initialise random velocities forces - evaluate molecular forces step - Take MD step

43 Molecular Dynamics - More methods
update - Request MM or QM/MM pairlist update mctest - Test step (Monte Carlo only) output - print data (debugging use only printe - print step number, kinetic, potential, total energy, temperature, pressure volume and virial. get - Return a variable from the dynamics, temperature, input_temperature, pressure, input_pressure, total_energy, kinetic_energy, potential_energy time trajectory - Output the current configuration to the trajectory file destroy - free memory and destroy object fcap - force cap load - recover positions/velocities dump - save positions/velocities dumpdlp - write REVCON

44 Molecular Dynamics - Example
dynamics dyn1 coords=c theory=mndo temperature=300 timestep=0.005 dyn1 initvel set nstep 0 while {$nstep < } { dyn1 force dyn1 step # additional Tcl commands here incr nstep } dyn1 configure temperature=300 # etc dyn1 destroy

45 QM Code Interfaces Provides access to third party codes
GAMESS-UK MOPAC MNDO TURBOMOLE Gaussian98 Standardised interfaces argument structure hamiltonian (includes functional) charge, mult, scftype basis (internal library or keywords) accuracy direct symmetry maxcyc...

46 GAMESS-UK Interface Can be built in two ways Notes
Interface calls GAMESS-UK and the job is executed using rungamess (so you may need to have some environment varables set) parallel execution can be requested even if ChemShell is running serially GAMESS-UK is built as part of ChemShell mainly intended for parallel machines energy coords=c \ theory=gamess : { basis=dzp hamiltonian=b3lyp } \ energy=e Notes The jobname is gamess1 unless specified Some code-specific options dumpfile= specify dumpfile routing getq = load vectors from foreign dumpfile

47 GAMESS-UK example - basis library
energy coords=c \ theory=gamess : { basisspec = { { sto-3g *} {dzp o} } } \ energy=e basisspec has the structure { { basis1 atoms-spec1} {basis2 atomspec2} ….. } Assignment proceeds left to right using pattern matching for atom labels * is a wild card This example gives sto-3g for all atoms except o Library can be extended in the Tcl script (see examples/gamess/explicitbas.chm) ECPs are used where appropriate for the basis

48 The QM/MM Modelling Approach
Couple quantum mechanics and molecular mechanics approaches QM treatment of the active site reacting centre excited state processes (e.g. spectroscopy) problem structures (e.g. complex transition metal centre) Classical MM treatment of environment enzyme structure zeolite framework explicit solvent molecules bulky organometallic ligands

49 Historical Overview 1976 Warshel, Levitt MM+Semi-empirical
study of Lysozyme 1986 Kollmann, Singh QUEST ab-initio (Gaussian-80/UCSF) + AMBER 1990 Field, Bash, Karplus CHARMM/AM1 full semi-empirical dynamics implementation 1992 Bernardi, Olivucci, Robb MMVB simulation on MC-SCF results using VB 1995 van Duijnen, de Vries HONDO/DRF direct reaction field model of polarisation 1995 Morokuma IMOMM mechanical embedding with “hidden variable” optimisation 1996 Bakowies and Thiel MNDO/MM mechanical, electrostatic and polarised semi-empirical models Eichler, Kölmel, and Sauer QM/Pot subtractive coupling of GULP/TURBOMOLE

50 Hybrid Module All control data held in Tcl lists created Implements
by setup program (Z-matrix style input) by scripts or GUI etc from user-supplied list of QM atoms provided as an argument Implements Book-keeping Division of atom lists addition of link atoms summation of energy/forces Charge shift, and addition of a compensating dipole at M2 Force resolution when link atoms are constrained to bond directions, e.g. the force on first layer MM atom (M1) arising from the force on the link atom is evaluated: Uses neutral group cutoff for QM/MM interactions

51 Hybrid Module Typical input options qm_theory= mm_theory=
qm_region = { } list of atoms in the QM region coupling = type of coupling groups = { } neutral charge groups cutoff = QM/MM cutoff atom_charges = MM charges

52 Hybrid Computational Schemes
QM/MM Couplings Unpolarised QM polarisation choice of charges? MM polarisation shell model dipole polarisabilities M2 Q2 M1 L Q1 M2 Q2 Termination Atoms Chemical type hydrogen atoms, pseudopotentials adjusted connection atoms, localised orbitals Charge perturbations none, charge deletion, charge shift, selection of 1e integrals, double link atoms Total Energy Expression Uncorrected E(M,MM) + E(QL,QM) Boundary corrected E(M,MM) + E(QL,QM) - E(L,MM) Subtractive E(MQ,MM) + E(QL,QM) - E(QL,MM)

53 Termination of the QM region
Boundary region approaches Boundary atoms are present in both QM and MM calculations Range of representations within QM code Modified ab-initio atom with model potential Semi-empirical parameterisation Frozen orbitals Re-parameterised MM potentials Link atom schemes Terminating (link) atoms are invisible to MM calculations Hydrogen, pseudo-halogen, etc.

54 Conventional QM/MM Scheme
Termination hydrogen, adjusted connection atom, pseudo-halogen Coupling Unpolarised QM polarisation MM Polarisation (Direct Reaction Field) Energy Expression No correction (Q2-Q1-L force constant mimics Q2-Q1-M1) MM Charge Adjustments Deletion (first charge group) Shift (M1->M2) Integral selection (semi-empirical) Advantages Robust Disadvantages charge perturbation at boundary Applications zeolites enzymes

55 Subtractive QM/MM Coupling
Energy Expression E(MQ,MM) + E(QL,QM) - E(QL,MM) includes boundary correction can treat polarisation of both the MM and QM regions at the force-field level Termination Any (provided a force field model for QL is available) Advantages Potentially highly accurate (free from artefacts) Can also be used for QM/QM schemes (e.g. IMOMO, Morokuma et al) Disadvantages Need for accurate forcefields Possible catastrophies on potential energy surface No electrostatic influence on QM wavefunction Applications Zeolites (Sauer et al) under development, theory=subtractive

56 QM/MM Non-bonded Interactions
Short-range forces (van der Waals) Typically will follow MM conventions (pair potentials etc), sometimes reparameterisation is performed to reflect replacement of point charges interactions with QM/MM electrostatic terms. Electrostatic interactions: Mechanical Embedding in vacuo QM calculation coupled classically to MM via point charges at QM nuclear sites Electrostatic Embedding MM atoms appear as centres generating electrostatic contribution to QM Hamiltonian Polarised Embedding MM polarisability is coupled to QM charge density

57 Mechanical Embedding Advantages Drawbacks Examples
MM and QM energies are separable separate MM relaxation, annealing etc possible QM/MM terms can be integrated directly into the forcefield No interactions between link atoms and MM centres QM energies, gradient, Hessian are the same cost as gas phase Drawbacks No model for polarisation of QM region QM/MM electrostatic coupling requires atomic charges for QM atoms generally these will be dependent on reaction coordinate Examples IMOMM (Morokuma) MNDO/MM (Bakowies and Thiel)

58 Electrostatic Embedding
(i) Assign MM Charges for pure MM system Derived from empirical schemes (e.g. as part of forcefield) Fitted to electrostatic potentials Formal charges (e.g. shell model potentials) Electronegativity equalisation (e.g. QEq) (ii) Delete MM charges on atoms in inner region Attempt to ensure that MM “defect” + terminated QM region has correct total charge approximately correct dipole moment (iii) Insert charges on MM centres into QM Hamiltonian Explicit point charges Smeared point charges Semi-empirical core interaction terms Make adjustments to closest charges (deletion, shift etc)

59 Creation of neutral embedding site (i) Neutral charge groups
Deletion according to force-field neutral charge-group definitions

60 Creation of neutral embedding site (i) Neutral charge groups
Total charge conserved, poor dipole moments

61 Creation of neutral embedding site (ii) Polar forcefields
O-x O-x Si+2x O-x O-x bond dipole models, e.g. for zeolites (Si +0.5x, O -0.5x)

62 Creation of neutral embedding site (ii) Polar forcefields
O-0.5x H O-0.5x H Si H O-0.5x H O-0.5x Select with dipole_adjust=yes

63 Creation of neutral embedding site (iii) Double link atoms
H C C N N C C H R O Suggestion from Brooks (NIH) for general deletion (not on a force-field neutral charge-group boundary)

64 Creation of neutral embedding site (iii) Double link atoms
H C H C H C N H H N C R H O All fragments are common chemical entities, automatic charge assignment is possible.

65 Boundary adjustments Q2 M2 M1 L Q1 M2 Q2 M3 Q3
Some of the classical centres will lie close to link atom (L) Artefacts can result if charge at the M1 centre is included in Hamiltonian, many adjustment schemes have been suggested Adjustments to polarising field can be made independently from specification of MM…MM interactions Similar adjustments may are needed if M1 is classified as a boundary atom, depending on M1 treatment. Q2 M2 M1 L Q1 M2 Q2 M3 Q3

66 Boundary Adjustments (i) Selective deletion of 1e integrals
L1: Delete integrals for which basis functions i or j are sited on the link atom L found to be effective for semi-empirical wavefunctions difference in potential acting on nearby basis functions causes unphysical polarisation for ab-initio QM models use coupling=L1 with qm_theory=mndo L3: Delete integrals for which basis functions i and j are cited on the link atom and qA is the neighbouring MM atom (M1) less consistent results observed in practice † † Classification from Antes and Thiel, in Combined Quantum Mechanical and Molecular Mechanical Methods, J. Gao and M. Thompson, eds. ACS Symp. Ser., Washington DC, 1998.

67 Boundary Adjustments (ii) Deletion of first neutral charge group
L2 - Exclude charges on all atoms in the neutral group containing M1 Maintains correct MM charge leading error is the missing dipole moment of the first charge group Generally reliable free from artefacts arising from close contacts Limitations only applicable in neutral group case (e.g. AMBER, CHARMM) neutral groups are highly forcefield dependent problematic if a charge group needs to be split Application biomolecular systems use coupling=L2 with groups = { … }

68 Boundary adjustments (iii) Charge shift
Delete charge on M1 Add an equal fraction of q(M1) to all atoms M2 Add correcting dipole to M2 sites (implemented as a pair of charges) charge and dipole of classical system preserved Leading sources of residual error is that Q---L dipole moment is not equivalent to Q------M Requested using coupling=shift Q2 M2 M1 L Q1 M2 Q2 M3 Q3

69 Boundary adjustments (iv) Gaussian Blur
Delocalise point charge using Gaussian shape function Large Gaussian width : electrostatic coupling disappears Narrow Gaussian width : recover point charge behaviour Intermediate values short range interactions are attenuated long range electrostatics are preserved Importance of balance - apply to entire MM system or to first neutral group Particularly valuable for double-link atom scheme where MM link atom charge lies within QM molecular envelope

70 Gaussian Blur: QM/MM Ethane
C H H C H H H MM QM Aggregate dipole moment, with MM atoms broadened Large Gaussian width dipole converges to that of the QM methane ( 0 ) Small Gaussian width point charges polarise the QM region, away from the C-H bond Compare with dipole of MM methyl group (0.18)

71 Electrostatic Embedding Summary
Advantages Capable of treating changes in charge density of QM important for solvation energies etc No need for a charge model of QM region can readily model reactions that involve charge separation Drawbacks Charges must provide a reliable model of electrostatics reparameterisation may be needed for some forcefields Danger of spurious interactions between link atoms and charges QM evaluation needed to obtain accurate MM forces QM energy, gradient, Hessian are more costly than gas phase QM

72 Solid-state Embedding Scheme
Classical cluster termination Base model on finite MM cluster QM region sees fitted correction charges at outer boundary QM region termination Ionic pseudopotentials (e.g. Zn2+, O2-) associated with atoms in the boundary region Forcefield Shell model polarisation Classical estimate of long-range dielectric effects (Mott/Littleton) Energy Expression Uncorrected MM QM Advantages suitable for ionic materials Disadvantages require specialised pseudopotentials Applications metal oxide surfaces

73 GULP - GAMESS-UK coupling
Features From Julian Gale (Imperial College), classical energies including shell model Self-consistent coupling of shell relaxation to GAMESS-UK Import electrostatic forces on shells from GAMESS-UK relax shell positions Defect energies (Mott Littleton scheme) a posteriori MPI parallel version available. Use coupling=shift (without any bonds, and with some shells in MM region, include_qm_force=yes for GULP ChemShell - hybrid module GAMESS-UK SCF & shell forces GULP shell relaxation GAMESS-UK atomic forces GULP forces

74 The Cerius-2 GUI Provides control of QM, MM, and QM/MM calculations using HDLCOpt, Newopt, and Dynamics modules Writes a ChemShell script comprising control parameters job-specific segments To set up a new system, execute % make_run_dir first to create cerius-2 files and link some ChemShell template scripts See /workshop/examples/chemsh/SDK & manual

75 Example files SDK/ SUMMARY charmm/ chemgui/ dl_poly/ dynamics/ field/ force/ fragment/ gamess/ gaussian/ gulp/ hdlcopt/ hybrid/ irc/ matrix/ mndo/ mopac/ newopt/ newopt_alex/ parallel/ quasi/ surface/ turbomole/ xtal/ zmatrix/


Download ppt "Paul Sherwood CLRC Daresbury Laboratory"

Similar presentations


Ads by Google