Loading...
Searching...
No Matches
atom.hpp
Go to the documentation of this file.
1#pragma once
2
3/**
4 * Atom: data structure for a single atom within a crystal unit cell.
5 *
6 * Stores the species index (into the crystal's species list) and the
7 * position in fractional (crystal) coordinates.
8 */
9
10#include <array>
11
13
14namespace q3 {
15
16/**
17 * Describes one atom in the cell.
18 */
19struct Atom {
20 int species_index; // index into species list
21 Vector3D position; // in crystal (fractional) coordinates
22 /// Which Cartesian components a relaxation may move (pw.x if_pos; ESSE basis.constraints).
23 std::array<bool, 3> movable_components{true, true, true};
24};
25
26} // namespace q3
int species_index
Definition atom.hpp:20
std::array< bool, 3 > movable_components
Which Cartesian components a relaxation may move (pw.x if_pos; ESSE basis.constraints).
Definition atom.hpp:23
Vector3D position
Definition atom.hpp:21