* Copyright (c) 1991-2000, University of Groningen, The Netherlands.
* Copyright (c) 2001-2004, The GROMACS development team.
* Copyright (c) 2013,2014,2015,2016,2017 by the GROMACS development team.
- * Copyright (c) 2018,2019,2020, by the GROMACS development team, led by
+ * Copyright (c) 2018,2019,2020,2021, 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.
return i;
}
-static void set_ljparams(int comb, double reppow, double v, double w, real* c6, real* c12)
+static void set_ljparams(CombinationRule comb, double reppow, double v, double w, real* c6, real* c12)
{
- if (comb == eCOMB_ARITHMETIC || comb == eCOMB_GEOM_SIG_EPS)
+ if (comb == CombinationRule::Arithmetic || comb == CombinationRule::GeomSigEps)
{
if (v >= 0)
{
/* A return value of 0 means parameters were assigned successfully,
* returning -1 means this is an all-zero interaction that should not be added.
*/
-static int assign_param(t_functype ftype, t_iparams* newparam, gmx::ArrayRef<const real> old, int comb, double reppow)
+static int assign_param(t_functype ftype,
+ t_iparams* newparam,
+ gmx::ArrayRef<const real> old,
+ CombinationRule comb,
+ double reppow)
{
bool all_param_zero = true;
{
case F_G96ANGLES:
/* Post processing of input data: store cosine iso angle itself */
- newparam->harmonic.rA = cos(old[0] * DEG2RAD);
+ newparam->harmonic.rA = cos(old[0] * gmx::c_deg2Rad);
newparam->harmonic.krA = old[1];
- newparam->harmonic.rB = cos(old[2] * DEG2RAD);
+ newparam->harmonic.rB = cos(old[2] * gmx::c_deg2Rad);
newparam->harmonic.krB = old[3];
break;
case F_G96BONDS:
newparam->thole.a = old[0];
newparam->thole.alpha1 = old[1];
newparam->thole.alpha2 = old[2];
- if ((old[1] > 0) && (old[2] > 0))
- {
- newparam->thole.rfac = old[0] * gmx::invsixthroot(old[1] * old[2]);
- }
- else
- {
- newparam->thole.rfac = 1;
- }
break;
case F_BHAM:
newparam->bham.a = old[0];
newparam->vsite.f = old[5];
break;
case F_VSITE3FAD:
- newparam->vsite.a = old[1] * cos(DEG2RAD * old[0]);
- newparam->vsite.b = old[1] * sin(DEG2RAD * old[0]);
+ newparam->vsite.a = old[1] * cos(gmx::c_deg2Rad * old[0]);
+ newparam->vsite.b = old[1] * sin(gmx::c_deg2Rad * old[0]);
newparam->vsite.c = old[2];
newparam->vsite.d = old[3];
newparam->vsite.e = old[4];
static int enter_params(gmx_ffparams_t* ffparams,
t_functype ftype,
gmx::ArrayRef<const real> forceparams,
- int comb,
+ CombinationRule comb,
real reppow,
int start,
bool bAppend)
static void enter_function(const InteractionsOfType* p,
t_functype ftype,
- int comb,
+ CombinationRule comb,
real reppow,
gmx_ffparams_t* ffparams,
InteractionList* il,
{
int start = ffparams->numTypes();
- for (auto& parm : p->interactionTypes)
+ for (const auto& parm : p->interactionTypes)
{
int type = enter_params(ffparams, ftype, parm.forceParam(), comb, reppow, start, bAppend);
/* Type==-1 is used as a signal that this interaction is all-zero and should not be added. */
gmx::ArrayRef<const InteractionsOfType> nbtypes,
gmx::ArrayRef<const MoleculeInformation> mi,
const MoleculeInformation* intermolecular_interactions,
- int comb,
+ CombinationRule comb,
double reppow,
real fudgeQQ,
gmx_mtop_t* mtop)