Skip to content

Latest commit

 

History

History
140 lines (100 loc) · 5.99 KB

File metadata and controls

140 lines (100 loc) · 5.99 KB

Statistical mechanics (rmgpy.statmech)

rmgpy.statmech

The rmgpy.statmech subpackage contains classes that represent various statistical mechanical models of molecular degrees of freedom. These models enable the computation of macroscopic parameters (e.g. thermodynamics, kinetics, etc.) from microscopic parameters.

A molecular system consisting of N atoms is described by 3N molecular degrees of freedom. Three of these modes involve translation of the system as a whole. Another three of these modes involve rotation of the system as a whole, unless the system is linear (e.g. diatomics), for which there are only two rotational modes. The remaining 3N − 6 (or 3N − 5 if linear) modes involve internal motion of the atoms within the system. Many of these modes are well-described as harmonic oscillations, while others are better modeled as torsional rotations around a bond within the system.

Molecular degrees of freedom are mathematically represented using the Schrodinger equation Ψ = EΨ. By solving the Schrodinger equation, we can determine the available energy states of the molecular system, which enables computation of macroscopic parameters. Depending on the temperature of interest, some modes (e.g. vibrations) require a quantum mechanical treatment, while others (e.g. translation, rotation) can be described using a classical solution.

Translational degrees of freedom

rmgpy.statmech

Class Description
IdealGasTranslation A model of three-dimensional translation of an ideal gas

Rotational degrees of freedom

rmgpy.statmech

Class Description
LinearRotor A model of two-dimensional rigid rotation of a linear molecule
NonlinearRotor A model of three-dimensional rigid rotation of a nonlinear molecule
KRotor A model of one-dimensional rigid rotation of a K-rotor
SphericalTopRotor A model of three-dimensional rigid rotation of a spherical top molecule

Vibrational degrees of freedom

rmgpy.statmech

Class Description
HarmonicOscillator A model of a set of one-dimensional harmonic oscillators

Torsional degrees of freedom

rmgpy.statmech

Class Description
HinderedRotor A model of a one-dimensional hindered rotation

The Schrodinger equation

rmgpy.statmech.schrodinger

Class Description
get_partition_function Calculate the partition function at a given temperature from energy levels and degeneracies
get_heat_capacity Calculate the dimensionless heat capacity at a given temperature from energy levels and degeneracies
get_enthalpy Calculate the enthalpy at a given temperature from energy levels and degeneracies
get_entropy Calculate the entropy at a given temperature from energy levels and degeneracies
get_sum_of_states Calculate the sum of states for a given energy domain from energy levels and degeneracies
get_density_of_states Calculate the density of states for a given energy domain from energy levels and degeneracies

Convolution

rmgpy.statmech.schrodinger

Class Description
convolve Return the convolution of two arrays
convolve_bs Convolve a degree of freedom into a density or sum of states using the Beyer-Swinehart (BS) direct count algorithm
convolve_bssr Convolve a degree of freedom into a density or sum of states using the Beyer-Swinehart-Stein-Rabinovitch (BSSR) direct count algorithm

Molecular conformers

rmgpy.statmech

Class Description
Conformer A model of a molecular conformation

idealgastranslation linearrotor nonlinearrotor krotor sphericaltoprotor harmonicoscillator hinderedrotor schrodinger conformer