27#include "neml2/tensors/R2.h"
28#include "neml2/tensors/Rot.h"
53 const std::string & orbifold,
58constexpr double a = 0.7071067811865476;
59constexpr double b = 0.8660254037844386;
60constexpr double h = 0.5;
61constexpr double o = 1.0;
62constexpr double z = 0.0;
static Rot fill(Args &&... args)
Definition PrimitiveTensor.h:331
Quaternion.
Definition Quaternion.h:41
Base class for second order tensor.
Definition R2.h:49
Rotation stored as modified Rodrigues parameters.
Definition Rot.h:49
Scalar.
Definition Scalar.h:38
3-vector.
Definition Vec.h:43
Definition crystallography.h:57
constexpr double a
Definition crystallography.h:58
constexpr double o
Definition crystallography.h:61
Quaternion hexagonal(const TensorOptions &options=default_tensor_options())
hexagonal symmetry operators
constexpr double z
Definition crystallography.h:62
constexpr double h
Definition crystallography.h:60
constexpr double b
Definition crystallography.h:59
Quaternion cubic(const TensorOptions &options=default_tensor_options())
cubic symmetry operators
Quaternion tetragonal(const TensorOptions &options=default_tensor_options())
tetragonal symmetry operators
Definition CrystalGeometry.h:40
Vec unique_bidirectional(const R2 &ops, const Vec &inp)
Helper to return all symmetrically-equivalent directions from a cartesian vector.
R2 symmetry(const std::string &orbifold, const TensorOptions &options=default_tensor_options())
Helper function to return the symmetry operators given the Orbifold notation.
Scalar misorientation(const Rot &r1, const Rot &r2, const std::string &orbifold="1")
Calculate the misorientation of two batches of rotations.
Rot move_to_fundamental_zone(const Rot &r, const std::string &orbifold, const Rot &ref=Rot::fill(0, 0, 0.005))
Move a collection of orientations to a fundemental zone defined by the crystal symmetry.
Definition DiagnosticsInterface.h:31
TensorOptions default_tensor_options()
Default floating point tensor options.
c10::TensorOptions TensorOptions
Definition types.h:66