IPotential
, IPotentialAtomic
, PotentialSoft
public class P4TorsionDreiding extends Potential implements PotentialSoft
Modifier and Type | Field | Description |
---|---|---|
protected double |
beta |
|
protected Boundary |
boundary |
|
protected Vector3D |
dr12 |
|
protected Vector3D |
dr23 |
|
protected Vector3D |
dr34 |
|
protected Vector3D |
dra |
|
protected Vector3D |
drb |
|
protected Vector3D |
drbxa |
|
protected Vector[] |
gradient |
|
protected int |
n |
|
protected double |
phiEq |
Constructor | Description |
---|---|
P4TorsionDreiding(Space space,
double phiEq,
double beta,
int n) |
Modifier and Type | Method | Description |
---|---|---|
double |
du(IAtomList atomSet) |
|
static double |
dudphi(int i,
double cosp,
double sinp) |
|
double |
energy(IAtomList atomSet) |
Returns the interaction energy between the given atoms.
|
double |
getBeta() |
|
int |
getN() |
|
double |
getPhi() |
|
double |
getRange() |
Returns the range over which the potential applies.
|
Vector[] |
gradient(IAtomList atoms) |
Returns the gradient of the potential as it applies to each atom in the
given AtomSet, indicating how the energy would change as the position of
the first atom is varied.
|
Vector[] |
gradient(IAtomList atomSet,
Tensor pressureTensor) |
Returns the same gradient as gradient(AtomSet) and also adds in the
contribution of the AtomSet to the pressureTensor.
|
void |
setBeta(double newBeta) |
|
void |
setBox(Box box) |
Informs the potential of the box on which it acts.
|
void |
setN(int newN) |
|
void |
setPhi(double newPhi) |
|
double |
virial(IAtomList atomSet) |
nBody
protected final Vector3D dr12
protected final Vector3D dr23
protected final Vector3D dr34
protected final Vector3D dra
protected final Vector3D drb
protected final Vector3D drbxa
protected final Vector[] gradient
protected double phiEq
protected double beta
protected int n
protected Boundary boundary
public P4TorsionDreiding(Space space, double phiEq, double beta, int n)
public double virial(IAtomList atomSet)
virial
in interface PotentialSoft
public Vector[] gradient(IAtomList atomSet, Tensor pressureTensor)
PotentialSoft
gradient
in interface PotentialSoft
public Vector[] gradient(IAtomList atoms)
PotentialSoft
gradient
in interface PotentialSoft
public void setBox(Box box)
Potential
setBox
in interface IPotential
setBox
in class Potential
public double energy(IAtomList atomSet)
Potential
energy
in interface IPotentialAtomic
energy
in class Potential
public double du(IAtomList atomSet)
public void setPhi(double newPhi)
public double getPhi()
public void setBeta(double newBeta)
public double getBeta()
public void setN(int newN)
public int getN()
public static double dudphi(int i, double cosp, double sinp)
public double getRange()
IPotential
getRange
in interface IPotential
getRange
in class Potential