git-svn-id: svn://svn.icms.temple.edu/lammps-ro/trunk@1447 f3b2605a-c512-4ea7-a41b-209d697bcdaa

This commit is contained in:
sjplimp 2008-01-31 19:27:41 +00:00
parent ba2208a094
commit b094f95cf8
1 changed files with 14 additions and 10 deletions

View File

@ -28,18 +28,18 @@
#include "force.h" #include "force.h"
#include "neigh_list.h" #include "neigh_list.h"
#define MIN(a,b) ((a) < (b) ? (a) : (b)) namespace LAMMPS_NS {
#define MAX(a,b) ((a) > (b) ? (a) : (b))
#define EWALD_F 1.12837917 #define EWALD_F 1.12837917
#define EWALD_P 0.3275911 #define EWALD_P 0.3275911
#define A1 0.254829592 #define EWALD_A1 0.254829592
#define A2 -0.284496736 #define EWALD_A2 -0.284496736
#define A3 1.421413741 #define EWALD_A3 1.421413741
#define A4 -1.453152027 #define EWALD_A4 -1.453152027
#define A5 1.061405429 #define EWALD_A5 1.061405429
namespace LAMMPS_NS { #define MIN(a,b) ((a) < (b) ? (a) : (b))
#define MAX(a,b) ((a) > (b) ? (a) : (b))
class PairLJCharmmCoulLongOpt : public PairLJCharmmCoulLong { class PairLJCharmmCoulLongOpt : public PairLJCharmmCoulLong {
public: public:
@ -146,7 +146,9 @@ void PairLJCharmmCoulLongOpt::eval()
grij = g_ewald * r; grij = g_ewald * r;
expm2 = exp(-grij*grij); expm2 = exp(-grij*grij);
t = 1.0 / (1.0 + EWALD_P*grij); t = 1.0 / (1.0 + EWALD_P*grij);
erfc = t * (A1+t*(A2+t*(A3+t*(A4+t*A5)))) * expm2; erfc = t *
(EWALD_A1+t*(EWALD_A2+t*(EWALD_A3+t*(EWALD_A4+t*EWALD_A5)))) *
expm2;
prefactor = qqrd2e * tmp_coef3/r; prefactor = qqrd2e * tmp_coef3/r;
forcecoul = prefactor * (erfc + EWALD_F*grij*expm2); forcecoul = prefactor * (erfc + EWALD_F*grij*expm2);
} else { } else {
@ -230,7 +232,9 @@ void PairLJCharmmCoulLongOpt::eval()
grij = g_ewald * r; grij = g_ewald * r;
expm2 = exp(-grij*grij); expm2 = exp(-grij*grij);
t = 1.0 / (1.0 + EWALD_P*grij); t = 1.0 / (1.0 + EWALD_P*grij);
erfc = t * (A1+t*(A2+t*(A3+t*(A4+t*A5)))) * expm2; erfc = t *
(EWALD_A1+t*(EWALD_A2+t*(EWALD_A3+t*(EWALD_A4+t*EWALD_A5)))) *
expm2;
prefactor = qqrd2e * tmp_coef3/r; prefactor = qqrd2e * tmp_coef3/r;
forcecoul = prefactor * (erfc + EWALD_F*grij*expm2); forcecoul = prefactor * (erfc + EWALD_F*grij*expm2);
if (factor_coul < 1.0) { if (factor_coul < 1.0) {