qmmm_pme.integrators package¶
Submodules¶
qmmm_pme.integrators.integrator module¶
A module for defining the Integrator base class.
- class qmmm_pme.integrators.integrator.Integrator(timestep, temperature, system)[source]¶
Bases:
ModifiableIntegratorAn abstract
Integratorbase class, which also contains implementations for generating velocities and calculating kinetic energies.- Parameters:
timestep (float | int) – The timestep that the
Simulationpropagates with, in femtoseconds.temperature (float | int) – The temperature, in Kelvin.
system (System) – The
Systemobject to integrate.
- compute_kinetic_energy()[source]¶
Calculate the kinetic energy of the
System.- Returns:
The kinetic energy, in kJ/mol.
- Return type:
float
Note
Based on the implementation in OpenMM
- compute_velocities()[source]¶
Calculate initial velocities based on the Maxwell-Boltzmann distribution at a given temperature.
- Returns:
The sampled velocities, in Angstroms per femtosecond.
- Return type:
ndarray[Any, dtype[float64]]
Note
Based on the implementation in ASE.
- temperature: float | int¶
- timestep: float | int¶
- class qmmm_pme.integrators.integrator.ModifiableIntegrator[source]¶
Bases:
ABCAn abstract
Integratorbase class for interfacing with plugins.- active_plugins()[source]¶
Get the current list of active plugins.
- Returns:
A list of the active plugins being employed by the
Integrator.- Return type:
list[str]
- abstract compute_kinetic_energy()[source]¶
Calculate the kinetic energy of the
System.- Returns:
The kinetic energy, in kJ/mol.
- Return type:
float
Note
Based on the implementation in OpenMM
- abstract compute_velocities()[source]¶
Calculate initial velocities based on the Maxwell-Boltzmann distribution at a given temperature.
- Returns:
The sampled velocities, in Angstroms per femtosecond.
- Return type:
ndarray[Any, dtype[float64]]
Note
Based on the implementation in ASE.
- abstract integrate()[source]¶
Integrate forces from the
Systeminto new positions and velocities.- Returns:
The new positions and velocities of the
System, in Angstroms and Angstroms per femtosecond, respectively.- Return type:
tuple[NDArray[np.float64], NDArray[np.float64]]
Note
Based on the implementation of the integrator kernels from OpenMM.
- register_plugin(plugin)[source]¶
Register a
Pluginmodifying anIntegratorroutine.- Parameters:
plugin (IntegratorPlugin) – An
IntegratorPluginobject.- Return type:
None
- temperature: float | int¶
- timestep: float | int¶
qmmm_pme.integrators.langevin_integrator module¶
A module defining the LangevinIntegrator class.
- class qmmm_pme.integrators.langevin_integrator.LangevinIntegrator(timestep, temperature, system, friction)[source]¶
Bases:
IntegratorAn
Integratorbased on Langevin dynamics.- Parameters:
friction (int | float) – The friction felt by particles as a result of a thermostat, in inverse femtoseconds.
timestep (float | int) –
temperature (float | int) –
system (System) –
- friction: int | float¶
- integrate()[source]¶
Integrate forces from the
Systeminto new positions and velocities.- Returns:
The new positions and velocities of the
System, in Angstroms and Angstroms per femtosecond, respectively.- Return type:
tuple[NDArray[np.float64], NDArray[np.float64]]
Note
Based on the implementation of the integrator kernels from OpenMM.
qmmm_pme.integrators.velocity_verlet_integrator module¶
A module defining the VelocityVerletIntegrator class.
- class qmmm_pme.integrators.velocity_verlet_integrator.VelocityVerletIntegrator(timestep, temperature, system)[source]¶
Bases:
IntegratorAn
Integratorbased on the Velocity Verlet algorithm.Warning
This class is not currently implemented
- Parameters:
timestep (float | int) –
temperature (float | int) –
system (System) –
- integrate()[source]¶
Integrate forces from the
Systeminto new positions and velocities.- Returns:
The new positions and velocities of the
System, in Angstroms and Angstroms per femtosecond, respectively.- Return type:
tuple[NDArray[np.float64], NDArray[np.float64]]
Note
Based on the implementation of the integrator kernels from OpenMM.
- temperature: float | int¶
- timestep: float | int¶
qmmm_pme.integrators.verlet_integrator module¶
A module defining the VerletIntegrator class.
- class qmmm_pme.integrators.verlet_integrator.VerletIntegrator(timestep, temperature, system)[source]¶
Bases:
IntegratorAn
Integratorbased on the Verlet algorithm.- Parameters:
timestep (float | int) –
temperature (float | int) –
system (System) –
- integrate()[source]¶
Integrate forces from the
Systeminto new positions and velocities.- Returns:
The new positions and velocities of the
System, in Angstroms and Angstroms per femtosecond, respectively.- Return type:
tuple[NDArray[np.float64], NDArray[np.float64]]
Note
Based on the implementation of the integrator kernels from OpenMM.
- temperature: float | int¶
- timestep: float | int¶
Module contents¶
A sub-package to define integrators.