From e2c0143ffad6aa9a6f69944e1e63547a5efff22b Mon Sep 17 00:00:00 2001 From: Walter Van Herck <w.van.herck@fz-juelich.de> Date: Thu, 27 Sep 2018 17:08:40 +0200 Subject: [PATCH] Add tetragonal lattice factory methods in Lattice --- Core/Lattice/Lattice.cpp | 18 +++++++++++++++++- Core/Lattice/Lattice.h | 4 ++++ 2 files changed, 21 insertions(+), 1 deletion(-) diff --git a/Core/Lattice/Lattice.cpp b/Core/Lattice/Lattice.cpp index 73a5dc34973..775fa83ff13 100644 --- a/Core/Lattice/Lattice.cpp +++ b/Core/Lattice/Lattice.cpp @@ -163,7 +163,7 @@ Lattice Lattice::createFCCLattice(double a) Lattice Lattice::createHexagonalLattice(double a, double c) { kvector_t a1(a, 0.0, 0.0); - kvector_t a2(-a/2.0, std::sqrt(3.0)*a/2.0, 0); + kvector_t a2(-a/2.0, std::sqrt(3.0)*a/2.0, 0.0); kvector_t a3(0.0, 0.0, c); return Lattice(a1, a2, a3); } @@ -176,6 +176,22 @@ Lattice Lattice::createHCPLattice(double a, double c) return Lattice(a1, a2, a3); } +Lattice Lattice::createTetragonalLattice(double a, double c) +{ + kvector_t a1(a, 0.0, 0.0); + kvector_t a2(0.0, a, 0.0); + kvector_t a3(0.0, 0.0, c); + return Lattice(a1, a2, a3); +} + +Lattice Lattice::createBCTLattice(double a, double c) +{ + kvector_t a1(a, 0.0, 0.0); + kvector_t a2(0.0, a, 0.0); + kvector_t a3(a/2.0, a/2.0, c/2.0); + return Lattice(a1, a2, a3); +} + void Lattice::onChange() { m_cache_ok = false; diff --git a/Core/Lattice/Lattice.h b/Core/Lattice/Lattice.h index f409672c485..b7e087e46cd 100644 --- a/Core/Lattice/Lattice.h +++ b/Core/Lattice/Lattice.h @@ -83,6 +83,10 @@ public: static Lattice createHCPLattice(double a, double c); + static Lattice createTetragonalLattice(double a, double c); + + static Lattice createBCTLattice(double a, double c); + void onChange() override; private: -- GitLab