AtomLeafAgentManager.AgentSource<IntegratorVerlet.Agent>
, BoxEventListener
public final class IntegratorVerlet extends IntegratorMD implements AtomLeafAgentManager.AgentSource<IntegratorVerlet.Agent>
Modifier and Type | Class | Description |
---|---|---|
static class |
IntegratorVerlet.Agent |
Integrator.Forcible, Integrator.Torquable
IntegratorMD.ThermostatType, IntegratorMD.VectorSource
Modifier and Type | Field | Description |
---|---|---|
protected AtomLeafAgentManager<IntegratorVerlet.Agent> |
agentManager |
|
protected PotentialCalculationForcePressureSum |
forceSum |
|
protected Tensor |
pressureTensor |
|
protected Tensor |
workTensor |
eventManager, initialized, interval, stepCount
box, currentPotentialEnergy, isothermal, meterPE, potentialMaster, space, temperature
alwaysScaleMomenta, atomActionRandomizeVelocity, currentKineticEnergy, currentTime, integratorMC, mcSteps, meterKE, meterTemperature, momentum, nAccepted, nRejected, oldEnergy, oldPositionAgentManager, oldPotentialEnergy, random, temperatureVec, thermostat, thermostatCount, thermostatInterval, thermostatNoDrift, thermostatting, timeStep
Constructor | Description |
---|---|
IntegratorVerlet(PotentialMaster potentialMaster,
IRandom random,
double timeStep,
double temperature,
Box box) |
|
IntegratorVerlet(Simulation sim,
PotentialMaster potentialMaster,
Box box) |
Modifier and Type | Method | Description |
---|---|---|
protected void |
doStepInternal() |
Performs the elementary integration step, such as a molecular dynamics
time step, or a Monte Carlo trial.
|
Tensor |
getPressureTensor() |
Returns the pressure tensor based on the forces calculated during the
last time step.
|
IntegratorVerlet.Agent |
makeAgent(IAtom a,
Box agentBox) |
Returns an agent for the given Atom.
|
protected void |
randomizeMomenta() |
Updates MrLast appropriately after randomizing momenta
as part of the Andersen thermostat.
|
protected void |
randomizeMomentum(IAtomKinetic atom) |
Updates MrLast appropriately after randomizing momentum
as part of the Andersen thermostat.
|
void |
releaseAgent(IntegratorVerlet.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 |
reset() |
Performs superclass reset actions and recalculated currentPotentialEnergy
|
void |
setTimeStep(double t) |
|
protected void |
updateMrLast() |
doStep, getEventInterval, getEventManager, getStepCount, isInitialized, setEventInterval
getBox, getMeterPotentialEnergy, getPotentialEnergy, getPotentialMaster, getTemperature, getTemperatureDimension, isIsothermal, setBox, setMeterPotentialEnergy
boxAtomLeafIndexChanged, boxGlobalAtomLeafIndexChanged, boxMoleculeAdded, boxMoleculeIndexChanged, boxMoleculeRemoved, boxNumberMolecules, doThermostat, doThermostatInternal, getAlwaysScaleRandomizedMomenta, getCurrentTime, getHybridAcceptance, getIntegratorMC, getKineticEnergy, getMeterTemperature, getThermostat, getThermostatInterval, getTimeStep, isThermostatNoDrift, randomizeTotalKE, resetHybridAcceptance, resetStepCount, scaleMomenta, scaleMomenta, setAlwaysScaleRandomizedMomenta, setIntegratorMC, setIsothermal, setMeterTemperature, setTemperature, setThermostat, setThermostatInterval, setThermostatNoDrift, setup, shiftMomenta
protected final PotentialCalculationForcePressureSum forceSum
protected final Tensor pressureTensor
protected final Tensor workTensor
protected AtomLeafAgentManager<IntegratorVerlet.Agent> agentManager
public IntegratorVerlet(Simulation sim, PotentialMaster potentialMaster, Box box)
public IntegratorVerlet(PotentialMaster potentialMaster, IRandom random, double timeStep, double temperature, Box box)
public final void setTimeStep(double t)
setTimeStep
in class IntegratorMD
t
- the new integration time stepprotected void doStepInternal()
Integrator
doStepInternal
in class IntegratorMD
public Tensor getPressureTensor()
public void reset()
IntegratorBox
reset
in class IntegratorMD
protected void updateMrLast()
protected void randomizeMomenta()
randomizeMomenta
in class IntegratorMD
protected void randomizeMomentum(IAtomKinetic atom)
randomizeMomentum
in class IntegratorMD
atom
- whose momenta is be randomizedpublic final IntegratorVerlet.Agent makeAgent(IAtom a, Box agentBox)
AtomLeafAgentManager.AgentSource
makeAgent
in interface AtomLeafAgentManager.AgentSource<IntegratorVerlet.Agent>
agentBox
- TODOpublic void releaseAgent(IntegratorVerlet.Agent agent, IAtom atom, Box agentBox)
AtomLeafAgentManager.AgentSource
releaseAgent
in interface AtomLeafAgentManager.AgentSource<IntegratorVerlet.Agent>