# nose (c41b1)

**********************************************

* Nose-Hoover Molecular Dynamics command *

**********************************************

This module offers access to the Constant-Temperature molecular

dynamics defined by Nose-Hoover equations of motion (described in

S.Nose JCP, 81 P511 (1984) and W.G. Hoover, Phy. Rev. A31, p1695 (1985))

This method has the advantage that it is a continuous dynamics with

well defined conserved quantities. [Other temperature scaling methods,

available in CHARMM (included Berendsen method in Leap-frog

integrator) have discontinuous dynamics.]

* Syntax | Syntax of the Nose-Hoover command

* Main | Nose-Hoover method main commands and descriptions

* Exam | Example of Nose-Hoover Method

* Nose-Hoover Molecular Dynamics command *

**********************************************

This module offers access to the Constant-Temperature molecular

dynamics defined by Nose-Hoover equations of motion (described in

S.Nose JCP, 81 P511 (1984) and W.G. Hoover, Phy. Rev. A31, p1695 (1985))

This method has the advantage that it is a continuous dynamics with

well defined conserved quantities. [Other temperature scaling methods,

available in CHARMM (included Berendsen method in Leap-frog

integrator) have discontinuous dynamics.]

* Syntax | Syntax of the Nose-Hoover command

* Main | Nose-Hoover method main commands and descriptions

* Exam | Example of Nose-Hoover Method

Top

**************************************

* Syntax for the Nose-Hoover Command *

**************************************

The original Hamiltonian for Nose dynamics is defined as follow:

H = H0 + HB

= H0(p/s,q) + P^2/2Q + (f+1)kTlns (1)

where f is a degree of freedom of the physical system. This Hamiltonian

was originally propoesed by Nose in his JCP paper. The equations of motions

defined by Eq. (1) are solved numerically in order to achieve the canonical

ensemble MD simulation. Hoovers extended the Nose's analysis. He derives a

slightly different set of equations of motions which dispense with the

time-scaling parameter s by transforming p' = p/s, S = lns and dt' = dt/s.

Then he define the conserved quantity:

