Package src :: Package propagators :: Package classes :: Module NosePoincGL :: Class NosePoincGL
[hide private]
[frames] | no frames]

Class NosePoincGL

source code

??-35 --+
        |
       NosePoincGL

This method is based on an extended Hamiltonian with an additional thermostat, or degree of freedom. The resulting Hamiltonian gives rise to implicit coupling between the variables, requiring implicit symplectic methods. Since this is undesirable the Generalised Leapfrog method is utilised to produce a system which can be solved explicitly. This method is described in detail in:

S.D.Bond, B.Laird, and B.Leimkuhler, The Nose-Poincare method for constant temperature molecular dynamics. J.Comp.Pys.,151:114,1999.

Instance Methods [hide private]
 
init(self, phys, forces, prop)
Initialize propagator.
source code
 
half1UpdtMom(self, phys, forces, prop)
Update system velocity first 1/2 step
source code
 
half1UpdtbathM(self, phys, forces, prop)
Update thermal bath 'momenta' first 1/2 step
source code
 
UpdtPosBathP(self, phys, prop)
Update positions and thermal bath variable full step
source code
 
half2UpdtbathM(self, phys, forces, prop)
Update thermal bath 'momenta' first 1/2 step
source code
 
half2UpdtMom(self, phys, forces, prop)
Update system velocity second 1/2 step
source code
 
run(self, phys, forces, prop)
Run propagator.
source code
 
finish(self, phys, forces, prop)
Finalize propagator.
source code
Instance Variables [hide private]
  bathPold
Old thermostat value as system stores rescaled velocity number of Dof of system, momentum conserved so atoms*3D-3
  gkT
Product of degrees of freedom, boltzmann constant and Kelvin temperature
  KEtoT
Kinetic to temp.
  Potnl
Potential energy
  h0
Initial 'internal' Hamiltonian value so that total Hamiltonian allways 0
  stepsdone
Number of steps completed
  avTemp
Average Kelvin temperature
  tempers
Holds pairs of step numbers and average temperatures
  Hamiltonian
Holds pairs of step numbers and total energies
Method Details [hide private]

init(self, phys, forces, prop)

source code 

Initialize propagator.

Parameters:
  • phys (Physical) - The physical system.
  • forces (Forces) - MDL Forces object.
  • prop (Propagator) - MDL Propagator object.

half1UpdtMom(self, phys, forces, prop)

source code 

Update system velocity first 1/2 step

Parameters:
  • phys (Physical) - The physical system.
  • forces (Forces) - MDL Forces object.
  • prop (Propagator) - MDL Propagator object.

half1UpdtbathM(self, phys, forces, prop)

source code 

Update thermal bath 'momenta' first 1/2 step

Parameters:
  • phys (Physical) - The physical system.
  • forces (Forces) - MDL Forces object.
  • prop (Propagator) - MDL Propagator object.

UpdtPosBathP(self, phys, prop)

source code 

Update positions and thermal bath variable full step

Parameters:
  • phys (Physical) - The physical system.
  • prop (Propagator) - MDL Propagator object.

half2UpdtbathM(self, phys, forces, prop)

source code 

Update thermal bath 'momenta' first 1/2 step

Parameters:
  • phys (Physical) - The physical system.
  • forces (Forces) - MDL Forces object.
  • prop (Propagator) - MDL Propagator object.

half2UpdtMom(self, phys, forces, prop)

source code 

Update system velocity second 1/2 step

Parameters:
  • phys (Physical) - The physical system.
  • forces (Forces) - MDL Forces object.
  • prop (Propagator) - MDL Propagator object.

run(self, phys, forces, prop)

source code 

Run propagator. 1/2 step in momentum followed by 1/2 step in thermostat momentum followed by full step in positions, then 1/2 step in thermostat momentum and 1/2 step in momentum to give a time reversible method.

Parameters:
  • phys (Physical) - The physical system.
  • forces (Forces) - MDL Forces object.
  • prop (Propagator) - MDL Propagator object.

finish(self, phys, forces, prop)

source code 

Finalize propagator. Append data to temperature and total energy Python lists.

Parameters:
  • phys (Physical) - The physical system.
  • forces (Forces) - MDL Forces object.
  • prop (Propagator) - MDL Propagator object.

Instance Variable Details [hide private]

KEtoT

Kinetic to temp. conversion