45#include "lattice/FCCLattice.hpp"
49 FCCLattice::FCCLattice() : CubicLattice() {
51 cellSitesPos.resize(nCellSites);
52 cellSitesOrt.resize(nCellSites);
56 void FCCLattice::update() {
57 RealType cellLenOver2;
58 RealType oneOverRoot3;
60 cellLenOver2 = 0.5 * latticeParam;
61 oneOverRoot3 = 1.0 / sqrt(3.0);
64 cellSitesPos[0][0] = 0.0;
65 cellSitesPos[0][1] = 0.0;
66 cellSitesPos[0][2] = 0.0;
68 cellSitesOrt[0][0] = oneOverRoot3;
69 cellSitesOrt[0][1] = oneOverRoot3;
70 cellSitesOrt[0][2] = oneOverRoot3;
73 cellSitesPos[1][0] = 0.0;
74 cellSitesPos[1][1] = cellLenOver2;
75 cellSitesPos[1][2] = cellLenOver2;
77 cellSitesOrt[1][0] = -oneOverRoot3;
78 cellSitesOrt[1][1] = oneOverRoot3;
79 cellSitesOrt[1][2] = -oneOverRoot3;
82 cellSitesPos[2][0] = cellLenOver2;
83 cellSitesPos[2][1] = cellLenOver2;
84 cellSitesPos[2][2] = 0.0;
86 cellSitesOrt[2][0] = oneOverRoot3;
87 cellSitesOrt[2][1] = -oneOverRoot3;
88 cellSitesOrt[2][2] = -oneOverRoot3;
92 cellSitesPos[3][0] = cellLenOver2;
93 cellSitesPos[3][1] = 0.0;
94 cellSitesPos[3][2] = cellLenOver2;
96 cellSitesOrt[3][0] = -oneOverRoot3;
97 cellSitesOrt[3][1] = oneOverRoot3;
98 cellSitesOrt[3][2] = oneOverRoot3;
This basic Periodic Table class was originally taken from the data.cpp file in OpenBabel.