AtomLeafAgentManager.AgentSource<IntegratorHard.Agent>, BoxEventListener, INeighborListListenerIntegratorHardMDMC, IntegratorHardPistonpublic class IntegratorHard extends IntegratorMD implements INeighborListListener, AtomLeafAgentManager.AgentSource<IntegratorHard.Agent>
| Modifier and Type | Class | Description |
|---|---|---|
static class |
IntegratorHard.Agent |
Agent defined by this integrator.
|
protected static class |
IntegratorHard.CollisionHandlerUp |
|
static interface |
IntegratorHard.CollisionListener |
Integrator.Forcible, Integrator.TorquableIntegratorMD.ThermostatType, IntegratorMD.VectorSource| Modifier and Type | Field | Description |
|---|---|---|
protected AtomLeafAgentManager<IntegratorHard.Agent> |
agentManager |
|
protected double |
collisionTimeStep |
|
protected IteratorDirective |
downList |
|
protected TreeList |
eventList |
|
protected AtomArrayList |
listToUpdate |
|
protected IteratorDirective |
upList |
eventManager, initialized, interval, stepCountbox, currentPotentialEnergy, isothermal, meterPE, potentialMaster, space, temperaturealwaysScaleMomenta, atomActionRandomizeVelocity, currentKineticEnergy, currentTime, integratorMC, mcSteps, meterKE, meterTemperature, momentum, nAccepted, nRejected, oldEnergy, oldPositionAgentManager, oldPotentialEnergy, random, temperatureVec, thermostat, thermostatCount, thermostatInterval, thermostatNoDrift, thermostatting, timeStep| Constructor | Description |
|---|---|
IntegratorHard(PotentialMaster potentialMaster,
IRandom random,
double timeStep,
double temperature,
Box box) |
|
IntegratorHard(Simulation sim,
PotentialMaster potentialMaster,
Box box) |
| Modifier and Type | Method | Description |
|---|---|---|
void |
addCollisionListener(IntegratorHard.CollisionListener cl) |
Registers an object that implements the CollisionListener interface.
|
protected void |
advanceAcrossTimeStep(double tStep) |
Advances all atom coordinates by tStep, without any intervening collisions.
|
void |
boxMoleculeAdded(BoxMoleculeEvent e) |
Called when a molecule is added to the box.
|
protected void |
doStepInternal() |
Steps all atoms across time interval timeStep, handling all intervening collisions.
|
long |
getCollisionCount() |
|
IntegratorHard.Agent |
getLastColliderAgent() |
|
PotentialHard |
getNullPotential(AtomType atomType) |
|
IntegratorHard.Agent |
makeAgent(IAtom a,
Box agentBox) |
Produces the Agent for this integrator.
|
void |
neighborListNeighborsUpdated() |
|
protected void |
processReverseList() |
Recalculate collision times (up) for any atoms atoms in the "reverse"
list of atoms that thought they would collide with an atom that's
changed.
|
protected void |
randomizeMomenta() |
Updates collision times appropriately after randomizing momenta
as part of the Andersen thermostat.
|
protected void |
randomizeMomentum(IAtomKinetic atom) |
Updates collision time appropriately after randomizing momentum
as part of the Andersen thermostat.
|
protected void |
randomizeTotalKE() |
Updates collision times appropriately after randomizing momenta
as part of the Andersen scaling thermostat.
|
void |
releaseAgent(IntegratorHard.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.
|
void |
removeCollisionListener(IntegratorHard.CollisionListener cl) |
De-registers an object from the list of collision listeners.
|
void |
reset() |
Performs superclass reset actions and recalculated currentPotentialEnergy
|
void |
resetStepCount() |
This method resets the step counter.
|
protected void |
scaleMomenta() |
Updates collision times appropriately after scaling momenta.
|
void |
setNullPotential(PotentialHard nullPotential,
AtomType type) |
Sets the "null" potential for the given AtomType.
|
void |
setTemperature(double temperature) |
|
protected void |
updateAtom(IAtom a) |
updates collision time for a single atom (and any atom that might a
collision with the atom)
|
protected void |
updateAtoms(AtomPair colliders) |
Updates collision times/partners for collider and partner, and
for atoms that were to collide with one of them.
|
doStep, getEventInterval, getEventManager, getStepCount, isInitialized, setEventIntervalgetBox, getMeterPotentialEnergy, getPotentialEnergy, getPotentialMaster, getTemperature, getTemperatureDimension, isIsothermal, setBox, setMeterPotentialEnergyboxAtomLeafIndexChanged, boxGlobalAtomLeafIndexChanged, boxMoleculeIndexChanged, boxMoleculeRemoved, boxNumberMolecules, doThermostat, doThermostatInternal, getAlwaysScaleRandomizedMomenta, getCurrentTime, getHybridAcceptance, getIntegratorMC, getKineticEnergy, getMeterTemperature, getThermostat, getThermostatInterval, getTimeStep, isThermostatNoDrift, resetHybridAcceptance, scaleMomenta, setAlwaysScaleRandomizedMomenta, setIntegratorMC, setIsothermal, setMeterTemperature, setThermostat, setThermostatInterval, setThermostatNoDrift, setTimeStep, setup, shiftMomentaprotected final IteratorDirective upList
protected final IteratorDirective downList
protected final AtomArrayList listToUpdate
protected final TreeList eventList
protected double collisionTimeStep
protected final AtomLeafAgentManager<IntegratorHard.Agent> agentManager
public IntegratorHard(Simulation sim, PotentialMaster potentialMaster, Box box)
public IntegratorHard(PotentialMaster potentialMaster, IRandom random, double timeStep, double temperature, Box box)
public void setTemperature(double temperature)
setTemperature in class IntegratorMDtemperature - the new temperaturepublic IntegratorHard.Agent getLastColliderAgent()
protected void doStepInternal()
doStepInternal in class IntegratorMDpublic void resetStepCount()
IntegratorresetStepCount in class IntegratorMDpublic long getCollisionCount()
protected void updateAtoms(AtomPair colliders)
protected void updateAtom(IAtom a)
protected void processReverseList()
protected void advanceAcrossTimeStep(double tStep)
public void reset()
IntegratorBoxreset in class IntegratorMDpublic void neighborListNeighborsUpdated()
neighborListNeighborsUpdated in interface INeighborListListenerpublic void boxMoleculeAdded(BoxMoleculeEvent e)
BoxEventListenerboxMoleculeAdded in interface BoxEventListenerboxMoleculeAdded in class IntegratorMDe - the event, which contains the added molecule and the box to
which it was added.protected void scaleMomenta()
scaleMomenta in class IntegratorMDprotected void randomizeMomenta()
randomizeMomenta in class IntegratorMDprotected void randomizeTotalKE()
randomizeTotalKE in class IntegratorMDprotected void randomizeMomentum(IAtomKinetic atom)
randomizeMomentum in class IntegratorMDatom - whose momenta is be randomizedpublic void addCollisionListener(IntegratorHard.CollisionListener cl)
public void removeCollisionListener(IntegratorHard.CollisionListener cl)
public PotentialHard getNullPotential(AtomType atomType)
public void setNullPotential(PotentialHard nullPotential, AtomType type)
public IntegratorHard.Agent makeAgent(IAtom a, Box agentBox)
makeAgent in interface AtomLeafAgentManager.AgentSource<IntegratorHard.Agent>agentBox - TODOpublic void releaseAgent(IntegratorHard.Agent agent, IAtom atom, Box agentBox)
AtomLeafAgentManager.AgentSourcereleaseAgent in interface AtomLeafAgentManager.AgentSource<IntegratorHard.Agent>