etomica.integrator
Class IntegratorRigidIterative

java.lang.Object
  extended by etomica.integrator.Integrator
      extended by etomica.integrator.IntegratorBox
          extended by etomica.integrator.IntegratorMD
              extended by etomica.integrator.IntegratorRigidIterative
All Implemented Interfaces:
IBoxListener, IIntegrator, AtomLeafAgentManager.AgentSource, MoleculeAgentManager.MoleculeAgentSource, SpeciesAgentManager.AgentSource, Serializable

public class IntegratorRigidIterative
extends IntegratorMD
implements AtomLeafAgentManager.AgentSource, SpeciesAgentManager.AgentSource, MoleculeAgentManager.MoleculeAgentSource

See Also:
Serialized Form

Nested Class Summary
static class IntegratorRigidIterative.MoleculeAgent
           
 
Nested classes/interfaces inherited from class etomica.integrator.IntegratorMD
IntegratorMD.ThermostatType
 
Nested classes/interfaces inherited from class etomica.integrator.Integrator
Integrator.Forcible, Integrator.Torquable
 
Field Summary
protected  AtomPositionCOM atomPositionCOM
           
protected  AtomLeafAgentManager leafAgentManager
           
protected  int maxIterations
           
protected  MoleculeAgentManager moleculeAgentManager
           
protected  double omegaTolerance
           
protected  Tensor pressureTensor
           
 int printInterval
           
protected  RotationTensor3D rotationTensor
           
protected  ISimulation sim
           
protected  boolean storeAngularMomentum
           
protected  IVectorMutable tempAngularVelocity
           
protected  OrientationFull3D tempOrientation
           
protected  RotationTensor3D tempRotationTensor
           
protected  PotentialCalculationTorqueSum torqueSum
           
protected  AtomActionTranslateBy translateBy
           
protected  MoleculeChildAtomAction translator
           
protected  SpeciesAgentManager typeAgentManager
           
protected  Tensor workTensor
           
protected  IVectorMutable xWork
           
 
Fields inherited from class etomica.integrator.IntegratorMD
atomActionRandomizeVelocity, currentKineticEnergy, currentTime, meterKE, meterTemperature, momentum, random, space, thermostat, thermostatCount, thermostatInterval, timeStep
 
Fields inherited from class etomica.integrator.IntegratorBox
box, currentPotentialEnergy, isothermal, meterPE, potentialMaster, temperature
 
Fields inherited from class etomica.integrator.Integrator
eventManager, initialized, interval, stepCount
 
Constructor Summary
IntegratorRigidIterative(ISimulation sim, IPotentialMaster potentialMaster, double timeStep, double temperature, ISpace _space)
           
IntegratorRigidIterative(ISimulation sim, IPotentialMaster potentialMaster, ISpace _space)
           
 
Method Summary
 void doStepInternal()
          Performs the elementary integration step, such as a molecular dynamics time step, or a Monte Carlo trial.
 Class getAgentClass()
          Returns the Class of the agent.
static EtomicaInfo getEtomicaInfo()
           
 Class getMoleculeAgentClass()
          Returns the Class of the agent.
 Tensor getPressureTensor()
          Returns the pressure tensor based on the forces calculated during the last time step.
 Class getSpeciesAgentClass()
          Returns the Class of the agent.
