maxwelllink.tools.harmonic_oscillator_helper module

Harmonic oscillator helper functions for MD simulations.

class maxwelllink.tools.harmonic_oscillator_helper.DummyInitializer[source]

Bases: object

A dummy initializer that returns zero momenta and positions.

__init__()[source]
momentum_initializer(p)[source]
position_initializer(omega, q)[source]
class maxwelllink.tools.harmonic_oscillator_helper.DummyThermostat[source]

Bases: object

A dummy thermostat that does nothing.

__init__()[source]
apply_kick(momentum)[source]
Parameters:

momentum (ndarray)

Return type:

ndarray

class maxwelllink.tools.harmonic_oscillator_helper.LangevinThermostat[source]

Bases: object

Langevin thermostat implementation for the cavity mode.

__init__(temperature_au, dt_au, tau_au, random_seed=114514)[source]
Parameters:
  • temperature_au (float) – Temperature in atomic units. k_B is set to 1 in atomic units, so temperature_au is effectively the thermal energy. Must be positive.

  • dt_au (float) – Time step in atomic units. Must be positive.

  • tau_au (float) – Relaxation time in atomic units. Must be positive.

  • random_seed (int, optional) – Random seed for reproducible results.

apply_kick(momentum)[source]
Parameters:

momentum (ndarray)

Return type:

ndarray

class maxwelllink.tools.harmonic_oscillator_helper.MaxwellBoltzmannInitializer[source]

Bases: object

A class to initialize particle velocities based on the Maxwell-Boltzmann distribution at the given temperature.

__init__(temperature_au, random_seed=114514)[source]
Parameters:
  • T_au (float) – Temperature in atomic units. k_B is set to 1 in atomic units, so T_au is effectively the thermal energy. Must be positive.

  • random_seed (int, optional) – Random seed for reproducible results.

  • temperature_au (float)

momentum_initializer(p)[source]
position_initializer(omega, q)[source]