H = H0(p',q) + P^2/2Q + (f+1)kTS (2)

This is not Hamiltonian any more, but this energy is conserved thourghout

simulation.

In Nose-Hoover method, two different types of constant temperature

methods can be called: (1) simple method: system coupled to one heat

bath (2) multi-bath method: different parts of system can be coupled to

different heat baths.

In addtion, Nose-Hoover method in this release can be invoked under

parallel platforms. To run Nose-Hoover dynamics in parallel machines, this

dynamics has to be called under a velocity verlet integrator. In order to

call the velocity verlet, please refer to "dynamics.doc".

Keywords in [...] are optional. Defaults values are given in (...).

(1) Simple (one heat-bath) method:

----------------------------------

To call Nose-Hoover MD method, "nose" must be specified in usual dynamics

command, such as

DYNamics NOSE [RSTN] TREF (300.0) QREF (1.0D+50) NCYC (10) -

IUNO (-1) NSNOS (10) etc

Subcommands:

------------

NOSE :== specification of Nose-Hoover method with one heat bath

[RSTN]:== reset command for S in Eq (2)

TREF :== Desired Temperature of the system (Defult = 300K)

QREF :== magnitured of Coupling, Q, (Defult=1.0D+50 -> large QREF

leads the typical microcanonical ensembel MD simulation)

IUNO :== unit of file that output from Nose-Hoover can be

written. (describ more detail later section)

NSNOS :== Frequency of writing output from Nose-Hoover method

NCYC :== number of recursive loop of kinetic energy in order to

achieve the convergence values.

(2) Multi Heat-Bath Method

--------------------------

In order to call multi-heat bath method, you have to specify the

following command before you call dynamics command.

NOSE I

CALL J atom-selection-option

COEF J QREF (1.0D+50) TREF (300)

TOL (1.0D-10)

NCYC (10)

[CLEAR]

END

DYNamics [RSTN] IUNO (-1) NSNOS (10) etc -

Subcommands:

-----------

I :== number of heat bath in the system (Maxmum 10)

CALL :== assigns the specified atom into Jth heat bath

COEF :== assignments of Jth heat bath's coupling and

desired temperature (you can use the different

temperature in each heat bath.)

TOL :== tolerance of kinetic energy convergence

CLEAR :== clear all assignments in Nose-Hoover method

**************************************

* Syntax for the Nose-Hoover Command *

**************************************

The original Hamiltonian for Nose dynamics is defined as follow:

H = H0 + HB

= H0(p/s,q) + P^2/2Q + (f+1)kTlns (1)

where f is a degree of freedom of the physical system. This Hamiltonian

was originally propoesed by Nose in his JCP paper. The equations of motions

defined by Eq. (1) are solved numerically in order to achieve the canonical

ensemble MD simulation. Hoovers extended the Nose's analysis. He derives a

slightly different set of equations of motions which dispense with the

time-scaling parameter s by transforming p' = p/s, S = lns and dt' = dt/s.

Then he define the conserved quantity:

H = H0(p',q) + P^2/2Q + (f+1)kTS (2)

This is not Hamiltonian any more, but this energy is conserved thourghout

simulation.

In Nose-Hoover method, two different types of constant temperature

methods can be called: (1) simple method: system coupled to one heat

bath (2) multi-bath method: different parts of system can be coupled to

different heat baths.

In addtion, Nose-Hoover method in this release can be invoked under

parallel platforms. To run Nose-Hoover dynamics in parallel machines, this

dynamics has to be called under a velocity verlet integrator. In order to

call the velocity verlet, please refer to "dynamics.doc".

Keywords in [...] are optional. Defaults values are given in (...).

(1) Simple (one heat-bath) method:

----------------------------------

To call Nose-Hoover MD method, "nose" must be specified in usual dynamics

command, such as

DYNamics NOSE [RSTN] TREF (300.0) QREF (1.0D+50) NCYC (10) -

IUNO (-1) NSNOS (10) etc

Subcommands:

------------

NOSE :== specification of Nose-Hoover method with one heat bath

[RSTN]:== reset command for S in Eq (2)

TREF :== Desired Temperature of the system (Defult = 300K)

QREF :== magnitured of Coupling, Q, (Defult=1.0D+50 -> large QREF

leads the typical microcanonical ensembel MD simulation)

IUNO :== unit of file that output from Nose-Hoover can be

written. (describ more detail later section)

NSNOS :== Frequency of writing output from Nose-Hoover method

NCYC :== number of recursive loop of kinetic energy in order to

achieve the convergence values.

(2) Multi Heat-Bath Method

--------------------------

In order to call multi-heat bath method, you have to specify the

following command before you call dynamics command.

NOSE I

CALL J atom-selection-option

COEF J QREF (1.0D+50) TREF (300)

TOL (1.0D-10)

NCYC (10)

[CLEAR]

END

DYNamics [RSTN] IUNO (-1) NSNOS (10) etc -

Subcommands:

-----------

I :== number of heat bath in the system (Maxmum 10)

CALL :== assigns the specified atom into Jth heat bath

COEF :== assignments of Jth heat bath's coupling and

desired temperature (you can use the different

temperature in each heat bath.)

TOL :== tolerance of kinetic energy convergence

CLEAR :== clear all assignments in Nose-Hoover method

Top

*****************************

* Nose-Hoover Main Commands *

*****************************

NOSE

----

When entering the Nose-Hoover module for CHARMM, it is nessesary to

specify the number of heat baths in the system. If you are going to

use one heat bath, you can call Nose-Hoover module from DYNAmic

module. But if you have a plan to use more than one, you have to

specifiy it before calling DYNAmic module. Also Nose-Hoover methods

are working with Verlet and Velocity Verlet algorithms in this points.

If you want to used a velocity Verlet, specifiy it in DYNAmic module.

(DYNAmic VVER .....). Otherwise, Verlet algorithm is used in the MD

simulation. For parallel platforms, a velocity Verlet must be used in

order to run Nose-Hoover dynamics.

QREF

----

QREF is the thermal inertia parameter which controls the rate of

temperature fluctuations. Too high value of QREF results in slow enegy

flow between the system and heat bath, and the limit of QREF -->

infinity we regain conventional MD. On the other hand, if QREF is too

small, long-lived, weakly damped oscillations of the energy occur,

resulting in poor equilibration. It is necessary to choose right QREF

to achieve satisfactory damping of these correlations. QREF should be

between 10 and 1000.

NCYC and TOL

------------

Nose-Hoover equation of motion for scaling factor S shows that it

depends on the kinetic energy of the system. In the same time,

molecular velocity depends on scaling factor S. So in order to solve

these equations of motion, it requires an iterative process to get

convergence of kinetic energies. NCYC is a number of iteration of this

process and TOL is a tolerance to reach convergence of kinetic

energies. If SHAKE is used for molecules, NCYC is about 3 to 5 in order

to reach convergence.

atom-selection-option

---------------------

If more than one heat bath are used in the MD simulation, you have to

specify which atoms belong to which heat bath. In order to assign them

in particular heat bath, you have to use atom-selection module in

RSTN

----

Reset command to set S in Eq. (2) equl to zero. Reseting of scaling

parameter S doesn't change the dynamics of physical system at all.

Sometimes S may become very large numbers during equilibration MD

simulations, so setting S to zero may be necesrry

OUTPUT FILE

-----------

If you set IUNO a positive integer, the output of some quantities from

Nose-Hoover method will be written in UNIT IUNO. This output contains

following:

1st line: Number of step, Number of degree of freedom, NSNOS (defined

above)

Then at every NSNOS times, following output will be written:

Step, Time (ps), Total Energy

S value, Temperatue for each heat bath

By using this output file, you can calculate the average temperature

of system in each heat bath. In addition to that, S value can be used

in order to get free energy of the system [Check Branka and

Parrinello, Mol Phys, 58, 989 (1986)]

*****************************

* Nose-Hoover Main Commands *

*****************************

NOSE

----

When entering the Nose-Hoover module for CHARMM, it is nessesary to

specify the number of heat baths in the system. If you are going to

use one heat bath, you can call Nose-Hoover module from DYNAmic

module. But if you have a plan to use more than one, you have to

specifiy it before calling DYNAmic module. Also Nose-Hoover methods

are working with Verlet and Velocity Verlet algorithms in this points.

If you want to used a velocity Verlet, specifiy it in DYNAmic module.

(DYNAmic VVER .....). Otherwise, Verlet algorithm is used in the MD

simulation. For parallel platforms, a velocity Verlet must be used in

order to run Nose-Hoover dynamics.

QREF

----

QREF is the thermal inertia parameter which controls the rate of

temperature fluctuations. Too high value of QREF results in slow enegy

flow between the system and heat bath, and the limit of QREF -->

infinity we regain conventional MD. On the other hand, if QREF is too

small, long-lived, weakly damped oscillations of the energy occur,

resulting in poor equilibration. It is necessary to choose right QREF

to achieve satisfactory damping of these correlations. QREF should be

between 10 and 1000.

NCYC and TOL

------------

Nose-Hoover equation of motion for scaling factor S shows that it

depends on the kinetic energy of the system. In the same time,

molecular velocity depends on scaling factor S. So in order to solve

these equations of motion, it requires an iterative process to get

convergence of kinetic energies. NCYC is a number of iteration of this

process and TOL is a tolerance to reach convergence of kinetic

energies. If SHAKE is used for molecules, NCYC is about 3 to 5 in order

to reach convergence.

atom-selection-option

---------------------

If more than one heat bath are used in the MD simulation, you have to

specify which atoms belong to which heat bath. In order to assign them

in particular heat bath, you have to use atom-selection module in

RSTN

----

Reset command to set S in Eq. (2) equl to zero. Reseting of scaling

parameter S doesn't change the dynamics of physical system at all.

Sometimes S may become very large numbers during equilibration MD

simulations, so setting S to zero may be necesrry

OUTPUT FILE

-----------

If you set IUNO a positive integer, the output of some quantities from

Nose-Hoover method will be written in UNIT IUNO. This output contains

following:

1st line: Number of step, Number of degree of freedom, NSNOS (defined

above)

Then at every NSNOS times, following output will be written:

Step, Time (ps), Total Energy

S value, Temperatue for each heat bath

By using this output file, you can calculate the average temperature

of system in each heat bath. In addition to that, S value can be used

in order to get free energy of the system [Check Branka and

Parrinello, Mol Phys, 58, 989 (1986)]

Top

*****************************************

* Examples for using Nose-Hoover Method *

*****************************************

=== Example of Nose-Hoover input-file ==

1) One-heat-bath Selection

.

.

.

SHAKE BOND ANGLE TOL 1.0D-9

UPDATE INBFRQ 5 IHBFRQ 0 -

CUTIM 8.0 IMGFRQ 5 -

ATOM SHIFT VATOM VSWITCH -

CUTNB 8.0 CTOFNB 7.5 CTONNB 6.5 EPS 1.0 CDIE

OPEN WRITE UNIT 31 CARD NAME @9FOR015.RST

DYNA NOSE QREF 50.0 TREF 300.0 NCYC 5 FIRSTT 200 -

STRT NSTEP 100 TIME 0.001 NPRINT 10 IPRFRQ 100 -

IUNREA -30 IUNWRI 31 IUNCRD -1 IUNVEL -1 -

KUNIT -41 NSAVC 50 NSAVV 50 ISVFRQ 1000

2) Two-heat-bath selection

