public class IntegratorDimerMin extends IntegratorBox
Integrator.Forcible, Integrator.Torquable
eventManager, initialized, interval, stepCount
box, currentPotentialEnergy, isothermal, meterPE, potentialMaster, space, temperature
Constructor | Description |
---|---|
IntegratorDimerMin(Simulation aSim,
PotentialMaster potentialMaster,
double temperature,
ISpecies[] aspecies,
java.lang.Boolean normalDir,
Box box) |
|
IntegratorDimerMin(Simulation sim,
PotentialMaster potentialMaster,
ISpecies[] species,
java.lang.Boolean normalDir,
Box box) |
Modifier and Type | Method | Description |
---|---|---|
protected void |
dimerForcePerp(Vector[] aN,
Vector[] aF1,
Vector[] aFperp) |
Finds the component of the dimer's total force that is perpendicular to the normal vector.
|
protected void |
dimerForces(Vector[] aF1,
Vector[] aF,
Vector[] aF2) |
Resets forces in boxes 0 and min, calls potential.calculate, and copies over
the new forces to local arrays.
|
protected void |
dimerForcesStar(Vector[] aF1star,
Vector[] aF2star,
Vector[] aF) |
Used in the middle of the rotateDimer method.
|
protected void |
dimerNormal() |
Computes an n-dimensional vector in potential energy hyperspace, pointing
in the direction of the dimer (intersecting both simulation boxes).
|
protected void |
doStepInternal() |
Performs the elementary integration step, such as a molecular dynamics
time step, or a Monte Carlo trial.
|
void |
quitSearch() |
Called after criteria is met in the rotateDimer method.
|
void |
reset() |
Performs superclass reset actions and recalculated currentPotentialEnergy
|
void |
rotateDimerNewton() |
Rotates the dimer in potential energy hyperspace and aligns it with the surface's lowest
curvature mode.
|
void |
setFileName(java.lang.String fileName) |
Set's the filename of the output of this integrator.
|
protected void |
setup() |
Perform initialization.
|
void |
walkDimer() |
Moves the half-dimer stepLength*N towards the energy minimum.
|
doStep, getEventInterval, getEventManager, getStepCount, isInitialized, resetStepCount, setEventInterval
getBox, getMeterPotentialEnergy, getPotentialEnergy, getPotentialMaster, getTemperature, getTemperatureDimension, isIsothermal, setBox, setIsothermal, setMeterPotentialEnergy, setTemperature
public Simulation sim
public Box boxMin
public AtomLeafAgentManager<Vector> atomAgent0
public AtomLeafAgentManager<Vector> atomAgentMin
public PotentialCalculationForceSum force0
public PotentialCalculationForceSum forceMin
public IteratorDirective allatoms
public java.io.FileWriter fileWriter
public MeterPotentialEnergy energyBox0
public MeterPotentialEnergy energyBoxMin
public Vector[] N
public Vector[] Nstar
public Vector NDelta
public Vector NstarDelta
public Vector workVector
public Vector[] saddle
public Vector[] F0
public Vector[] Fmin
public Vector[] Fmin2
public Vector[] THETA
public Vector[] THETAstar
public Vector[] Fperp
public Vector[] Fminperp
public Vector[] Fmin2perp
public Vector[] Fstar
public Vector[] Fminstar
public Vector[] Fmin2star
public Vector[] Fstarperp
public Vector[] Fpara
public ISpecies[] movableSpecies
public AtomArrayList list
public AtomArrayList listMin
public int movableAtoms
public double energy
public double deltaR
public double deltaTheta
public double stepLength
public double dTheta
public double Frot
public double dFrot
public double Fprimerot
public double sinDtheta
public double cosDtheta
public double eMin
public double e0
public int rotCounter
public int counter
public boolean rotate
public boolean normalD
public boolean minFound
public java.lang.String file
public WriteConfiguration writer
public CalcVibrationalModes vib
public IntegratorDimerMin(Simulation sim, PotentialMaster potentialMaster, ISpecies[] species, java.lang.Boolean normalDir, Box box)
public IntegratorDimerMin(Simulation aSim, PotentialMaster potentialMaster, double temperature, ISpecies[] aspecies, java.lang.Boolean normalDir, Box box)
public void setFileName(java.lang.String fileName)
fileName
- Stringpublic void reset()
IntegratorBox
reset
in class IntegratorBox
protected void doStepInternal()
Integrator
doStepInternal
in class Integrator
protected void setup()
Integrator
setup
in class Integrator
public void rotateDimerNewton()
public void walkDimer()
public void quitSearch()
protected void dimerNormal()
protected void dimerForces(Vector[] aF1, Vector[] aF, Vector[] aF2)
aF1
- Array of vectors holding the forces in box minaF
- Array of vectors holding the forces in box 0aF2
- Array of vectors holding the forces in virtual box 2protected void dimerForcesStar(Vector[] aF1star, Vector[] aF2star, Vector[] aF)
aF1star
- Array of vectors holding the forces in box minaF2star
- Array of vectors holding the forces in virtual box 2aF
- Array of vectors holding the forces in box 0protected void dimerForcePerp(Vector[] aN, Vector[] aF1, Vector[] aFperp)
aN
- Array of vectors that create an n-dimensional vector parallel to the orientation of the dimer.aF1
- Array of vectors holding the forces in box minaFperp
- Array of vectors that create an n-dimensional vector perpendicular to the orientation of the dimer.