Loading...
Searching...
No Matches
cell_symmetry.hpp File Reference
#include <array>
#include <cmath>
#include <cstdlib>
#include <stdexcept>
#include <string>
#include "layer_0_core/types/matrix_3x3.hpp"
#include "layer_0_core/types/type_aliases.hpp"

Go to the source code of this file.

Namespaces

namespace  q3
 
namespace  q3::berkeleygw_cell_symmetry_detail
 

Functions

int q3::berkeleygw_cell_symmetry (int bravais_lattice_index, const Matrix3x3 &lattice_vectors)
 
bool q3::berkeleygw_cell_symmetry_detail::close (Real first, Real second)
 Whether two dimensionless quantities – length ratios or cosines – agree to metric_tolerance.
 
Real q3::berkeleygw_cell_symmetry_detail::dot (const Matrix3x3 &vectors, int first, int second)
 The dot product of rows first and second of vectors.
 
bool q3::lattice_is_in_the_hexagonal_family (const Matrix3x3 &lattice_vectors)
 Whether the rows of lattice_vectors span a hexagonal or trigonal-R lattice.
 

Variables

constexpr Real q3::berkeleygw_cell_symmetry_detail::metric_tolerance = 1e-5