AtomLeafAgentManager.AgentSource<IntegratorRigidIterative.AtomForceAgent>
, BoxEventListener
, MoleculeAgentManager.MoleculeAgentSource
, SpeciesAgentManager.AgentSource
public class IntegratorRigidIterative extends IntegratorMD implements SpeciesAgentManager.AgentSource, MoleculeAgentManager.MoleculeAgentSource, AtomLeafAgentManager.AgentSource<IntegratorRigidIterative.AtomForceAgent>
Modifier and Type | Class | Description |
---|---|---|
static class |
IntegratorRigidIterative.AtomForceAgent |
|
static class |
IntegratorRigidIterative.MoleculeAgent |
Integrator.Forcible, Integrator.Torquable
IntegratorMD.ThermostatType, IntegratorMD.VectorSource
Modifier and Type | Field | Description |
---|---|---|
protected MoleculePositionCOM |
atomPositionCOM |
|
protected AtomLeafAgentManager<IntegratorRigidIterative.AtomForceAgent> |
leafAgentManager |
|
protected int |
maxIterations |
|
protected MoleculeAgentManager |
moleculeAgentManager |
|
protected double |
omegaTolerance |
|
protected Tensor |
pressureTensor |
|
int |
printInterval |
|
protected RotationTensor3D |
rotationTensor |
|
protected Simulation |
sim |
|
protected boolean |
storeAngularMomentum |
|
protected Vector |
tempAngularVelocity |
|
protected OrientationFull3D |
tempOrientation |
|
protected RotationTensor3D |
tempRotationTensor |
|
protected PotentialCalculationTorqueSum |
torqueSum |
|
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 |
---|---|
IntegratorRigidIterative(Simulation sim,
PotentialMaster potentialMaster,
double timeStep,
double temperature,
Box box) |
|
IntegratorRigidIterative(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) |
|
IntegratorRigidIterative.AtomForceAgent |
makeAgent(IAtom a,
Box agentBox) |
Returns an agent for the given Atom.
|
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(IntegratorRigidIterative.AtomForceAgent 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 |
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 |
setMaxIterations(int newMaxIterations) |
|
void |
setOrientationCalc(ISpecies moleculeType,
OrientationCalc calcer) |
|
void |
setTorqueSum(PotentialCalculationTorqueSum pc) |
|
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 RotationTensor3D tempRotationTensor
protected final Vector xWork
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 final boolean storeAngularMomentum
protected final Simulation sim
protected AtomLeafAgentManager<IntegratorRigidIterative.AtomForceAgent> leafAgentManager
protected MoleculeAgentManager moleculeAgentManager
public IntegratorRigidIterative(Simulation sim, PotentialMaster potentialMaster, Box box)
public IntegratorRigidIterative(Simulation sim, PotentialMaster potentialMaster, double timeStep, double temperature, Box box)
public void setTorqueSum(PotentialCalculationTorqueSum pc)
public void setOrientationCalc(ISpecies moleculeType, 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 atom)
MoleculeAgentManager.MoleculeAgentSource
releaseAgent
in interface MoleculeAgentManager.MoleculeAgentSource
public IntegratorRigidIterative.AtomForceAgent makeAgent(IAtom a, Box agentBox)
AtomLeafAgentManager.AgentSource
makeAgent
in interface AtomLeafAgentManager.AgentSource<IntegratorRigidIterative.AtomForceAgent>
agentBox
- TODOpublic void releaseAgent(IntegratorRigidIterative.AtomForceAgent agent, IAtom atom, Box agentBox)
AtomLeafAgentManager.AgentSource
releaseAgent
in interface AtomLeafAgentManager.AgentSource<IntegratorRigidIterative.AtomForceAgent>
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
public static void main(java.lang.String[] args)