static void main(String[] args)
           
 Object makeAgent(IAtom a)
          Returns an agent for the given Atom.
 Object makeAgent(IMolecule a)
          Returns an agent for the given Atom.
 Object makeAgent(ISpecies type)
          Returns an agent for the given AtomType.
 void randomizeMomenta()
          randomizes the velocities for the given box using velocities chosen form a Maxwell-Boltzmann distribution as in the Andersen thermostat.
 void randomizeMomentum(IAtomKinetic atom)
          randomizes the velocity of an atom in the given box using velocities chosen form a Maxwell-Boltzmann distribution as in the Andersen thermostat.
 void releaseAgent(Object agent, IAtom 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(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(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()
          reset the integrator's kinetic energy tracker
 void scaleMomenta()
          Crude method to enforce constant-temperature constraint Scales momenta of all atoms by a constant factor so that box adheres to setpoint temperature.
 void setBox(IBox p)
          Performs activities needed to set up integrator to work on given box.
 void setMaxIterations(int newMaxIterations)
           
 void setOrientationCalc(ISpecies moleculeType, OrientationCalc calcer)
           
 void setTorqueSum(PotentialCalculationTorqueSum pc)
           
 
Methods inherited from class etomica.integrator.IntegratorMD
boxAtomAdded, boxAtomLeafIndexChanged, boxAtomRemoved, boxGlobalAtomIndexChanged, boxGlobalAtomLeafIndexChanged, boxMoleculeAdded, boxMoleculeIndexChanged, boxMoleculeRemoved, boxNumberMolecules, doThermostat, getCurrentTime, getKineticEnergy, getMeterTemperature, getThermostat, getTimeStep, getTimeStepDimension, resetStepCount, setIsothermal, setMeterTemperature, setTemperature, setThermostat, setThermostatInterval, setTimeStep, setup, shiftMomenta
 
Methods inherited from class etomica.integrator.IntegratorBox
getBox, getMeterPotentialEnergy, getPotentialEnergy, getPotentialMaster, getTemperature, getTemperatureDimension, isIsothermal, setMeterPotentialEnergy
 
Methods inherited from class etomica.integrator.Integrator
doStep, getEventInterval, getEventManager, getStepCount, setEventInterval
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

torqueSum

protected PotentialCalculationTorqueSum torqueSum

pressureTensor

protected final Tensor pressureTensor

workTensor

protected final Tensor workTensor

rotationTensor

protected final RotationTensor3D rotationTensor

tempRotationTensor

protected final RotationTensor3D tempRotationTensor

xWork

protected final IVectorMutable xWork

typeAgentManager

protected final SpeciesAgentManager typeAgentManager

tempAngularVelocity

protected final IVectorMutable tempAngularVelocity

atomPositionCOM

protected final AtomPositionCOM atomPositionCOM

translateBy

protected final AtomActionTranslateBy translateBy

translator

protected final MoleculeChildAtomAction translator

tempOrientation

protected final OrientationFull3D tempOrientation

printInterval

public int printInterval

maxIterations

protected int maxIterations

omegaTolerance

protected double omegaTolerance

storeAngularMomentum

protected final boolean storeAngularMomentum
See Also:
Constant Field Values

sim

protected final ISimulation sim

leafAgentManager

protected AtomLeafAgentManager leafAgentManager

moleculeAgentManager

protected MoleculeAgentManager moleculeAgentManager
Constructor Detail

IntegratorRigidIterative

public IntegratorRigidIterative(ISimulation sim,
                                IPotentialMaster potentialMaster,
                                ISpace _space)

IntegratorRigidIterative

public IntegratorRigidIterative(ISimulation sim,
                                IPotentialMaster potentialMaster,
                                double timeStep,
                                double temperature,
                                ISpace _space)
Method Detail

getEtomicaInfo

public static EtomicaInfo getEtomicaInfo()

setBox

public void setBox(IBox p)
Description copied from class: IntegratorBox
Performs activities needed to set up integrator to work on given box.

Overrides:
setBox in class IntegratorMD

setTorqueSum

public void setTorqueSum(PotentialCalculationTorqueSum pc)

setOrientationCalc

public void setOrientationCalc(ISpecies moleculeType,
                               OrientationCalc calcer)

setMaxIterations

public void setMaxIterations(int newMaxIterations)

doStepInternal

public void doStepInternal()
Description copied from class: Integrator
Performs the elementary integration step, such as a molecular dynamics time step, or a Monte Carlo trial.

Overrides:
doStepInternal in class IntegratorMD

getPressureTensor

public Tensor getPressureTensor()
Returns the pressure tensor based on the forces calculated during the last time step.


scaleMomenta

public void scaleMomenta()
Description copied from class: IntegratorMD
Crude method to enforce constant-temperature constraint Scales momenta of all atoms by a constant factor so that box adheres to setpoint temperature. The state of the integrator may need to be updated after calling this method.

Overrides:
scaleMomenta in class IntegratorMD

randomizeMomenta

public void randomizeMomenta()
Description copied from class: IntegratorMD
randomizes the velocities for the given box using velocities chosen form a Maxwell-Boltzmann distribution as in the Andersen thermostat. The state of the integrator needs to be updated after calling this method.

Overrides:
randomizeMomenta in class IntegratorMD

randomizeMomentum

public void randomizeMomentum(IAtomKinetic atom)
Description copied from class: IntegratorMD
randomizes the velocity of an atom in the given box using velocities chosen form a Maxwell-Boltzmann distribution as in the Andersen thermostat. The state of the integrator needs to be updated after calling this method.

Overrides:
randomizeMomentum in class IntegratorMD
Parameters:
atom - whose momenta is be randomized

reset

public void reset()
Description copied from class: IntegratorMD
reset the integrator's kinetic energy tracker

Specified by:
reset in interface IIntegrator
Overrides:
reset in class IntegratorMD

getMoleculeAgentClass

public Class getMoleculeAgentClass()
Description copied from interface: MoleculeAgentManager.MoleculeAgentSource
Returns the Class of the agent. This is used to create an array of the appropriate Class.

Specified by:
getMoleculeAgentClass in interface MoleculeAgentManager.MoleculeAgentSource

makeAgent

public final Object makeAgent(IMolecule a)
Description copied from interface: MoleculeAgentManager.MoleculeAgentSource
Returns an agent for the given Atom.

Specified by:
makeAgent in interface MoleculeAgentManager.MoleculeAgentSource

releaseAgent

public void releaseAgent(Object agent,
                         IMolecule atom)
Description copied from interface: MoleculeAgentManager.MoleculeAgentSource
This informs the agent source that the agent is going away and that the agent source should disconnect the agent from other elements

Specified by:
releaseAgent in interface MoleculeAgentManager.MoleculeAgentSource

getAgentClass

public Class getAgentClass()
Description copied from interface: AtomLeafAgentManager.AgentSource
Returns the Class of the agent. This is used to create an array of the appropriate Class.

Specified by:
getAgentClass in interface AtomLeafAgentManager.AgentSource

makeAgent

public final Object makeAgent(IAtom a)
Description copied from interface: AtomLeafAgentManager.AgentSource
Returns an agent for the given Atom.

Specified by:
makeAgent in interface AtomLeafAgentManager.AgentSource

releaseAgent

public void releaseAgent(Object agent,
                         IAtom atom)
Description copied from interface: AtomLeafAgentManager.AgentSource
This informs the agent source that the agent is going away and that the agent source should disconnect the agent from other elements

Specified by:
releaseAgent in interface AtomLeafAgentManager.AgentSource

getSpeciesAgentClass

public Class getSpeciesAgentClass()
Description copied from interface: SpeciesAgentManager.AgentSource
Returns the Class of the agent. This is used to create an array of the appropriate Class.

Specified by:
getSpeciesAgentClass in interface SpeciesAgentManager.AgentSource

makeAgent

public Object makeAgent(ISpecies type)
Description copied from interface: SpeciesAgentManager.AgentSource
Returns an agent for the given AtomType.

Specified by:
makeAgent in interface SpeciesAgentManager.AgentSource

releaseAgent

public void releaseAgent(Object agent,
                         ISpecies type)
Description copied from interface: SpeciesAgentManager.AgentSource
This informs the agent source that the agent is going away and that the agent source should disconnect the agent from other elements.

Specified by:
releaseAgent in interface SpeciesAgentManager.AgentSource

main

public static void main(String[] args)