Skip to content

sotashimozono/Lattice2D.jl

Repository files navigation

Lattice2D.jl

docs: dev Julia Code Style: Blue codecov Build Status License

Features

This package provides two dimensional lattices. If you know unit cell information (basic vectors, connection), you can construct arbitrary lattices.

Available lattices by defaults are ...

  • Square lattice
  • Triangular lattice
  • Honeycomb lattice
  • Kagome lattice
  • Lieb lattice
  • Shastry-Sutherland lattice

Installation

using Pkg
Pkg.add("Lattice2D")

Example

Here we show Honeycomb lattice as an example. The Module enables us to have unit cell informations and connection infos, reciprocal vectors etc. And more, we can know the graph is bipartite or not, we can set periodic boundary and open boundary.

using Lattice2D

# Create a 4x4 Honeycomb lattice with Periodic Boundary Conditions (PBC)
lat = build_lattice(Honeycomb, 4, 4; boundary=PBC())

# Check basic properties
println("Total sites: ", lat.N)
println("Is bipartite? ", lat.is_bipartite)

Honeycomb Lattice

Contributing

Contributions are welcome! Please feel free to open an Issue or submit a pull requests.

About

A Julia package for generating and manipulating 2D lattice structures for quantum many-body physics simulations.

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Contributors 3

  •  
  •  
  •  

Languages