In this example, ethane (ETHA) in water system is used.

NOSE 2 ! two heat baths are used. First all

! molecules are assigned into heat bath #1

CALL 2 SELE RESNAME ETHA END ! put ethane in heat bath #2

COEF 1 QREF 50.0 TREF 300.0

COEF 2 QREF 50.0 TREF 300.0

NCYC 5

END

OPEN WRITE UNIT 31 CARD NAME @9FOR015.RST

DYNA STRT NSTEP 100 TIME 0.001 NPRINT 10 IPRFRQ 100 -

IUNREA -30 IUNWRI 31 IUNCRD -1 IUNVEL -1 FIRSTT 100.0 -

KUNIT -41 NSAVC 50 NSAVV 50 ISVFRQ 1000

*****************************************

* Examples for using Nose-Hoover Method *

*****************************************

=== Example of Nose-Hoover input-file ==

1) One-heat-bath Selection

.

.

.

SHAKE BOND ANGLE TOL 1.0D-9

UPDATE INBFRQ 5 IHBFRQ 0 -

CUTIM 8.0 IMGFRQ 5 -

ATOM SHIFT VATOM VSWITCH -

CUTNB 8.0 CTOFNB 7.5 CTONNB 6.5 EPS 1.0 CDIE

OPEN WRITE UNIT 31 CARD NAME @9FOR015.RST

DYNA NOSE QREF 50.0 TREF 300.0 NCYC 5 FIRSTT 200 -

STRT NSTEP 100 TIME 0.001 NPRINT 10 IPRFRQ 100 -

IUNREA -30 IUNWRI 31 IUNCRD -1 IUNVEL -1 -

KUNIT -41 NSAVC 50 NSAVV 50 ISVFRQ 1000

2) Two-heat-bath selection

In this example, ethane (ETHA) in water system is used.

NOSE 2 ! two heat baths are used. First all

! molecules are assigned into heat bath #1

CALL 2 SELE RESNAME ETHA END ! put ethane in heat bath #2

COEF 1 QREF 50.0 TREF 300.0

COEF 2 QREF 50.0 TREF 300.0

NCYC 5

END

OPEN WRITE UNIT 31 CARD NAME @9FOR015.RST

DYNA STRT NSTEP 100 TIME 0.001 NPRINT 10 IPRFRQ 100 -

IUNREA -30 IUNWRI 31 IUNCRD -1 IUNVEL -1 FIRSTT 100.0 -

KUNIT -41 NSAVC 50 NSAVV 50 ISVFRQ 1000