8#include "paramIdConversions.h"
14 int convertFullParamIdToReduced<1>(
const int fullId,
23 int convertFullParamIdToReduced<2>(
const int fullId,
31 }
else if (fullId == 1) {
32 if ((lattice == UnitCell<2>::Rectangular) ||
33 (lattice == UnitCell<2>::Oblique)) {
39 if (lattice == UnitCell<2>::Oblique) {
41 }
else if (lattice == UnitCell<2>::Rhombic) {
50 int convertFullParamIdToReduced<3>(
const int fullId,
57 }
else if (fullId == 1) {
58 if ((lattice == UnitCell<3>::Orthorhombic) ||
59 (lattice == UnitCell<3>::Monoclinic) ||
60 (lattice == UnitCell<3>::Triclinic)) {
65 }
else if (fullId == 2) {
66 if ((lattice == UnitCell<3>::Cubic) ||
67 (lattice == UnitCell<3>::Rhombohedral)) {
69 }
else if ((lattice == UnitCell<3>::Tetragonal) ||
70 (lattice == UnitCell<3>::Hexagonal)) {
75 }
else if ((fullId == 3) || (fullId == 5)) {
76 if (lattice == UnitCell<3>::Triclinic) {
78 }
else if (lattice == UnitCell<3>::Rhombohedral) {
84 if (lattice == UnitCell<3>::Triclinic) {
86 }
else if (lattice == UnitCell<3>::Monoclinic) {
88 }
else if (lattice == UnitCell<3>::Rhombohedral) {
97 int convertReducedParamIdToFull<1>(
const int reducedId,
106 int convertReducedParamIdToFull<2>(
const int reducedId,
110 if ((lattice == UnitCell<2>::Square) ||
111 (lattice == UnitCell<2>::Hexagonal)) {
114 }
else if (lattice == UnitCell<2>::Rectangular) {
117 }
else if (lattice == UnitCell<2>::Rhombic) {
119 if (reducedId == 0) {
131 int convertReducedParamIdToFull<3>(
const int reducedId,
135 if (lattice == UnitCell<3>::Cubic) {
138 }
else if ((lattice == UnitCell<3>::Hexagonal) ||
139 (lattice == UnitCell<3>::Tetragonal)) {
141 if (reducedId == 0) {
146 }
else if (lattice == UnitCell<3>::Rhombohedral) {
148 if (reducedId == 0) {
153 }
else if (lattice == UnitCell<3>::Orthorhombic) {
156 }
else if (lattice == UnitCell<3>::Monoclinic) {
LatticeSystem
Enumeration of 1D lattice system types.
LatticeSystem
Enumeration of 2D lattice system types.
LatticeSystem
Enumeration of the 7 possible 3D Bravais lattice systems.
#define UTIL_CHECK(condition)
Assertion macro suitable for serial or parallel production code.
PSCF package top-level namespace.