phonon_simulation package#
A set of tools for phonon simulations.
- phonon_simulation.PHONONS_ARE_COOL = True#
A statement about phonons.
Submodules#
phonon_simulation.normal_modes module#
- class phonon_simulation.normal_modes.NormalModeResult(*, system: System, omega: ndarray[Any, dtype[floating]], modes: ndarray[Any, dtype[floating]], q_vals: ndarray[Any, dtype[floating]], dispersion: ndarray[Any, dtype[floating]])#
Bases:
object
Result of a normal mode calculation for a phonon system.
- dispersion: ndarray[Any, dtype[floating]]#
- modes: ndarray[Any, dtype[floating]]#
- omega: ndarray[Any, dtype[floating]]#
- q_vals: ndarray[Any, dtype[floating]]#
- to_human_readable() str #
Convert the result to a text representation.
- class phonon_simulation.normal_modes.System(*, lattice_constant: tuple[float, float, float], n_repeats: tuple[int, int, int], spring_constant: tuple[float, float, float], mass: float)#
Bases:
object
Represents a lattice system used for phonon calculations.
- lattice_constant: tuple[float, float, float]#
- mass: float#
- n_repeats: tuple[int, int, int]#
- spring_constant: tuple[float, float, float]#
- phonon_simulation.normal_modes.calculate_normal_modes(system: System) NormalModeResult #
Calculate and plot the normal modes and phonon dispersion relation for a simple 1D chain system.
This function returns a NormalModeResult containing the normal mode frequencies, eigenvectors (modes), wave vectors, and dispersion.
Parameters#
- systemSystem
The physical system containing lattice constant, number of repeats, spring constants, and mass of particles.
- phonon_simulation.normal_modes.plot_dispersion(modes: NormalModeResult) tuple[Figure, Axes] #
Plot the phonon dispersion relation for a 1D chain on a graph.