Memory layout
Configuration storage
-
struct Atom
Storage for a single atom.
Public Members
-
std::size_t index
Index number of this atom.
-
std::size_t element
Element index of this atom.
-
double energy
Atomic energy determined by neural network.
-
double charge
Atomic charge determined by neural network.
-
std::vector<double> G
Symmetry function values.
-
std::vector<double> dEdG
Derivative of atomic energy with respect to symmetry functions.
Also contains dEdQ in the last element if HDNNP-4G is used.
-
std::size_t index
-
struct Neighbor
Struct to store information on neighbor atoms.
Public Members
-
std::size_t index
Index of neighbor atom.
-
std::size_t element
Element index of neighbor atom.
-
double d
Distance to neighbor atom.
-
std::vector<Vec3D> dGdr
Derivatives of symmetry functions with respect to neighbor coordinates.
May be empty, only filled when needed. Contains \( \frac{\partial G_i}{\partial \alpha_j} \), where \(G_i\) is a symmetry function of atom \(i\) and \(\alpha_j\) is a coordinate \( \alpha = x,y,z \) of neighbor atom \( j \), necessary for force calculation.
-
std::size_t index
-
struct Structure
Storage for one atomic configuration.
-
class Dataset : public nnp::Mode
Collect and process large data sets.
Subclassed by nnp::Training
Helper classes and functions
-
class ElementMap
Contains element map.
Public Functions
-
inline std::string operator[](std::size_t const index) const
Overload [] operator for index search.
- Parameters:
index – [in] Element index.
- Returns:
Symbol of element in map.
-
inline std::size_t operator[](std::string const symbol) const
Overload [] operator for symbol search.
- Parameters:
symbol – [in] Element symbol.
- Returns:
Index of element in map.
-
inline std::string operator[](std::size_t const index) const
-
struct Vec3D
Vector in 3 dimensional real space.
Public Functions
-
inline double norm() const
Calculate norm of vector.
- Returns:
Norm of vector.
-
inline double norm2() const
Calculate square of norm of vector.
- Returns:
Square of norm of vector.
Public Members
-
double r[3]
cartesian coordinates.
-
inline double norm() const
-
vector<string> nnp::split(std::string const &input, char delimiter = ' ')
Split string at each delimiter.
- Parameters:
input – [in] Input string.
delimiter – [in] Delimiter character (default ‘ ‘).
- Returns:
Vector containing the string parts.
-
string nnp::strpr(const char *format, ...)
String version of printf function.