IPotential
, IPotentialMolecular
, IPotentialMolecularSecondDerivative
, IPotentialMolecularTorque
, PotentialMolecularSoft
P2WaterTIP4PSoft
public class P2Water4PSoft extends P2Water4P implements IPotentialMolecularSecondDerivative
Modifier and Type | Class | Description |
---|---|---|
static interface |
P2Water4PSoft.AtomicTensorAtomicPair |
Modifier and Type | Field | Description |
---|---|---|
protected Vector[][] |
a |
|
protected Vector |
centerMass |
|
protected Vector |
dr |
|
protected Vector |
dr0 |
|
protected Vector |
dr1 |
|
protected double |
epsilon48 |
|
protected Vector |
fWork |
|
protected Vector[] |
gradient |
|
protected Vector[][] |
gradientAndTorque |
|
protected RotationTensor3D |
rotationTensor3D |
|
protected Tensor[] |
secondDerivative |
|
protected Vector[] |
tau |
|
protected Tensor |
tmpDrr |
|
protected Tensor[] |
tmpSecondD |
|
protected Tensor[] |
tmpTensor |
|
protected Vector[] |
torque |
boundary, chargeH, chargeHH, chargeM, chargeMH, chargeMM, com1, com2, epsilon, epsilon4, positionDefinition, rCut, shift, sigma, sigma2, work
nBody, space
Constructor | Description |
---|---|
P2Water4PSoft(Space space,
double sigma,
double epsilon,
double chargeH,
double rCut,
IMoleculePositionDefinition positionDefinition) |
Modifier and Type | Method | Description |
---|---|---|
protected Tensor[] |
atomicToMolecularD(IMolecule mol0,
IMolecule mol1) |
|
protected void |
doRotation(int axis,
IMolecule mol,
double pOrm,
double prec) |
|
protected void |
doTransform(IMolecule molecule) |
|
double |
getChargeH() |
|
double |
getChargeM() |
|
double |
getEpsilon() |
|
double |
getRange() |
Returns the range over which the potential applies.
|
double |
getSigma() |
|
Vector[] |
gradient(IMoleculeList 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(IMoleculeList atoms,
Tensor pressureTensor) |
Returns the same gradient as gradient(IMoleculeList) and also adds in
the contribution of the molecules to the pressureTensor.
|
Vector[][] |
gradientAndTorque(IMoleculeList pair) |
|
Vector |
pairForce(IAtom atom0,
IAtom atom1) |
|
Tensor[] |
secondDerivative(IMoleculeList pair) |
|
double |
virial(IMoleculeList atoms) |
nBody, setBox
energy
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
nBody
protected final Vector[] gradient
protected final Vector[] torque
protected final Vector[] tau
protected final Vector[][] gradientAndTorque
protected final Tensor[] secondDerivative
protected final Tensor[] tmpSecondD
protected double epsilon48
protected final Vector fWork
protected final Vector dr
protected final Vector dr0
protected final Vector dr1
protected final Tensor tmpDrr
protected final Tensor[] tmpTensor
protected transient RotationTensor3D rotationTensor3D
protected Vector centerMass
protected final Vector[][] a
public P2Water4PSoft(Space space, double sigma, double epsilon, double chargeH, double rCut, IMoleculePositionDefinition positionDefinition)
public Vector[][] gradientAndTorque(IMoleculeList pair)
gradientAndTorque
in interface IPotentialMolecularTorque
public Tensor[] secondDerivative(IMoleculeList pair)
secondDerivative
in interface IPotentialMolecularSecondDerivative
public Vector[] gradient(IMoleculeList atoms)
PotentialMolecularSoft
gradient
in interface PotentialMolecularSoft
public Vector[] gradient(IMoleculeList atoms, Tensor pressureTensor)
PotentialMolecularSoft
gradient
in interface PotentialMolecularSoft
public double virial(IMoleculeList atoms)
virial
in interface PotentialMolecularSoft
public double getRange()
IPotential
getRange
in interface IPotential
getRange
in class P2Water4P
public double getEpsilon()
getEpsilon
in class P2Water4P
public double getChargeM()
public double getChargeH()
protected void doTransform(IMolecule molecule)
protected void doRotation(int axis, IMolecule mol, double pOrm, double prec)