*/
#include "gmxpre.h"
-#include <math.h>
-#include <stdio.h>
+#include <cmath>
+#include <cstdio>
#include "gromacs/commandline/pargs.h"
#include "gromacs/fileio/xvgr.h"
+#include "gromacs/gmxana/gmx_ana.h"
#include "gromacs/legacyheaders/macros.h"
#include "gromacs/legacyheaders/names.h"
#include "gromacs/legacyheaders/txtdump.h"
real pot(real x, real qq, real c6, real cn, int npow)
{
- return cn*pow(x, -npow)-c6*pow(x, -6)+qq*ONE_4PI_EPS0/x;
+ return cn*pow(x, -npow)-c6*std::pow(x, -6)+qq*ONE_4PI_EPS0/x;
}
real bhpot(real x, real A, real B, real C)
{
- return A*exp(-B*x) - C*pow(x, -6.0);
+ return A*std::exp(-B*x) - C*std::pow(x, -6);
}
real dpot(real x, real qq, real c6, real cn, int npow)
{
- return -(npow*cn*pow(x, -npow-1)-6*c6*pow(x, -7)+qq*ONE_4PI_EPS0/sqr(x));
+ return -(npow*cn*std::pow(x, -npow-1)-6*c6*std::pow(x, -7)+qq*ONE_4PI_EPS0/sqr(x));
}
int gmx_sigeps(int argc, char *argv[])
FILE *fp;
int i;
gmx_bool bBham;
- real qq, x, oldx, minimum, mval, dp[2], pp[2];
+ real qq, x, oldx, minimum, mval, dp[2];
int cur = 0;
#define next (1-cur)
if (bBham)
{
c6 = Cbh;
- sig = pow((6.0/npow)*pow(npow/Bbh, npow-6.0), 1.0/(npow-6.0));
- eps = c6/(4*pow(sig, 6.0));
- cn = 4*eps*pow(sig, npow);
+ sig = std::pow((6.0/npow)*std::pow(npow/Bbh, npow-6), 1.0/(npow-6));
+ eps = c6/(4*std::pow(sig, 6));
+ cn = 4*eps*std::pow(sig, npow);
}
else
{
if (opt2parg_bSet("-sig", asize(pa), pa) ||
opt2parg_bSet("-eps", asize(pa), pa))
{
- c6 = 4*eps*pow(sig, 6);
- cn = 4*eps*pow(sig, npow);
+ c6 = 4*eps*std::pow(sig, 6);
+ cn = 4*eps*std::pow(sig, npow);
}
else if (opt2parg_bSet("-c6", asize(pa), pa) ||
opt2parg_bSet("-cn", asize(pa), pa) ||
opt2parg_bSet("-pow", asize(pa), pa))
{
- sig = pow(cn/c6, 1.0/(npow-6.0));
- eps = 0.25*c6*pow(sig, -6.0);
+ sig = std::pow(cn/c6, static_cast<real>(1.0/(npow-6)));
+ eps = 0.25*c6*std::pow(sig, -6);
}
else
{
printf("c6 = %12.5e, c%d = %12.5e\n", c6, npow, cn);
printf("sigma = %12.5f, epsilon = %12.5f\n", sig, eps);
- minimum = pow(npow/6.0*pow(sig, npow-6.0), 1.0/(npow-6));
+ minimum = std::pow(npow/6.0*std::pow(sig, npow-6), 1.0/(npow-6));
printf("Van der Waals minimum at %g, V = %g\n\n",
minimum, pot(minimum, 0, c6, cn, npow));
printf("Fit of Lennard Jones (%d-6) to Buckingham:\n", npow);
Bbh = npow/minimum;
Cbh = c6;
- Abh = 4*eps*pow(sig/minimum, npow)*exp(npow);
+ Abh = 4*eps*std::pow(sig/minimum, static_cast<real>(npow))*std::exp(static_cast<real>(npow));
printf("A = %g, B = %g, C = %g\n", Abh, Bbh, Cbh);
}
qq = qi*qj;
{
sig = 0.25;
}
- minimum = -1;
- mval = 0;
oldx = 0;
for (i = 0; (i < 100); i++)
{