IPotential
, IPotentialAtomic
, Potential2Spherical
, PotentialHard
public class P2DoubleWell extends Potential2HardSpherical
Modifier and Type | Field | Description |
---|---|---|
protected double |
coreDiameter |
|
protected double |
coreDiameterSquared |
|
protected Vector |
dv |
|
protected double |
epsilonCore |
|
protected double |
epsilonWell |
|
protected double |
lambda |
|
protected double |
lastCollisionVirial |
|
protected double |
lastCollisionVirialr2 |
|
protected Tensor |
lastCollisionVirialTensor |
|
protected double |
lastEnergyChange |
|
protected double |
wellDiameter |
|
protected double |
wellDiameterSquared |
boundary, dr
Constructor | Description |
---|---|
P2DoubleWell(Space space) |
|
P2DoubleWell(Space space,
double coreDiameter,
double lambda,
double epsilonCore,
double epsilonWell) |
Modifier and Type | Method | Description |
---|---|---|
void |
bump(IAtomList pair,
double falseTime) |
Implements collision dynamics between two square-well atoms.
|
double |
collisionTime(IAtomList pair,
double falseTime) |
Computes next time of collision of two square-well atoms, assuming free-flight kinematics.
|
double |
energyChange() |
returns change in potential energy due to the last collision
|
double |
getCoreDiameter() |
Accessor method for core diameter.
|
Dimension |
getCoreDiameterDimension() |
|
double |
getEpsilonCore() |
Accessor method for depth of well
|
Dimension |
getEpsilonDimension() |
|
double |
getEpsilonWell() |
|
double |
getLambda() |
Accessor method for well-diameter multiplier.
|
Dimension |
getLambdaDimension() |
|
double |
getRange() |
Returns the range over which the potential applies.
|
double |
lastCollisionVirial() |
Value of the virial from the most recent collision.
|
Tensor |
lastCollisionVirialTensor() |
Value of the virial from the most recent collision, decomposed into it
tensoral elements.
|
void |
setCoreDiameter(double c) |
Accessor method for core diameter.
|
void |
setEpsilonCore(double epsCore) |
Accessor method for depth of well
|
void |
setEpsilonWell(double epsWell) |
|
void |
setLambda(double lam) |
Accessor method for well-diameter multiplier.
|
double |
u(double r2) |
Returns infinity if overlapping, -epsilon if otherwise less than well diameter, or zero if neither.
|
nBody
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
energy, setBox
protected double coreDiameter
protected double coreDiameterSquared
protected double wellDiameter
protected double wellDiameterSquared
protected double lambda
protected double epsilonCore
protected double epsilonWell
protected double lastCollisionVirial
protected double lastCollisionVirialr2
protected Tensor lastCollisionVirialTensor
protected double lastEnergyChange
protected Vector dv
public P2DoubleWell(Space space)
public P2DoubleWell(Space space, double coreDiameter, double lambda, double epsilonCore, double epsilonWell)
public double getRange()
IPotential
getRange
in interface IPotential
getRange
in class Potential
public void bump(IAtomList pair, double falseTime)
public double lastCollisionVirial()
PotentialHard
public Tensor lastCollisionVirialTensor()
PotentialHard
public double collisionTime(IAtomList pair, double falseTime)
public double u(double r2)
u
in interface Potential2Spherical
u
in class Potential2HardSpherical
r2
- the square of the distance between the particles.public double energyChange()
PotentialHard
public double getCoreDiameter()
public void setCoreDiameter(double c)
public Dimension getCoreDiameterDimension()
public double getLambda()
public void setLambda(double lam)
public Dimension getLambdaDimension()
public double getEpsilonCore()
public double getEpsilonWell()
public void setEpsilonCore(double epsCore)
public void setEpsilonWell(double epsWell)
public Dimension getEpsilonDimension()