StDescriptors
-
struct StDescriptors
Container for a structure descriptors.
Contains:
Atomic Energy Descriptors
Force Descriptors (Optional)
Stress Descriptors (Optional)
To fully initialise this object it needs to know:
number of atoms in a structure (from Structure)
number of nn for every atom (from Structure)
dimension of the descriptor vector (Config)
whether force and stress is being calculated (from Config)
Note
Required Config keys: FORCE STRESS. INTERNAL_KEY DSIZE.
Public Types
-
typedef Eigen::VectorXd aed_type
Atomic Energy Descriptor (AED) type
Dimensions: [descriptor size]
-
typedef Eigen::Matrix<double, Eigen::Dynamic, 3> fd_type
Force Descriptor (FD) type
Dimensions: [descriptor size, 3]
-
typedef Eigen::Matrix<double, Eigen::Dynamic, 6> sd_type
Stress Descriptor (SD) type
Dimensions: [descriptor size,6]
-
typedef Eigen::Ref<Eigen::VectorXd> rho_rtype
Density array to be used by many-body descriptors… TODO
Dimensions: [atom i][n]
where n is specific to given descriptor
Public Functions
-
StDescriptors(const Structure &s, const Config &c)
This constructor fully initialise this object
Requires:
-
StDescriptors()
Default constructor. Object is left uninitialised
Public Members
-
aeds_type aeds
AED for all atoms
This object will always be initialised given provided Structure contains atoms.
Dimensions: [number of atoms, descriptor size]
-
std::vector<std::vector<fd_type>> fd
FD for all atoms
Dimensions: [number of atoms, number of atom NN, descriptor size, 3]
-
bool normalised = false
True if descriptors are normalised