Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 

Repository files navigation

SlaterKosterTB Project

Author: Hsu Quinn
Date: March 2025

Project Overview

SlaterKosterTB is a Julia-based project for constructing and visualizing the electronic band structure and energy contour plots of crystalline materials using the Tight-Binding Model. The project leverages Slater-Koster coefficients to parameterize the tight-binding Hamiltonian, enabling accurate modeling of various crystal structures and orbital interactions. It is particularly suitable for studying electronic structures in solid-state physics.

Features

  • Define crystal structures and atomic orbitals.
  • Generate Brillouin zone paths and compute band structures.
  • Plot band structure diagrams and energy contour plots.
  • Support multiple orbital types (e.g., s, p, d orbitals).

Directory Structure

  • src/: Source code of the project, including the following modules:
    • structure.jl: Defines crystal structures and atoms.
    • klib.jl: Generates Brillouin zone paths.
    • hamilton.jl: Generates Hamiltonians and computes band structures.
    • param.jl: Defines parameters for the tight-binding model.
    • draw.jl: Plots band structures and energy contour plots.
  • test/: Test codes with examples of different crystal structures (e.g., graphene, honeycomb structures).
  • README.md: Project documentation.
  • .gitignore: Git ignore file.

Installation

Run the following commands to install the required Julia packages:

using Pkg
Pkg.add("Plots")
Pkg.add("LinearAlgebra")

Usage

  1. Clone the repository:
    git clone <repository-url>
  2. Navigate to the project directory:
    cd SKTB
  3. Run the test scripts:
    julia test/test_graphene.jl
    Or run other test files (e.g., test/test_honey.jl).

Example

Here is an example of running test/test_graphene.jl:

  1. Define the crystal structure and orbitals for graphene.
  2. Compute the band structure along the Brillouin zone path.
  3. Plot the band structure and energy contour diagrams, which are saved as PNG files.

Output

After running the test scripts, the generated image files will be saved in the current directory, such as:

  • band_graphene.png: Band structure diagram for graphene.
  • contour_graphene.png: Energy contour plot for graphene.

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. I̶m̶p̶l̶e̶m̶e̶n̶t̶ ̶o̶r̶b̶i̶t̶a̶l̶ ̶p̶r̶o̶j̶e̶c̶t̶i̶o̶n̶.
  2. A̶d̶d̶ ̶S̶p̶i̶n̶-̶O̶r̶b̶i̶t̶ ̶C̶o̶u̶p̶l̶i̶n̶g̶ ̶(̶S̶O̶C̶)̶.̶
  3. Simulate ARPES (Angle-Resolved Photoemission Spectroscopy).
  4. R̶-̶g̶a̶u̶g̶e̶(̶n̶o̶w̶ ̶i̶s̶ ̶r̶-̶g̶a̶u̶g̶e̶)̶.̶(̶D̶E̶L̶)̶
  5. respense function(eg. NLO).
  6. Add different interactions, now all is "ii", which means only one type element in u.c.. (PRI)

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages