This repository presents a two–dimensional lattice dynamics simulation of longitudinal acoustic (LA) and longitudinal optical (LO) phonon modes in a diatomic crystal with unequal atomic masses and a single nearest-neighbor harmonic spring constant.
The project combines:
- Analytical dispersion relations
- Real-space displacement formulation
- Time-dependent lattice animation
- Exportable GIF visualization
The simulation illustrates the physical distinction between acoustic and optical branches.
We consider a two-dimensional Bravais lattice with lattice constant
Each unit cell contains two atoms with masses:
The equilibrium lattice positions are
where
The second atom is shifted row-wise by
Atoms interact via a nearest-neighbor harmonic spring constant
Within the harmonic approximation, the equation of motion is
Assuming plane-wave solutions,
where
-
$\mathbf{k} = (k_x, k_y)$ is the wavevector -
$\mathbf{\hat{k}} = \dfrac{\mathbf{k}}{|\mathbf{k}|}$ is the longitudinal polarization -
$u_0$ is the amplitude
The longitudinal phonon frequencies satisfy
where
The two branches correspond to:
-
$-$ Acoustic branch -
$+$ Optical branch
For small wavevector
where
Thus:
- The acoustic branch is gapless.
- The optical branch has a finite frequency at the Brillouin zone center.
The displacement fields for the two branches are:
Atoms move in phase:
Atoms move out of phase:
These displacement relations are implemented directly in the time-dependent animation.
The simulation is implemented in Python using:
- NumPy — numerical computation
- Matplotlib — visualization
- Pillow — GIF export
The atomic positions are updated according to
