*
* Copyright (c) 1991-2000, University of Groningen, The Netherlands.
* Copyright (c) 2001-2004, The GROMACS development team.
- * Copyright (c) 2013,2014, by the GROMACS development team, led by
+ * Copyright (c) 2013,2014,2015, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "gromacs/legacyheaders/typedefs.h"
#include "gromacs/math/units.h"
#include "gromacs/math/vec.h"
+#include "gromacs/utility/cstringutil.h"
#include "gromacs/utility/fatalerror.h"
#include "gromacs/utility/smalloc.h"
-
/* TODO: this should be made thread-safe */
/* Gaussian interface routines */
-void init_gaussian(t_commrec *cr, t_QMrec *qm, t_MMrec *mm)
+void init_gaussian(t_QMrec *qm)
{
- FILE
- *rffile = NULL, *out = NULL;
+ FILE *out = NULL;
ivec
- basissets[eQMbasisNR] = {{0, 3, 0},
+ basissets[eQMbasisNR] = {{0, 3, 0},
{0, 3, 0}, /*added for double sto-3g entry in names.c*/
{5, 0, 0},
{5, 0, 1},
{1, 6, 11},
{4, 6, 0}};
char
- *buf = NULL;
+ *buf = NULL;
int
- i;
+ i;
/* using the ivec above to convert the basis read form the mdp file
* in a human readable format into some numbers for the gaussian
} /* write_gaussian_input */
-real read_gaussian_output(rvec QMgrad[], rvec MMgrad[], int step,
- t_QMrec *qm, t_MMrec *mm)
+real read_gaussian_output(rvec QMgrad[], rvec MMgrad[], t_QMrec *qm, t_MMrec *mm)
{
int
i, j, atnum;
return(QMener);
}
-real read_gaussian_SH_output(rvec QMgrad[], rvec MMgrad[], int step,
- gmx_bool swapped, t_QMrec *qm, t_MMrec *mm)
+real read_gaussian_SH_output(rvec QMgrad[], rvec MMgrad[], int step, t_QMrec *qm, t_MMrec *mm)
{
int
i;
}
}
-real call_gaussian(t_commrec *cr, t_forcerec *fr,
- t_QMrec *qm, t_MMrec *mm, rvec f[], rvec fshift[])
+real call_gaussian(t_forcerec *fr, t_QMrec *qm, t_MMrec *mm, rvec f[], rvec fshift[])
{
/* normal gaussian jobs */
static int
write_gaussian_input(step, fr, qm, mm);
do_gaussian(step, exe);
- QMener = read_gaussian_output(QMgrad, MMgrad, step, qm, mm);
+ QMener = read_gaussian_output(QMgrad, MMgrad, qm, mm);
/* put the QMMM forces in the force array and to the fshift
*/
for (i = 0; i < qm->nrQMatoms; i++)
} /* call_gaussian */
-real call_gaussian_SH(t_commrec *cr, t_forcerec *fr, t_QMrec *qm, t_MMrec *mm,
- rvec f[], rvec fshift[])
+real call_gaussian_SH(t_forcerec *fr, t_QMrec *qm, t_MMrec *mm, rvec f[], rvec fshift[])
{
/* a gaussian call routine intended for doing diabatic surface
* "sliding". See the manual for the theoretical background of this
write_gaussian_SH_input(step, swapped, fr, qm, mm);
do_gaussian(step, exe);
- QMener = read_gaussian_SH_output(QMgrad, MMgrad, step, swapped, qm, mm);
+ QMener = read_gaussian_SH_output(QMgrad, MMgrad, step, qm, mm);
/* check for a surface hop. Only possible if we were already state
* averaging.
{
write_gaussian_SH_input(step, swapped, fr, qm, mm);
do_gaussian(step, exe);
- QMener = read_gaussian_SH_output(QMgrad, MMgrad, step, swapped, qm, mm);
+ QMener = read_gaussian_SH_output(QMgrad, MMgrad, step, qm, mm);
}
}
/* add the QMMM forces to the gmx force array and fshift