39 SpceCcl(
double cutoff,
double switchingWidth);
53 void computeHH_O_(
const int nAtoms,
const double R[],
double F[],
double &U,
69 void computeHH_O_(
const int nAtoms,
const double R[],
double F[],
double &U,
70 const double b[],
const bool fixed[]);
79 Water(
double const rh1[],
double const rh2[],
double const ro[],
80 double const rc[],
double fh1[],
double fh2[],
double fo[])
88 Water(
Water const &w,
double fh1[],
double fh2[],
double fo[])
97 for (
int a = 0; a < 3; ++a) {
160 static const double A_;
163 static const double B_;
202 template <
int H,
int O>
203 void computeTemplate(
const int nMolecules,
const double (*
const rh1)[H * 3],
204 const double (*
const rh2)[H * 3],
205 const double (*
const ro)[O * 3],
206 double (*
const fh1)[H * 3],
double (*
const fh2)[H * 3],
207 double (*
const fo)[O * 3],
double &energy,
208 double const b[],
bool const (*
const xh1)[H] = 0,
209 bool const (*
const xh2)[H] = 0,
210 bool const (*
const xo)[O] = 0);
Potential CCL Table II for intramolecular interactions in water.
static const double A_
Lennard-Jones.
void initialiseRho(Vector3 const &v, Rho &r)
Initialise Rho.
static const double roh_
Distance OH.
void coulombWithCutoff(Water &w1, Water &w2, double &U)
Interactions between two molecules.
void intramolecular(Water &water, double &U)
Interactions within a molecules.
static const double charge_
Charge on one hydrogen.
void lennardJonesWithCutoff(Water &w1, Water &w2, double &U)
Interactions between two molecules.
char const * getName() const
Name of the potential.
static const double theta_
Angle HOH.
static const double rhh_
Distance HH.
static const double charge2_
Square of # charge_.
static const double sigma_
Lennard-Jones. See PotentialBase::lennardJones() for definition.
void coulombFull(Water &w1, Water &w2, double &U)
Interactions between two molecules.
void computeTemplate(const int nMolecules, const double(*const rh1)[H *3], const double(*const rh2)[H *3], const double(*const ro)[O *3], double(*const fh1)[H *3], double(*const fh2)[H *3], double(*const fo)[O *3], double &energy, double const b[], bool const (*const xh1)[H]=0, bool const (*const xh2)[H]=0, bool const (*const xo)[O]=0)
Compute forces and energy.
static double const polarisationEnergy_
Polarisation correction.
static const double epsilon_
Lennard-Jones. See PotentialBase::lennardJones() for definition.
void computeHH_O_(const int nAtoms, const double R[], double F[], double &U, const double b[])
Compute the forces and the energy.
static const double B_
Lennard-Jones.
Pointers to molecule of water.
void addForces(Water const &w)
Water(Water const &w, double fh1[], double fh2[], double fo[])
Water(double const rh1[], double const rh2[], double const ro[], double const rc[], double fh1[], double fh2[], double fo[])