AtomLeafAgentManager.AgentSource<AtomArrayList>
, IPotential
, IPotentialAtomic
, Potential2Spherical
, PotentialHard
public class P2SquareWellRobust extends Potential2HardSpherical implements AtomLeafAgentManager.AgentSource<AtomArrayList>
Modifier and Type | Field | Description |
---|---|---|
protected AtomType[] |
atomTypes |
|
protected java.util.Map<Box,AtomLeafAgentManager<AtomArrayList>> |
boxWellManager |
|
protected double |
coreDiameter |
|
protected double |
coreDiameterSquared |
|
protected Vector |
dv |
|
protected double |
epsilon |
|
protected boolean |
ignoreOverlap |
|
protected double |
lambda |
|
protected double |
lastCollisionVirial |
|
protected double |
lastCollisionVirialr2 |
|
protected Tensor |
lastCollisionVirialTensor |
|
protected double |
lastEnergyChange |
|
protected PotentialMasterList |
potentialMaster |
|
protected boolean |
suppressMakeAgent |
|
protected double |
wellDiameter |
|
protected double |
wellDiameterSquared |
|
protected AtomLeafAgentManager<AtomArrayList> |
wellManager |
boundary, dr
Constructor | Description |
---|---|
P2SquareWellRobust(Space space) |
|
P2SquareWellRobust(Space space,
double coreDiameter,
double lambda,
double epsilon,
boolean ignoreOverlap) |
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 |
getEpsilon() |
Accessor method for depth of well
|
Dimension |
getEpsilonDimension() |
|
double |
getLambda() |
Accessor method for well-diameter multiplier.
|
Dimension |
getLambdaDimension() |
|
double |
getRange() |
Returns the range over which the potential applies.
|
protected void |
handleNewAtomNbr(IAtom a,
AtomLeafAgentManager<AtomArrayList> agentManager,
NeighborListManager nbrListManager,
AtomArrayList iList) |
|
protected void |
handleNewAtomNoNbr(IAtom a,
AtomLeafAgentManager<AtomArrayList> agentManager,
IAtomList leafList,
AtomArrayList iList) |
|
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.
|
AtomArrayList |
makeAgent(IAtom atom,
Box agentBox) |
Returns an agent for the given Atom.
|
AtomLeafAgentManager<AtomArrayList> |
makeAgent(Box box) |
|
void |
releaseAgent(AtomArrayList iList,
IAtom atom,
Box agentBox) |
This informs the agent source that the agent is going away and that
the agent source should disconnect the agent from other elements.
|
void |
setBox(Box box) |
Informs the potential of the box on which it acts.
|
void |
setCoreDiameter(double c) |
Accessor method for core diameter.
|
void |
setEpsilon(double eps) |
Accessor method for depth of well
|
void |
setLambda(double lam) |
Accessor method for well-diameter multiplier.
|
void |
setPotentialMaster(PotentialMasterList potentialMaster,
AtomType[] types) |
Informs the square-well class what the potential master is (if neighbor
listing is used) and the types of atoms interacting with this potential.
|
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
protected final boolean ignoreOverlap
protected final java.util.Map<Box,AtomLeafAgentManager<AtomArrayList>> boxWellManager
protected double coreDiameter
protected double coreDiameterSquared
protected double wellDiameter
protected double wellDiameterSquared
protected double lambda
protected double epsilon
protected double lastCollisionVirial
protected double lastCollisionVirialr2
protected Tensor lastCollisionVirialTensor
protected double lastEnergyChange
protected Vector dv
protected AtomLeafAgentManager<AtomArrayList> wellManager
protected PotentialMasterList potentialMaster
protected AtomType[] atomTypes
protected boolean suppressMakeAgent
public P2SquareWellRobust(Space space)
public P2SquareWellRobust(Space space, double coreDiameter, double lambda, double epsilon, boolean ignoreOverlap)
public void setPotentialMaster(PotentialMasterList potentialMaster, AtomType[] types)
potentialMaster
- types
- public double getRange()
IPotential
getRange
in interface IPotential
getRange
in class Potential
public void bump(IAtomList pair, double falseTime)
bump
in interface PotentialHard
public double lastCollisionVirial()
PotentialHard
lastCollisionVirial
in interface PotentialHard
public Tensor lastCollisionVirialTensor()
PotentialHard
lastCollisionVirialTensor
in interface PotentialHard
public double collisionTime(IAtomList pair, double falseTime)
collisionTime
in interface PotentialHard
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
energyChange
in interface 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 getEpsilon()
public void setEpsilon(double eps)
public Dimension getEpsilonDimension()
public void setBox(Box box)
Potential
setBox
in interface IPotential
setBox
in class Potential2HardSpherical
protected void handleNewAtomNbr(IAtom a, AtomLeafAgentManager<AtomArrayList> agentManager, NeighborListManager nbrListManager, AtomArrayList iList)
protected void handleNewAtomNoNbr(IAtom a, AtomLeafAgentManager<AtomArrayList> agentManager, IAtomList leafList, AtomArrayList iList)
public AtomLeafAgentManager<AtomArrayList> makeAgent(Box box)
public AtomArrayList makeAgent(IAtom atom, Box agentBox)
AtomLeafAgentManager.AgentSource
makeAgent
in interface AtomLeafAgentManager.AgentSource<AtomArrayList>
agentBox
- TODOpublic void releaseAgent(AtomArrayList iList, IAtom atom, Box agentBox)
AtomLeafAgentManager.AgentSource
releaseAgent
in interface AtomLeafAgentManager.AgentSource<AtomArrayList>