From f3e1e70b624c1d4f9aed2e6d25152f3c3ef7987f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marek=20Ne=C4=8Dada?= Date: Tue, 11 Dec 2018 06:51:23 +0000 Subject: [PATCH] l2d unit cell area calculation Former-commit-id: e714f4fb33669138cb45179f323893b3e996fd78 --- qpms/lattices.h | 1 + qpms/lattices2d.c | 6 ++++++ 2 files changed, 7 insertions(+) diff --git a/qpms/lattices.h b/qpms/lattices.h index 4c08ce4..30aae93 100644 --- a/qpms/lattices.h +++ b/qpms/lattices.h @@ -315,6 +315,7 @@ int l2d_cellCornersWS_arr(cart2_t i1, cart2_t i2, cart2_t *oarr, double rtol); int l2d_reciprocalBasis1(cart2_t b1, cart2_t b2, cart2_t *rb1, cart2_t *rb2); int l2d_reciprocalBasis2pi(cart2_t b1, cart2_t b2, cart2_t *rb1, cart2_t *rb2); +double l2d_unitcell_area(cart2_t b1, cart2_t b2); // returns the radius of inscribed circle of a hexagon (or rectangle/square if applicable) created by the shortest base triple double l2d_hexWebInCircleRadius(cart2_t b1, cart2_t b2); diff --git a/qpms/lattices2d.c b/qpms/lattices2d.c index 09475b4..d939471 100644 --- a/qpms/lattices2d.c +++ b/qpms/lattices2d.c @@ -827,5 +827,11 @@ double l2d_hexWebInCircleRadius(cart2_t i1, cart2_t i2) { } +double l2d_unitcell_area(cart2_t b1, cart2_t b2) { + l2d_reduceBasis(b1, b2, &b1, &b2); + const double det = b1.x * b2.y - b1.y * b2.x; + return fabs(det); +} +