AtomLeafAgentManager.AgentSource<IntegratorHard.Agent>
, BoxEventListener
, INeighborListListener
public class IntegratorHardPiston extends IntegratorHard
Integrator.Forcible, Integrator.Torquable
IntegratorHard.Agent, IntegratorHard.CollisionHandlerUp, IntegratorHard.CollisionListener
IntegratorMD.ThermostatType, IntegratorMD.VectorSource
Modifier and Type | Field | Description |
---|---|---|
protected AtomSetSinglet |
atomSetSinglet |
eventManager, initialized, interval, stepCount
box, currentPotentialEnergy, isothermal, meterPE, potentialMaster, space, temperature
agentManager, collisionTimeStep, downList, eventList, listToUpdate, upList
alwaysScaleMomenta, atomActionRandomizeVelocity, currentKineticEnergy, currentTime, integratorMC, mcSteps, meterKE, meterTemperature, momentum, nAccepted, nRejected, oldEnergy, oldPositionAgentManager, oldPotentialEnergy, random, temperatureVec, thermostat, thermostatCount, thermostatInterval, thermostatNoDrift, thermostatting, timeStep
Constructor | Description |
---|---|
IntegratorHardPiston(Simulation sim,
PotentialMaster potentialMaster,
P1HardMovingBoundary potentialWrapper,
Box box) |
Modifier and Type | Method | Description |
---|---|---|
void |
advanceAcrossTimeStep(double tStep) |
Advances all atom coordinates by tStep, without any intervening collisions.
|
protected void |
doStepInternal() |
Steps all atoms across time interval timeStep, handling all intervening collisions.
|
void |
pistonUpdateRequested() |
|
void |
reset() |
Performs superclass reset actions and recalculated currentPotentialEnergy
|
void |
resetPiston() |
|
void |
updateAtom(IAtom a) |
updates collision time for a single atom (and any atom that might a
collision with the atom)
|
void |
updatePiston() |
recalculate collision times for all atoms with the wall/piston
|
doStep, getEventInterval, getEventManager, getStepCount, isInitialized, setEventInterval
getBox, getMeterPotentialEnergy, getPotentialEnergy, getPotentialMaster, getTemperature, getTemperatureDimension, isIsothermal, setBox, setMeterPotentialEnergy
addCollisionListener, boxMoleculeAdded, getCollisionCount, getLastColliderAgent, getNullPotential, makeAgent, neighborListNeighborsUpdated, processReverseList, randomizeMomenta, randomizeMomentum, randomizeTotalKE, releaseAgent, removeCollisionListener, resetStepCount, scaleMomenta, setNullPotential, setTemperature, updateAtoms
boxAtomLeafIndexChanged, 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, shiftMomenta
protected final AtomSetSinglet atomSetSinglet
public IntegratorHardPiston(Simulation sim, PotentialMaster potentialMaster, P1HardMovingBoundary potentialWrapper, Box box)
potentialMaster
- potentialMaster
- Potential between piston and every atom in the boxpublic void resetPiston()
protected void doStepInternal()
IntegratorHard
doStepInternal
in class IntegratorHard
public void updateAtom(IAtom a)
IntegratorHard
updateAtom
in class IntegratorHard
public void reset()
IntegratorBox
reset
in class IntegratorHard
public void updatePiston()
public void advanceAcrossTimeStep(double tStep)
IntegratorHard
advanceAcrossTimeStep
in class IntegratorHard
public void pistonUpdateRequested()