Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 

Repository files navigation

Phonon Elastic Model Project

Author: Hsu Quinn
Date: April 2025

Project Overview

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.

Features

  • Define lattice structures and material parameters.
  • Compute displacement fields and potential distributions.
  • Generate phonon dispersion diagrams.
  • Support various lattice structures and interaction parameters.

Directory Structure

  • 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).

Installation

Run the following commands to install the required Julia packages:

using Pkg
Pkg.add("LinearAlgebra")
Pkg.add("StaticArrays")
Pkg.add("DifferentialEquations")
Pkg.add("PyPlot")

Usage

  1. Clone the repository:
    git clone <repository-url>
  2. Navigate to the project directory:
    cd formalcode
  3. Run the test scripts:
    julia test/test1_graphene_GSFErlx.jl
    julia test/test2_graphene_phonon.jl

Example

An example of running test/test2_graphene_phonon.jl:

  1. Define the lattice structure and material parameters for graphene.
  2. Compute the displacement fields and phonon dispersion relations.
  3. Plot the phonon dispersion diagram and save it as a PNG file.

Output

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.

Contribution

We welcome issues and contributions! Please follow these steps:

  1. Fork the repository.
  2. Create a new branch and commit your changes.
  3. Submit a Pull Request.

License

This project is licensed under the MIT License.

TODO List

Planned updates for future versions:

  1. Improve the relaxation algorithm and eliminate the imag-frequency at small angles.
  2. Add z-axis electric field, which is based on new type potential defination.
  3. Add electron's phonon

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages