BoxEventListener
, MoleculeAgentManager.MoleculeAgentSource
, SpeciesAgentManager.AgentSource
public class IntegratorVelocityVerletQuaternion extends IntegratorMD implements SpeciesAgentManager.AgentSource, MoleculeAgentManager.MoleculeAgentSource
Modifier and Type | Class | Description |
---|---|---|
static class |
IntegratorVelocityVerletQuaternion.MoleculeAgent |
|
static class |
IntegratorVelocityVerletQuaternion.MyTypeAgent |
Integrator.Forcible, Integrator.Torquable
IntegratorMD.ThermostatType, IntegratorMD.VectorSource
Modifier and Type | Field | Description |
---|---|---|
protected Vector |
angularVelocity |
|
protected MoleculePositionCOM |
atomPositionCOM |
|
protected PotentialCalculationForceSum |
forceSum |
|
protected AtomLeafAgentManager<Vector> |
leafAgentManager |
|
protected MoleculeAgentManager |
moleculeAgentManager |
|
protected Tensor |
pressureTensor |
|
int |
printInterval |
|
protected double[] |
quatVelocity |
|
protected RotationTensor3D |
rotationTensor |
|
protected Simulation |
sim |
|
protected double[] |
tempQuat |
|
protected AtomActionTranslateBy |
translateBy |
|
protected MoleculeChildAtomAction |
translator |
|
protected SpeciesAgentManager |
typeAgentManager |
|
protected Tensor |
workTensor |
|
protected Vector |
xWork |
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 |
---|---|
IntegratorVelocityVerletQuaternion(Simulation sim,
PotentialMaster potentialMaster,
double timeStep,
double temperature,
Box box) |
|
IntegratorVelocityVerletQuaternion(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.
|
static void |
main(java.lang.String[] args) |
|
java.lang.Object |
makeAgent(IMolecule a) |
Returns an agent for the given Atom.
|
java.lang.Object |
makeAgent(ISpecies type) |
Returns an agent for the given AtomType.
|
void |
randomizeMomenta() |
Randomizes the velocities of all atoms in the box using values
chosen from a Maxwell-Boltzmann distribution, as in the Andersen
thermostat.
|
void |
releaseAgent(java.lang.Object agent,
IMolecule atom) |
This informs the agent source that the agent is going away and that
the agent source should disconnect the agent from other elements
|
void |
releaseAgent(java.lang.Object agent,
ISpecies type) |
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 |
scaleMomenta() |
Crude method to enforce constant-temperature constraint, by
scaling momenta of all atoms by a constant factor so that
box adheres to setpoint temperature.
|
void |
setOrientationCalc(ISpecies species,
OrientationCalcQuaternion calcer) |
|
void |
shiftMomenta() |
Subtracts velocity from all atoms such that the new net momentum of
the whole system is zero.
|
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, randomizeMomentum, randomizeTotalKE, resetHybridAcceptance, resetStepCount, scaleMomenta, setAlwaysScaleRandomizedMomenta, setIntegratorMC, setIsothermal, setMeterTemperature, setTemperature, setThermostat, setThermostatInterval, setThermostatNoDrift, setTimeStep, setup
protected final Tensor pressureTensor
protected final Tensor workTensor
protected final RotationTensor3D rotationTensor
protected final Vector xWork
protected final SpeciesAgentManager typeAgentManager
protected final Vector angularVelocity
protected final double[] quatVelocity
protected final double[] tempQuat
protected final MoleculePositionCOM atomPositionCOM
protected final AtomActionTranslateBy translateBy
protected final MoleculeChildAtomAction translator
protected final Simulation sim
public int printInterval
protected PotentialCalculationForceSum forceSum
protected AtomLeafAgentManager<Vector> leafAgentManager
protected MoleculeAgentManager moleculeAgentManager
public IntegratorVelocityVerletQuaternion(Simulation sim, PotentialMaster potentialMaster, Box box)
public IntegratorVelocityVerletQuaternion(Simulation sim, PotentialMaster potentialMaster, double timeStep, double temperature, Box box)
public static void main(java.lang.String[] args)
public void setOrientationCalc(ISpecies species, OrientationCalcQuaternion calcer)
protected void doStepInternal()
Integrator
doStepInternal
in class IntegratorMD
public Tensor getPressureTensor()
public void scaleMomenta()
IntegratorMD
scaleMomenta
in class IntegratorMD
public void randomizeMomenta()
IntegratorMD
randomizeMomenta
in class IntegratorMD
public void shiftMomenta()
IntegratorMD
shiftMomenta
in class IntegratorMD
public void reset()
IntegratorBox
reset
in class IntegratorMD
public final java.lang.Object makeAgent(IMolecule a)
MoleculeAgentManager.MoleculeAgentSource
makeAgent
in interface MoleculeAgentManager.MoleculeAgentSource
public void releaseAgent(java.lang.Object agent, IMolecule atom)
MoleculeAgentManager.MoleculeAgentSource
releaseAgent
in interface MoleculeAgentManager.MoleculeAgentSource
public java.lang.Object makeAgent(ISpecies type)
SpeciesAgentManager.AgentSource
makeAgent
in interface SpeciesAgentManager.AgentSource
public void releaseAgent(java.lang.Object agent, ISpecies type)
SpeciesAgentManager.AgentSource
releaseAgent
in interface SpeciesAgentManager.AgentSource