BoxEventListener
, MoleculeAgentManager.MoleculeAgentSource
, SpeciesAgentManager.AgentSource
public class IntegratorRigidMatrixIterative extends IntegratorMD implements SpeciesAgentManager.AgentSource, MoleculeAgentManager.MoleculeAgentSource
Modifier and Type | Class | Description |
---|---|---|
static class |
IntegratorRigidMatrixIterative.BoxImposePbcMolecule |
Integrator.Forcible, Integrator.Torquable
IntegratorMD.ThermostatType, IntegratorMD.VectorSource
Modifier and Type | Field | Description |
---|---|---|
protected MoleculePositionCOM |
atomPositionCOM |
|
protected RotationTensor3D |
axesTensor |
|
protected AtomLeafAgentManager<Vector> |
forces |
|
protected int |
maxIterations |
|
protected MoleculeAgentManager |
moleculeAgentManager |
|
protected Tensor |
omegaTensor |
|
protected double |
omegaTolerance |
|
protected Tensor |
pressureTensor |
|
int |
printInterval |
|
protected RotationTensor3D |
rotationTensor |
|
protected double |
rotationTolerance |
|
protected Simulation |
sim |
|
protected Vector |
tempAngularVelocity |
|
protected RotationTensor3D |
tempAxesTensor |
|
protected OrientationFull3D |
tempOrientation |
|
protected PotentialCalculationTorqueSum |
torqueSum |
|
protected AtomActionTranslateBy |
translateBy |
|
protected MoleculeChildAtomAction |
translator |
|
protected SpeciesAgentManager |
typeAgentManager |
|
protected Tensor |
workTensor |
|
protected Vector |
xWork |
|
protected Vector |
yWork |
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 |
---|---|
IntegratorRigidMatrixIterative(Simulation sim,
PotentialMaster potentialMaster,
double timeStep,
double temperature,
Box box) |
|
IntegratorRigidMatrixIterative(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.
|
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 |
randomizeMomentum(IAtomKinetic atom) |
Randomizes the velocities of the given atom using value
chosen from a Maxwell-Boltzmann distribution, as in the Andersen
thermostat.
|
void |
releaseAgent(java.lang.Object agent,
IMolecule molecule) |
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 |
setMaxIterations(int newMaxIterations) |
|
void |
setOrientationCalc(ISpecies species,
OrientationCalc 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, randomizeTotalKE, resetHybridAcceptance, resetStepCount, scaleMomenta, setAlwaysScaleRandomizedMomenta, setIntegratorMC, setIsothermal, setMeterTemperature, setTemperature, setThermostat, setThermostatInterval, setThermostatNoDrift, setTimeStep, setup
protected PotentialCalculationTorqueSum torqueSum
protected final Tensor pressureTensor
protected final Tensor workTensor
protected final RotationTensor3D rotationTensor
protected final Vector xWork
protected final Vector yWork
protected final SpeciesAgentManager typeAgentManager
protected final Vector tempAngularVelocity
protected final MoleculePositionCOM atomPositionCOM
protected final AtomActionTranslateBy translateBy
protected final MoleculeChildAtomAction translator
protected final OrientationFull3D tempOrientation
public int printInterval
protected int maxIterations
protected double omegaTolerance
protected double rotationTolerance
protected final RotationTensor3D axesTensor
protected final RotationTensor3D tempAxesTensor
protected final Tensor omegaTensor
protected final Simulation sim
protected AtomLeafAgentManager<Vector> forces
protected MoleculeAgentManager moleculeAgentManager
public IntegratorRigidMatrixIterative(Simulation sim, PotentialMaster potentialMaster, Box box)
public IntegratorRigidMatrixIterative(Simulation sim, PotentialMaster potentialMaster, double timeStep, double temperature, Box box)
public void setOrientationCalc(ISpecies species, OrientationCalc calcer)
public void setMaxIterations(int newMaxIterations)
protected void doStepInternal()
Integrator
doStepInternal
in class IntegratorMD
public Tensor getPressureTensor()
public void scaleMomenta()
IntegratorMD
scaleMomenta
in class IntegratorMD
public void shiftMomenta()
IntegratorMD
shiftMomenta
in class IntegratorMD
public void randomizeMomenta()
IntegratorMD
randomizeMomenta
in class IntegratorMD
public void randomizeMomentum(IAtomKinetic atom)
IntegratorMD
randomizeMomentum
in class IntegratorMD
atom
- whose momenta is be randomizedpublic 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 molecule)
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