AtomLeafAgentManager.AgentSource<CriterionPositionWall.DoubleWrapper>
, NeighborCriterion
public class CriterionPositionWall extends java.lang.Object implements NeighborCriterion, AtomLeafAgentManager.AgentSource<CriterionPositionWall.DoubleWrapper>
Modifier and Type | Class | Description |
---|---|---|
protected static class |
CriterionPositionWall.DoubleWrapper |
Modifier and Type | Field | Description |
---|---|---|
protected AtomLeafAgentManager<CriterionPositionWall.DoubleWrapper> |
agentManager |
|
protected double |
dr |
|
protected double |
rMaxSafe |
|
protected double |
safetyFactor |
Constructor | Description |
---|---|
CriterionPositionWall(Simulation sim) |
Modifier and Type | Method | Description |
---|---|---|
boolean |
accept(IAtom atom1,
IAtom atom2) |
|
double |
getInteractionRange() |
Returns the interaction range of the wall potential.
|
Dimension |
getInteractionRangeDimension() |
|
double |
getNeighborRange() |
|
Dimension |
getNeighborRangeDimension() |
|
double |
getSafetyFactor() |
returns the safety factor
|
double |
getWallPosition() |
Returns the position of the wall.
|
Dimension |
getWallPositionDimension() |
|
boolean |
isBoundaryWall() |
Returns true if the walls are at the box boundaries.
|
CriterionPositionWall.DoubleWrapper |
makeAgent(IAtom atom,
Box agentBox) |
Returns an agent for the given Atom.
|
boolean |
needUpdate(IAtom atom) |
Indicates whether the neighbor list for the given atom should
be updated, according to this criterion.
|
void |
releaseAgent(CriterionPositionWall.DoubleWrapper agent,
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 |
reset(IAtom atom) |
Indicates to criterion that given atom's neighbor list has just been
updated, and that properties (e.g., record of atom's position)
used by needUpdate and unsafe() methods should be reset.
|
void |
setBoundaryWall(boolean isBoundaryWall) |
Sets whether the walls are at the box boundaries or not.
|
void |
setBox(Box box) |
Specifies the box where the criterion is being applied.
|
void |
setInteractionRange(double r) |
Informs the criterion of the interaction range of the wall potential.
|
void |
setNeighborRange(double r) |
Sets the neighbor range of the criterion.
|
void |
setSafetyFactor(double f) |
Sets the safety factor (between 0 and 1.0) that determines when the
criterion thinks it needs an update.
|
void |
setWallDim(int d) |
Sets the orientation of the wall to be perpendicular to the given dimension
|
void |
setWallPosition(double p) |
Sets the position of the wall.
|
boolean |
unsafe() |
Indicates whether the atom has changed (e.g.
|
protected double safetyFactor
protected double dr
protected double rMaxSafe
protected AtomLeafAgentManager<CriterionPositionWall.DoubleWrapper> agentManager
public CriterionPositionWall(Simulation sim)
public void setSafetyFactor(double f)
public double getSafetyFactor()
public void setWallDim(int d)
public double getInteractionRange()
public void setInteractionRange(double r)
public Dimension getInteractionRangeDimension()
public void setNeighborRange(double r)
public double getNeighborRange()
public Dimension getNeighborRangeDimension()
public boolean isBoundaryWall()
public void setBoundaryWall(boolean isBoundaryWall)
public void setWallPosition(double p)
public double getWallPosition()
public Dimension getWallPositionDimension()
public boolean needUpdate(IAtom atom)
NeighborCriterion
needUpdate
in interface NeighborCriterion
public void setBox(Box box)
NeighborCriterion
setBox
in interface NeighborCriterion
public boolean unsafe()
NeighborCriterion
unsafe
in interface NeighborCriterion
public boolean accept(IAtom atom1, IAtom atom2)
accept
in interface NeighborCriterion
public void reset(IAtom atom)
NeighborCriterion
reset
in interface NeighborCriterion
public CriterionPositionWall.DoubleWrapper makeAgent(IAtom atom, Box agentBox)
AtomLeafAgentManager.AgentSource
makeAgent
in interface AtomLeafAgentManager.AgentSource<CriterionPositionWall.DoubleWrapper>
agentBox
- TODOpublic void releaseAgent(CriterionPositionWall.DoubleWrapper agent, IAtom atom, Box agentBox)
AtomLeafAgentManager.AgentSource
releaseAgent
in interface AtomLeafAgentManager.AgentSource<CriterionPositionWall.DoubleWrapper>