AtomLeafAgentManager.AgentSource<MCMoveVolumeAssociated.Agent>
, MCMoveStepDependent
public class MCMoveVolumeAssociated extends MCMoveBoxStep implements AtomLeafAgentManager.AgentSource<MCMoveVolumeAssociated.Agent>
Modifier and Type | Class | Description |
---|---|---|
static class |
MCMoveVolumeAssociated.Agent |
Modifier and Type | Field | Description |
---|---|---|
protected AtomIteratorLeafAtoms |
affectedAtomIterator |
|
protected AssociationManager |
associationManager |
|
protected AtomLeafAgentManager<MCMoveVolumeAssociated.Agent> |
atomLeafAgentManager |
|
static boolean |
dodebug |
|
protected Vector |
dr |
|
protected Vector |
dr2 |
|
protected java.io.FileWriter |
fileWriter |
|
protected int |
numAssociatedAtoms |
|
protected int |
numMer |
|
protected double |
pressure |
|
protected Vector |
r |
|
protected AtomArrayList |
smerList |
moveTracker, nominalFrequency, potential
box, perParticleFrequency
stepSize, stepSizeMax, stepSizeMin
Constructor | Description |
---|---|
MCMoveVolumeAssociated(PotentialMaster potentialMaster,
IRandom random,
Space _space,
double pressure) |
|
MCMoveVolumeAssociated(Simulation sim,
PotentialMaster potentialMaster,
Space _space) |
Modifier and Type | Method | Description |
---|---|---|
void |
acceptNotify() |
Method called by IntegratorMC in the event that the most recent trial is
accepted.
|
AtomIterator |
affectedAtoms() |
|
boolean |
doTrial() |
Method to perform trial move.
|
double |
energyChange() |
|
double |
getChi(double temperature) |
Chi is the parameter within standard Metropolis Monte Carlo.
|
double |
getPressure() |
|
Dimension |
getPressureDimension() |
|
MCMoveVolumeAssociated.Agent |
makeAgent(IAtom a,
Box agentBox) |
Returns an agent for the given Atom.
|
protected int |
populateList(AtomArrayList mySmerList,
IAtom atom) |
|
void |
rejectNotify() |
Method called by IntegratorMC in the event that the most recent trial
move is rejected.
|
void |
releaseAgent(MCMoveVolumeAssociated.Agent 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.
|
protected void |
scaleAtoms(double rScale) |
|
void |
setAssociationManager(AssociationManager associationManager) |
|
void |
setBox(Box p) |
Sets the box on which this move acts.
|
void |
setPressure(double p) |
|
protected void |
unscaleAtoms(double rScale) |
getNominalFrequency, getTracker, setTracker
affectedAtoms, energyChange, getBox, isNominallyPerParticleFrequency, toString
getStepSize, getStepSizeDimension, getStepSizeMax, getStepSizeMaxDimension, getStepSizeMin, getStepSizeMinDimension, setStepSize, setStepSizeMax, setStepSizeMin
protected double pressure
protected final AtomIteratorLeafAtoms affectedAtomIterator
protected final Vector r
protected final Vector dr
protected final Vector dr2
protected AssociationManager associationManager
protected int numAssociatedAtoms
protected int numMer
protected AtomLeafAgentManager<MCMoveVolumeAssociated.Agent> atomLeafAgentManager
protected final AtomArrayList smerList
public static boolean dodebug
protected java.io.FileWriter fileWriter
public MCMoveVolumeAssociated(Simulation sim, PotentialMaster potentialMaster, Space _space)
public MCMoveVolumeAssociated(PotentialMaster potentialMaster, IRandom random, Space _space, double pressure)
potentialMaster
- an appropriate PotentialMaster instance for calculating energies_space
- the governing space for the simulationpublic void setBox(Box p)
MCMoveBox
public boolean doTrial()
MCMove
protected void scaleAtoms(double rScale)
protected void unscaleAtoms(double rScale)
protected int populateList(AtomArrayList mySmerList, IAtom atom)
public void setAssociationManager(AssociationManager associationManager)
public double getChi(double temperature)
MCMove
public void acceptNotify()
MCMove
acceptNotify
in class MCMove
public void rejectNotify()
MCMove
rejectNotify
in class MCMove
public double energyChange()
energyChange
in class MCMoveBox
public AtomIterator affectedAtoms()
affectedAtoms
in class MCMoveBox
public void setPressure(double p)
public final double getPressure()
public Dimension getPressureDimension()
public MCMoveVolumeAssociated.Agent makeAgent(IAtom a, Box agentBox)
AtomLeafAgentManager.AgentSource
makeAgent
in interface AtomLeafAgentManager.AgentSource<MCMoveVolumeAssociated.Agent>
agentBox
- TODOpublic void releaseAgent(MCMoveVolumeAssociated.Agent agent, IAtom atom, Box agentBox)
AtomLeafAgentManager.AgentSource
releaseAgent
in interface AtomLeafAgentManager.AgentSource<MCMoveVolumeAssociated.Agent>