3 * This source code is part of
7 * GROningen MAchine for Chemical Simulations
9 * Written by David van der Spoel, Erik Lindahl, Berk Hess, and others.
10 * Copyright (c) 1991-2000, University of Groningen, The Netherlands.
11 * Copyright (c) 2001-2008, The GROMACS development team,
12 * check out http://www.gromacs.org for more information.
14 * This program is free software; you can redistribute it and/or
15 * modify it under the terms of the GNU General Public License
16 * as published by the Free Software Foundation; either version 2
17 * of the License, or (at your option) any later version.
19 * If you want to redistribute modifications, please consider that
20 * scientific software is very special. Version control is crucial -
21 * bugs must be traceable. We will be happy to consider code for
22 * inclusion in the official distribution, but derived work must not
23 * be called official GROMACS. Details are found in the README & COPYING
24 * files - if they are missing, get the official version at www.gromacs.org.
26 * To help us fund GROMACS development, we humbly ask that you cite
27 * the papers on the package - you can find them in the top README file.
29 * For more info, check our website at http://www.gromacs.org
32 * Gallium Rubidium Oxygen Manganese Argon Carbon Silicon
44 int nrQMatoms
; /* total nr of QM atoms */
45 rvec
*xQM
; /* shifted to center of box */
46 int *indexQM
; /* atom i = atom indexQM[i] in mdrun */
47 int *atomicnumberQM
;/* atomic numbers of QM atoms */
48 real
*QMcharges
; /* atomic charges of QM atoms(ONIOM) */
50 int QMcharge
; /* charge of the QM system */
51 int multiplicity
; /* multipicity (no of unpaired eln) */
52 int QMmethod
; /* see enums.h for all methods */
53 int QMbasis
; /* see enums.h for all bases */
54 int nelectrons
; /* total number of elecs in QM region*/
55 bool bTS
; /* Optimize a TS, only steep, no md */
56 bool bOPT
; /* Optimize QM subsys, only steep, no md */
57 bool *frontatoms
; /* qm atoms on the QM side of a QM-MM bond */
58 /* Gaussian specific stuff */
59 int nQMcpus
; /* no. of CPUs used for the QM calc. */
60 int QMmem
; /* memory for the gaussian calc. */
61 int accuracy
; /* convergence criterium (E(-x)) */
62 bool cpmcscf
; /* using cpmcscf(l1003)*/
68 /* Surface hopping stuff */
69 bool bSH
; /* surface hopping (diabatic only) */
70 real SAon
; /* at which energy gap the SA starts */
71 real SAoff
; /* at which energy gap the SA stops */
72 int SAsteps
; /* stepwise switchinng on the SA */
73 int SAstep
; /* current state of SA */
85 int nrMMatoms
; /* nr of MM atoms, updated every step*/
86 rvec
*xMM
; /* shifted to center of box */
87 int *indexMM
; /* atom i = atom indexMM[I] in mdrun */
88 real
*MMcharges
; /* MM point charges in std QMMM calc.*/
90 int *MMatomtype
; /* only important for semi-emp. */
92 /* gaussian specific stuff */
99 int QMMMscheme
; /* ONIOM (multi-layer) or normal */
100 int nrQMlayers
; /* number of QM layers (total layers +1 (MM)) */
101 t_QMrec
**qm
; /* atoms and run params for each QM group */
102 t_MMrec
*mm
; /* there can only be one MM subsystem ! */