Skip to main content

construct4/
construct4.rs

1use lattice_core::{Basis, BasisMatrix, Boundary, CoordinateVector, ExtentVector, Graph, OffsetVector, Unitcell};
2
3#[path = "support/mod.rs"]
4mod support;
5
6fn main() {
7    let basis = Basis::new(BasisMatrix::from_row_slice(2, 2, &[1.0, 0.0, 0.0, 1.0]));
8
9    let mut unitcell = Unitcell::new(2);
10    unitcell.add_site(CoordinateVector::from_vec(vec![0.0, 0.0]), 0);
11    unitcell.add_bond(0, 0, OffsetVector::from_vec(vec![1, 0]), 0);
12    unitcell.add_bond(0, 0, OffsetVector::from_vec(vec![0, 1]), 0);
13
14    let extent = ExtentVector::from_vec(vec![4, 4]);
15    let boundary = vec![Boundary::Periodic; 2];
16    let graph = Graph::from_basis_unitcell_extent(&basis, &unitcell, &extent, &boundary);
17    support::print_graph(&graph);
18}