IPotential, IPotentialMolecular, IPotentialMolecularSecondDerivative, IPotentialMolecularTorque, PotentialMolecularSoftP2WaterTIP4PSoftpublic 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, worknBody, 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, setBoxenergyclone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitnBodyprotected 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 IPotentialMolecularTorquepublic Tensor[] secondDerivative(IMoleculeList pair)
secondDerivative in interface IPotentialMolecularSecondDerivativepublic Vector[] gradient(IMoleculeList atoms)
PotentialMolecularSoftgradient in interface PotentialMolecularSoftpublic Vector[] gradient(IMoleculeList atoms, Tensor pressureTensor)
PotentialMolecularSoftgradient in interface PotentialMolecularSoftpublic double virial(IMoleculeList atoms)
virial in interface PotentialMolecularSoftpublic double getRange()
IPotentialgetRange in interface IPotentialgetRange in class P2Water4Ppublic double getEpsilon()
getEpsilon in class P2Water4Ppublic double getChargeM()
public double getChargeH()
protected void doTransform(IMolecule molecule)
protected void doRotation(int axis,
IMolecule mol,
double pOrm,
double prec)