Author: Hsu Quinn
Date: April 2025
Phonon Elastic Model is a Julia-based project for simulating and analyzing the elastic behavior and phonon dispersion relations of 2D materials. The project uses Fourier transforms, relaxation algorithms, and dynamical matrix calculations to study lattice displacement fields, potential distributions, and phonon frequencies.
- Define lattice structures and material parameters.
- Compute displacement fields and potential distributions.
- Generate phonon dispersion diagrams.
- Support various lattice structures and interaction parameters.
src/: Source code of the project, including the following modules:constants.jl: Defines lattice, potential, and grid parameters.relaxation.jl: Implements relaxation algorithms to compute displacement fields.fourier.jl: Implements Fourier transform-related calculations.dispersion.jl: Computes phonon dispersion relations.draw.jl: Plots displacement fields and potential distributions.main.jl: Main module integrating all functionalities.
test/: Test codes with examples for different lattice structures:test1_graphene_GSFErlx.jl: Simulates generalized stacking fault energy relaxation for graphene.test2_graphene_phonon.jl: Computes phonon dispersion relations for graphene.
docs/: Documentation folder containing project notes and descriptions.README.md: Project documentation (this file).
Run the following commands to install the required Julia packages:
using Pkg
Pkg.add("LinearAlgebra")
Pkg.add("StaticArrays")
Pkg.add("DifferentialEquations")
Pkg.add("PyPlot")- Clone the repository:
git clone <repository-url>
- Navigate to the project directory:
cd formalcode - Run the test scripts:
julia test/test1_graphene_GSFErlx.jl julia test/test2_graphene_phonon.jl
An example of running test/test2_graphene_phonon.jl:
- Define the lattice structure and material parameters for graphene.
- Compute the displacement fields and phonon dispersion relations.
- Plot the phonon dispersion diagram and save it as a PNG file.
After running the test scripts, the generated image files will be saved in the current directory, such as:
test2_ur_b.png: Displacement field diagram (Brillouin zone).test2_phonon_dispersion_0.547.png: Phonon dispersion diagram.
We welcome issues and contributions! Please follow these steps:
- Fork the repository.
- Create a new branch and commit your changes.
- Submit a Pull Request.
This project is licensed under the MIT License.
Planned updates for future versions:
- Improve the relaxation algorithm and eliminate the imag-frequency at small angles.
- Add z-axis electric field, which is based on new type potential defination.
- Add electron's phonon