Quantum 3xplorer (Q3)
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
12
#include "
layer_0_core/types/init.hpp
"
13
14
namespace
q3
{
15
16
/**
17
* Describes one atom in the cell.
18
*/
19
struct
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
init.hpp
q3
Definition
q3_core_api.hpp:33
q3::Atom
Definition
atom.hpp:19
q3::Atom::species_index
int species_index
Definition
atom.hpp:20
q3::Atom::movable_components
std::array< bool, 3 > movable_components
Which Cartesian components a relaxation may move (pw.x if_pos; ESSE basis.constraints).
Definition
atom.hpp:23
q3::Atom::position
Vector3D position
Definition
atom.hpp:21
q3::Vector3D
Definition
vector_3d.hpp:23
src
layer_1_structure
crystal
atom.hpp
Generated by
1.9.8