qimpy.dft.geometry.thermostat.NoseHoover

class NoseHoover(*, dynamics, chain_length_T=3, chain_length_P=3, checkpoint_in=(None, ''))

Bases: TreeNode

Nose-Hoover thermostat and/or barostat.

Parameters:
  • dynamics (Dynamics) –

  • chain_length_T (int) –

  • chain_length_P (int) –

  • checkpoint_in (CheckpointPath) –

__init__(*, dynamics, chain_length_T=3, chain_length_P=3, checkpoint_in=(None, ''))

Specify thermostat parameters.

Parameters:
Return type:

None

Methods

__init__

Specify thermostat parameters.

add_child

Construct child object self.`attr_name` of type cls.

add_child_one_of

Invoke add_child on one of several child options in args.

extra_acceleration

Extra velocity-dependent acceleration due to thermostat/barostat.

get_velocity

Get thermostat and optional barostat components within velocity.

initialize_gradient

Initialize thermostat and, if needed, barostat terms in gradient.

save_checkpoint

Save self and all children in hierarchy to cp_path.

set_velocity

Set thermostat and optional barostat components from velocity.

step

Return velocity after dt, given current velocity and acceleration.

Attributes

dynamics

chain_length_T

Nose-Hoover chain length for thermostat

chain_length_P

Nose-Hoover chain length for barostat

thermostat_velocity

Velocity of extra thermostat DOFs

barostat_velocity

Velocity of extra barostat DOFs

child_names

Names of attributes with child objects.

extra_acceleration(velocity)

Extra velocity-dependent acceleration due to thermostat/barostat.

Parameters:

velocity (Gradient) –

Return type:

Gradient

get_velocity(velocity)

Get thermostat and optional barostat components within velocity.

Parameters:

velocity (Gradient) –

Return type:

None

initialize_gradient(gradient)

Initialize thermostat and, if needed, barostat terms in gradient.

Parameters:

gradient (Gradient) –

Return type:

None

set_velocity(velocity)

Set thermostat and optional barostat components from velocity.

Parameters:

velocity (Gradient) –

Return type:

None

step(velocity, acceleration, dt)

Return velocity after dt, given current velocity and acceleration.

Parameters:
  • velocity (Gradient) –

  • acceleration (Gradient) –

  • dt (float) –

Return type:

Gradient

barostat_velocity: Tensor | None

Velocity of extra barostat DOFs

chain_length_P: int

Nose-Hoover chain length for barostat

chain_length_T: int

Nose-Hoover chain length for thermostat

thermostat_velocity: Tensor

Velocity of extra thermostat DOFs