public class MCMoveGeometricClusterRestrictedGE extends MCMove
Modifier and Type | Field | Description |
---|---|---|
protected IAtom |
atom |
|
protected AtomIteratorArrayListSimple |
atomIterator |
|
protected AtomPair |
atomPair |
|
protected AtomArrayList |
atomPairs |
|
protected AtomSource |
atomSource |
|
protected Box |
box1 |
|
protected Box |
box2 |
|
protected java.util.HashSet<IAtom> |
clusterAtoms1 |
|
protected java.util.HashSet<IAtom> |
clusterAtoms2 |
|
protected java.util.List<IAtom> |
clusterAtomsList1 |
|
protected java.util.List<IAtom> |
clusterAtomsList2 |
|
protected MeterPotentialEnergy |
energyMeter |
|
protected java.util.List<IAtom> |
jNeighbors |
|
protected boolean |
mixedPM |
|
protected Api1ACell |
neighbors1 |
|
protected Api1ACell |
neighbors2 |
|
int[][] |
numSwaps |
|
protected Vector |
oldPosition |
|
protected java.util.HashMap<IAtom,Box> |
originalBox |
|
protected Vector |
pivot |
|
protected RandomPositionSource |
positionSource |
|
protected IPotentialAtomic[][] |
potentials |
|
protected IRandom |
random |
|
protected ISpecies |
solute |
|
protected double |
temperature |
moveTracker, nominalFrequency, potential
Constructor | Description |
---|---|
MCMoveGeometricClusterRestrictedGE(PotentialMaster potentialMaster,
Space space,
IRandom random,
Box box1,
Box box2,
ISpecies seed) |
Modifier and Type | Method | Description |
---|---|---|
void |
acceptNotify() |
Method called by IntegratorMC in the event that the most recent trial is
accepted.
|
AtomIterator |
affectedAtoms(Box box) |
Returns an iterator that yields the atoms that were affected by the trial
move the last time doTrial was invoked (regardless of whether the move
was accepted).
|
boolean |
doTrial() |
Method to perform trial move.
|
double |
energyChange(Box box) |
Returns 1 because move is always accepted.
|
double |
getChi(double temperature) |
Chi is the parameter within standard Metropolis Monte Carlo.
|
void |
rejectNotify() |
Method called by IntegratorMC in the event that the most recent trial
move is rejected.
|
void |
setPotential(AtomType type1,
AtomType type2,
IPotentialAtomic p2) |
Informs the move that p2 is the potential between type1 and type2.
|
void |
setTemperature(double temperature) |
getNominalFrequency, getTracker, setTracker, toString
protected RandomPositionSource positionSource
protected AtomSource atomSource
protected final java.util.HashSet<IAtom> clusterAtoms1
protected final java.util.HashSet<IAtom> clusterAtoms2
protected final java.util.List<IAtom> jNeighbors
protected final java.util.List<IAtom> clusterAtomsList1
protected final java.util.List<IAtom> clusterAtomsList2
protected final Vector oldPosition
protected Vector pivot
protected final Api1ACell neighbors1
protected final Api1ACell neighbors2
protected final AtomArrayList atomPairs
protected final IRandom random
protected IPotentialAtomic[][] potentials
protected final AtomPair atomPair
protected final AtomIteratorArrayListSimple atomIterator
protected final Box box1
protected final Box box2
protected double temperature
protected MeterPotentialEnergy energyMeter
protected IAtom atom
protected final ISpecies solute
protected final boolean mixedPM
public int[][] numSwaps
public MCMoveGeometricClusterRestrictedGE(PotentialMaster potentialMaster, Space space, IRandom random, Box box1, Box box2, ISpecies seed)
potentialMaster
- the PotentialMaster instance used by the simulation; this must have cell based neighbor list
which is used to identify interacting moleculesspace
- simulation spacerandom
- random number generatorbox1
- specifies simulation box1box2
- specifies simulation box2seed
- specifies the molecules that are selected for the initial trial move; may be null, in which case
any molecule in the box could be used for initial trialpublic boolean doTrial()
MCMove
public void setPotential(AtomType type1, AtomType type2, IPotentialAtomic p2)
type1
- the first atom typetype2
- the second atom typep2
- the potential between type1 and type2public void setTemperature(double temperature)
public double getChi(double temperature)
MCMove
public void acceptNotify()
MCMove
acceptNotify
in class MCMove
public void rejectNotify()
MCMove
rejectNotify
in class MCMove
public AtomIterator affectedAtoms(Box box)
MCMove
affectedAtoms
in class MCMove
public double energyChange(Box box)
energyChange
in class MCMove