qimpy.dft.geometry.thermostat.NoseHoover

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

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=CheckpointPath(checkpoint=None, path=''))

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

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: Optional[Tensor]

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