n2p2 - A neural network potential package
|
Storage for a single atom. More...
#include <Atom.h>
Classes | |
struct | Neighbor |
Struct to store information on neighbor atoms. More... | |
Public Member Functions | |
Atom () | |
Atom constructor, initialize to zero. More... | |
void | toNormalizedUnits (double convEnergy, double convLength, double convCharge) |
Switch to normalized length, energy and charge units. More... | |
void | toPhysicalUnits (double convEnergy, double convLength, double convCharge) |
Switch to physical length, energy and charge units. More... | |
void | allocate (bool all, double const maxCutoffRadius=0.0) |
Allocate vectors related to symmetry functions (G, dEdG). More... | |
void | free (bool all, double const maxCutoffRadius=0.0) |
Free vectors related to symmetry functions, opposite of allocate(). More... | |
void | clearNeighborList () |
Clear neighbor list. More... | |
void | clearNeighborList (std::size_t const numElements) |
Clear neighbor list and change number of elements. More... | |
std::size_t | calculateNumNeighbors (double const cutoffRadius) const |
Calculate number of neighbors for a given cutoff radius. More... | |
std::size_t | getStoredMinNumNeighbors (double const cutoffRadius) const |
Return needed number of neighbors for a given cutoff radius from neighborCutoffs map. More... | |
bool | isNeighbor (std::size_t index) const |
Return whether atom is a neighbor. More... | |
void | updateError (std::string const &property, std::map< std::string, double > &error, std::size_t &count) const |
Update property error metrics with data from this atom. More... | |
Vec3D | calculateSelfForceShort () const |
Calculate force resulting from gradient of this atom's (short-ranged) energy contribution with respect to this atom's coordinate. More... | |
Vec3D | calculatePairForceShort (Neighbor const &neighbor, std::vector< std::vector< std::size_t > > const *const tableFull=nullptr) const |
Calculate force resulting from gradient of this atom's (short-ranged) energy contribution with respect to neighbor's coordinate. More... | |
Vec3D | calculateDChidr (size_t const atomIndexOfR, double const maxCutoffRadius, std::vector< std::vector< size_t > > const *const tableFull=nullptr) const |
Calculate dChi/dr of this atom's Chi with respect to the coordinates of the given atom. More... | |
std::vector< std::string > | getForcesLines () const |
Get reference and NN forces for this atoms. More... | |
std::string | getChargeLine () const |
Get reference and NN charge for this atoms. More... | |
std::vector< std::string > | info () const |
Get atom information as a vector of strings. More... | |
Public Attributes | |
bool | hasNeighborList |
If the neighbor list has been calculated for this atom. More... | |
bool | NeighborListIsSorted |
If the neighbor list is sorted by distance. More... | |
bool | hasSymmetryFunctions |
If symmetry function values are saved for this atom. More... | |
bool | hasSymmetryFunctionDerivatives |
If symmetry function derivatives are saved for this atom. More... | |
bool | useChargeNeuron |
If an additional charge neuron in the short-range NN is present. More... | |
std::size_t | index |
Index number of this atom. More... | |
std::size_t | indexStructure |
Index number of structure this atom belongs to. More... | |
int64_t | tag |
Tag number of this atom. More... | |
std::size_t | element |
Element index of this atom. More... | |
std::size_t | numNeighbors |
Total number of neighbors. More... | |
std::size_t | numNeighborsUnique |
Number of unique neighbor indices (don't count multiple PBC images). More... | |
std::size_t | numSymmetryFunctions |
Number of symmetry functions used to describe the atom environment. More... | |
double | energy |
Atomic energy determined by neural network. More... | |
double | dEelecdQ |
Derivative of electrostatic energy with respect to this atom's charge. More... | |
double | chi |
Atomic electronegativity determined by neural network. More... | |
double | charge |
Atomic charge determined by neural network. More... | |
double | chargeRef |
Atomic reference charge. More... | |
Vec3D | r |
Cartesian coordinates. More... | |
Vec3D | f |
Force vector calculated by neural network. More... | |
Vec3D | fElec |
Force vector resulting from electrostatics. More... | |
Vec3D | fRef |
Reference force vector from data set. More... | |
Vec3D | pEelecpr |
Partial derivative of electrostatic energy with respect to this atom's coordinates. More... | |
std::vector< std::size_t > | neighborsUnique |
List of unique neighbor indices (don't count multiple PBC images). More... | |
std::vector< std::size_t > | numNeighborsPerElement |
Number of neighbors per element. More... | |
std::vector< std::size_t > | numSymmetryFunctionDerivatives |
Number of neighbor atom symmetry function derivatives per element. More... | |
std::vector< std::size_t > | cacheSizePerElement |
Cache size for each element. More... | |
std::vector< double > | G |
Symmetry function values. More... | |
std::vector< double > | dEdG |
Derivative of atomic energy with respect to symmetry functions. More... | |
std::vector< double > | dQdG |
Derivative of atomic charge with respect to symmetry functions. More... | |
std::vector< double > | dChidG |
Derivative of electronegativity with respect to symmetry functions. More... | |
std::vector< Vec3D > | dGdr |
Derivative of symmetry functions with respect to this atom's coordinates. More... | |
std::vector< Vec3D > | dQdr |
Derivative of charges with respect to this atom's coordinates. More... | |
std::vector< Vec3D > | dAdrQ |
If dQdr has been calculated for respective components. More... | |
std::vector< Neighbor > | neighbors |
Neighbor array (maximum number defined in macros.h. More... | |
std::unordered_map< double, size_t > | neighborCutoffs |
Map stores number of neighbors needed for the corresponding cut-off. More... | |
Atom::Atom | ( | ) |
Atom constructor, initialize to zero.
Definition at line 27 of file Atom.cpp.
void Atom::toNormalizedUnits | ( | double | convEnergy, |
double | convLength, | ||
double | convCharge | ||
) |
Switch to normalized length, energy and charge units.
[in] | convEnergy | Multiplicative energy unit conversion factor. |
[in] | convLength | Multiplicative length unit conversion factor. |
[in] | convCharge | Multiplicative charge unit conversion factor. |
Definition at line 78 of file Atom.cpp.
References charge, chargeRef, dEdG, dGdr, energy, f, fRef, hasNeighborList, hasSymmetryFunctionDerivatives, neighbors, numSymmetryFunctions, r, and useChargeNeuron.
void Atom::toPhysicalUnits | ( | double | convEnergy, |
double | convLength, | ||
double | convCharge | ||
) |
Switch to physical length, energy and charge units.
[in] | convEnergy | Multiplicative energy unit conversion factor. |
[in] | convLength | Multiplicative length unit conversion factor. |
[in] | convCharge | Multiplicative charge unit conversion factor. |
Definition at line 123 of file Atom.cpp.
References charge, chargeRef, dEdG, dGdr, energy, f, fRef, hasNeighborList, hasSymmetryFunctionDerivatives, neighbors, numSymmetryFunctions, r, and useChargeNeuron.
void Atom::allocate | ( | bool | all, |
double const | maxCutoffRadius = 0.0 |
||
) |
Allocate vectors related to symmetry functions (G, dEdG).
[in] | all | If true allocate also vectors corresponding to derivatives of symmetry functions (dEdG, dGdr, #dGdxia and Neighbor::dGdr, neighbors must be present). If false allocate only G. |
[in] | maxCutoffRadius | Maximum cutoff radius of symmetry functions. |
Warning: numSymmetryFunctions and numSymmetryFunctionDerivatives need to be set first (the latter only in case of argument all == true.
Definition at line 168 of file Atom.cpp.
References nnp::Atom::Neighbor::cache, cacheSizePerElement, dChidG, dEdG, nnp::Atom::Neighbor::dGdr, dGdr, dQdG, nnp::Atom::Neighbor::element, G, getStoredMinNumNeighbors(), hasSymmetryFunctionDerivatives, hasSymmetryFunctions, neighbors, numSymmetryFunctionDerivatives, numSymmetryFunctions, and useChargeNeuron.
Referenced by nnp::Mode::calculateSymmetryFunctionGroups(), and nnp::Mode::calculateSymmetryFunctions().
void Atom::free | ( | bool | all, |
double const | maxCutoffRadius = 0.0 |
||
) |
Free vectors related to symmetry functions, opposite of allocate().
[in] | all | If true free all vectors (G, dEdG, dGdr, #dGdxia and Neighbor::dGdr) otherwise free only dEdG, dGdr, #dGdxia and Neighbor::dGdr. |
[in] | maxCutoffRadius | Maximum cutoff radius of symmetry functions. |
Definition at line 242 of file Atom.cpp.
References nnp::Atom::Neighbor::cache, dChidG, dEdG, nnp::Atom::Neighbor::dGdr, dGdr, dQdG, G, getStoredMinNumNeighbors(), hasSymmetryFunctionDerivatives, hasSymmetryFunctions, and neighbors.
void Atom::clearNeighborList | ( | ) |
Clear neighbor list.
Definition at line 285 of file Atom.cpp.
References clearNeighborList(), and numNeighborsPerElement.
Referenced by clearNeighborList(), and nnp::Structure::clearNeighborList().
void nnp::Atom::clearNeighborList | ( | std::size_t const | numElements | ) |
Clear neighbor list and change number of elements.
[in] | numElements | Number of elements present. |
size_t Atom::calculateNumNeighbors | ( | double const | cutoffRadius | ) | const |
Calculate number of neighbors for a given cutoff radius.
[in] | cutoffRadius | Desired cutoff radius. |
This function assumes that the neighbor list has already been calculated for a large cutoff radius and now the number of neighbor atoms for a smaller cutoff is requested.
Definition at line 307 of file Atom.cpp.
References neighborCutoffs, neighbors, and nnp::unorderedMapContainsKey().
Referenced by nnp::Mode::calculateSymmetryFunctionGroups(), and nnp::Mode::calculateSymmetryFunctions().
size_t Atom::getStoredMinNumNeighbors | ( | double const | cutoffRadius | ) | const |
Return needed number of neighbors for a given cutoff radius from neighborCutoffs map.
If it isn't setup, return number of all neighbors in list.
[in] | cutoffRadius | Desired cutoff radius. |
Definition at line 329 of file Atom.cpp.
References neighborCutoffs, numNeighbors, and nnp::unorderedMapContainsKey().
Referenced by allocate(), nnp::SymFncExpAngn::calculate(), nnp::SymFncExpRad::calculate(), nnp::SymGrpExpAngn::calculate(), nnp::SymGrpExpRad::calculate(), nnp::Structure::calculateDAdrQ(), calculateDChidr(), nnp::Structure::calculateElectrostaticEnergy(), nnp::Mode::calculateForces(), nnp::Structure::calculateScreeningEnergy(), and free().
bool Atom::isNeighbor | ( | std::size_t | index | ) | const |
void Atom::updateError | ( | std::string const & | property, |
std::map< std::string, double > & | error, | ||
std::size_t & | count | ||
) | const |
Update property error metrics with data from this atom.
[in] | property | One of "force" or "charge". |
[in,out] | error | Input error metric map to be updated. |
[in,out] | count | Input counter to be updated. |
Definition at line 347 of file Atom.cpp.
Vec3D Atom::calculateSelfForceShort | ( | ) | const |
Calculate force resulting from gradient of this atom's (short-ranged) energy contribution with respect to this atom's coordinate.
Definition at line 371 of file Atom.cpp.
References dEdG, dGdr, and numSymmetryFunctions.
Referenced by nnp::Mode::calculateForces().
Vec3D Atom::calculatePairForceShort | ( | Neighbor const & | neighbor, |
std::vector< std::vector< std::size_t > > const *const | tableFull = nullptr |
||
) | const |
Calculate force resulting from gradient of this atom's (short-ranged) energy contribution with respect to neighbor's coordinate.
[in] | neighbor | Neighbor of which the gradient is considered. |
[in] | tableFull | Pointer to ymmetry function table if it is used. |
Definition at line 381 of file Atom.cpp.
References dEdG, nnp::Atom::Neighbor::dGdr, nnp::Atom::Neighbor::element, and numSymmetryFunctions.
Referenced by nnp::Mode::calculateForces().
Vec3D Atom::calculateDChidr | ( | size_t const | atomIndexOfR, |
double const | maxCutoffRadius, | ||
std::vector< std::vector< size_t > > const *const | tableFull = nullptr |
||
) | const |
Calculate dChi/dr of this atom's Chi with respect to the coordinates of the given atom.
[in] | atomIndexOfR | Index of the atom corresponding to the coordinates r. |
[in] | maxCutoffRadius | Largest cut-off of the symmetry functions. |
[in] | tableFull | Pointer to symmetry function table if it is used. |
Definition at line 403 of file Atom.cpp.
References dChidG, nnp::Atom::Neighbor::dGdr, dGdr, nnp::Atom::Neighbor::element, getStoredMinNumNeighbors(), index, neighbors, numNeighbors, numSymmetryFunctions, and nnp::Atom::Neighbor::tag.
Referenced by nnp::Structure::calculateDQdr(), and nnp::Mode::calculateForces().
vector< string > Atom::getForcesLines | ( | ) | const |
Get reference and NN forces for this atoms.
Definition at line 446 of file Atom.cpp.
References f, fRef, index, indexStructure, and nnp::strpr().
string Atom::getChargeLine | ( | ) | const |
Get reference and NN charge for this atoms.
Definition at line 461 of file Atom.cpp.
References charge, chargeRef, index, indexStructure, and nnp::strpr().
vector< string > Atom::info | ( | ) | const |
Get atom information as a vector of strings.
Definition at line 470 of file Atom.cpp.
References cacheSizePerElement, charge, chargeRef, chi, dEdG, dGdr, dQdG, element, energy, f, fRef, G, hasNeighborList, hasSymmetryFunctionDerivatives, hasSymmetryFunctions, index, indexStructure, neighbors, neighborsUnique, numNeighbors, numNeighborsPerElement, numNeighborsUnique, numSymmetryFunctionDerivatives, numSymmetryFunctions, r, nnp::strpr(), tag, and useChargeNeuron.
bool nnp::Atom::hasNeighborList |
If the neighbor list has been calculated for this atom.
Definition at line 91 of file Atom.h.
Referenced by info(), toNormalizedUnits(), and toPhysicalUnits().
bool nnp::Atom::NeighborListIsSorted |
bool nnp::Atom::hasSymmetryFunctions |
If symmetry function values are saved for this atom.
Definition at line 95 of file Atom.h.
Referenced by allocate(), nnp::Mode::calculateSymmetryFunctionGroups(), nnp::Mode::calculateSymmetryFunctions(), free(), info(), and nnp::InterfaceLammps::setLocalAtoms().
bool nnp::Atom::hasSymmetryFunctionDerivatives |
If symmetry function derivatives are saved for this atom.
Definition at line 97 of file Atom.h.
Referenced by allocate(), nnp::Mode::calculateSymmetryFunctionGroups(), nnp::Mode::calculateSymmetryFunctions(), free(), info(), nnp::InterfaceLammps::setLocalAtoms(), toNormalizedUnits(), and toPhysicalUnits().
bool nnp::Atom::useChargeNeuron |
If an additional charge neuron in the short-range NN is present.
Definition at line 99 of file Atom.h.
Referenced by allocate(), nnp::Mode::calculateSymmetryFunctionGroups(), nnp::Mode::calculateSymmetryFunctions(), info(), toNormalizedUnits(), and toPhysicalUnits().
std::size_t nnp::Atom::index |
Index number of this atom.
Definition at line 101 of file Atom.h.
Referenced by calculateDChidr(), nnp::Mode::calculateForces(), nnp::Mode::calculateSymmetryFunctionGroups(), nnp::Mode::calculateSymmetryFunctions(), nnp::Training::collectDGdxia(), getChargeLine(), getForcesLines(), nnp::Atom::Neighbor::info(), info(), isNeighbor(), and nnp::InterfaceLammps::setLocalAtoms().
std::size_t nnp::Atom::indexStructure |
Index number of structure this atom belongs to.
Definition at line 103 of file Atom.h.
Referenced by nnp::Mode::calculateSymmetryFunctionGroups(), nnp::Mode::calculateSymmetryFunctions(), getChargeLine(), getForcesLines(), info(), nnp::InterfaceLammps::setLocalAtoms(), and nnp::Element::updateSymmetryFunctionStatistics().
int64_t nnp::Atom::tag |
Tag number of this atom.
Definition at line 105 of file Atom.h.
Referenced by nnp::Atom::Neighbor::info(), info(), and nnp::Element::updateSymmetryFunctionStatistics().
std::size_t nnp::Atom::element |
Element index of this atom.
Definition at line 107 of file Atom.h.
Referenced by nnp::Structure::calculateDAdrQ(), nnp::Structure::calculateDQdJ(), nnp::Structure::calculateDQdr(), nnp::Structure::calculateElectrostaticEnergy(), nnp::Structure::calculateElectrostaticEnergyDerivatives(), nnp::Mode::calculateForces(), nnp::Structure::calculateScreeningEnergy(), nnp::Mode::calculateSymmetryFunctionGroups(), nnp::Mode::calculateSymmetryFunctions(), nnp::Training::collectDGdxia(), LAMMPS_NS::PairHDNNPExternal::compute(), nnp::InterfaceLammps::getAtomicEnergy(), nnp::Atom::Neighbor::info(), info(), nnp::Atom::Neighbor::operator==(), nnp::InterfaceLammps::setLocalAtoms(), nnp::Training::update(), and nnp::Element::updateSymmetryFunctionStatistics().
std::size_t nnp::Atom::numNeighbors |
Total number of neighbors.
Definition at line 109 of file Atom.h.
Referenced by nnp::InterfaceLammps::addNeighbor(), nnp::SymFncCompAngn::calculate(), nnp::SymFncCompAngnWeighted::calculate(), nnp::SymFncCompAngw::calculate(), nnp::SymFncCompAngwWeighted::calculate(), nnp::SymFncCompRad::calculate(), nnp::SymFncCompRadWeighted::calculate(), nnp::SymFncExpAngnWeighted::calculate(), nnp::SymFncExpAngw::calculate(), nnp::SymFncExpRadWeighted::calculate(), nnp::SymGrpCompAngn::calculate(), nnp::SymGrpCompAngnWeighted::calculate(), nnp::SymGrpCompAngw::calculate(), nnp::SymGrpCompAngwWeighted::calculate(), nnp::SymGrpCompRad::calculate(), nnp::SymGrpCompRadWeighted::calculate(), nnp::SymGrpExpAngnWeighted::calculate(), nnp::SymGrpExpAngw::calculate(), nnp::SymGrpExpRadWeighted::calculate(), calculateDChidr(), nnp::Training::collectDGdxia(), getStoredMinNumNeighbors(), info(), nnp::InterfaceLammps::setLocalAtoms(), and nnp::Training::update().
std::size_t nnp::Atom::numNeighborsUnique |
std::size_t nnp::Atom::numSymmetryFunctions |
Number of symmetry functions used to describe the atom environment.
Definition at line 113 of file Atom.h.
Referenced by allocate(), calculateDChidr(), calculatePairForceShort(), calculateSelfForceShort(), nnp::Mode::calculateSymmetryFunctionGroups(), nnp::Mode::calculateSymmetryFunctions(), nnp::Training::collectDGdxia(), info(), toNormalizedUnits(), toPhysicalUnits(), and nnp::Element::updateSymmetryFunctionStatistics().
double nnp::Atom::energy |
Atomic energy determined by neural network.
Definition at line 115 of file Atom.h.
Referenced by nnp::InterfaceLammps::getAtomicEnergy(), info(), toNormalizedUnits(), and toPhysicalUnits().
double nnp::Atom::dEelecdQ |
Derivative of electrostatic energy with respect to this atom's charge.
Definition at line 117 of file Atom.h.
Referenced by nnp::Structure::calculateElectrostaticEnergyDerivatives(), nnp::Structure::calculateForceLambdaElec(), and nnp::Structure::calculateForceLambdaTotal().
double nnp::Atom::chi |
Atomic electronegativity determined by neural network.
Definition at line 119 of file Atom.h.
Referenced by nnp::Structure::calculateElectrostaticEnergy(), info(), and nnp::Training::update().
double nnp::Atom::charge |
Atomic charge determined by neural network.
Definition at line 121 of file Atom.h.
Referenced by nnp::Structure::calculateDAdrQ(), nnp::Structure::calculateDQdJ(), nnp::Structure::calculateElectrostaticEnergyDerivatives(), nnp::Structure::calculateScreeningEnergy(), getChargeLine(), info(), toNormalizedUnits(), toPhysicalUnits(), nnp::Training::update(), and updateError().
double nnp::Atom::chargeRef |
Atomic reference charge.
Definition at line 123 of file Atom.h.
Referenced by getChargeLine(), info(), toNormalizedUnits(), toPhysicalUnits(), nnp::Training::update(), and updateError().
Vec3D nnp::Atom::r |
Cartesian coordinates.
Definition at line 125 of file Atom.h.
Referenced by nnp::Structure::calculateDAdrQ(), nnp::Structure::calculateElectrostaticEnergy(), nnp::Structure::calculateElectrostaticEnergyDerivatives(), nnp::Structure::calculateScreeningEnergy(), LAMMPS_NS::PairHDNNPExternal::compute(), info(), nnp::Structure::remap(), nnp::InterfaceLammps::setLocalAtomPositions(), toNormalizedUnits(), and toPhysicalUnits().
Vec3D nnp::Atom::f |
Force vector calculated by neural network.
Definition at line 127 of file Atom.h.
Referenced by nnp::Mode::calculateForces(), getForcesLines(), info(), main(), nnp::Training::sortUpdateCandidates(), toNormalizedUnits(), toPhysicalUnits(), nnp::Training::update(), and updateError().
Vec3D nnp::Atom::fElec |
Vec3D nnp::Atom::fRef |
Reference force vector from data set.
Definition at line 131 of file Atom.h.
Referenced by getForcesLines(), info(), main(), nnp::Training::sortUpdateCandidates(), toNormalizedUnits(), toPhysicalUnits(), nnp::Training::update(), and updateError().
Vec3D nnp::Atom::pEelecpr |
Partial derivative of electrostatic energy with respect to this atom's coordinates.
Definition at line 134 of file Atom.h.
Referenced by nnp::Structure::calculateElectrostaticEnergyDerivatives().
std::vector<std::size_t> nnp::Atom::neighborsUnique |
List of unique neighbor indices (don't count multiple PBC images).
Definition at line 136 of file Atom.h.
Referenced by nnp::Mode::calculateForces(), and info().
std::vector<std::size_t> nnp::Atom::numNeighborsPerElement |
Number of neighbors per element.
Definition at line 138 of file Atom.h.
Referenced by nnp::InterfaceLammps::addNeighbor(), clearNeighborList(), nnp::Structure::clearNeighborList(), info(), nnp::InterfaceLammps::setLocalAtoms(), and nnp::Training::update().
std::vector<std::size_t> nnp::Atom::numSymmetryFunctionDerivatives |
Number of neighbor atom symmetry function derivatives per element.
Definition at line 140 of file Atom.h.
Referenced by allocate(), nnp::Mode::calculateSymmetryFunctionGroups(), nnp::Mode::calculateSymmetryFunctions(), and info().
std::vector<std::size_t> nnp::Atom::cacheSizePerElement |
Cache size for each element.
Definition at line 143 of file Atom.h.
Referenced by allocate(), nnp::Mode::calculateSymmetryFunctionGroups(), nnp::Mode::calculateSymmetryFunctions(), and info().
std::vector<double> nnp::Atom::G |
Symmetry function values.
Definition at line 146 of file Atom.h.
Referenced by allocate(), nnp::SymFncCompAngn::calculate(), nnp::SymFncCompAngnWeighted::calculate(), nnp::SymFncCompAngw::calculate(), nnp::SymFncCompAngwWeighted::calculate(), nnp::SymFncCompRad::calculate(), nnp::SymFncCompRadWeighted::calculate(), nnp::SymFncExpAngn::calculate(), nnp::SymFncExpAngnWeighted::calculate(), nnp::SymFncExpAngw::calculate(), nnp::SymFncExpRad::calculate(), nnp::SymFncExpRadWeighted::calculate(), nnp::SymGrpCompAngn::calculate(), nnp::SymGrpCompAngnWeighted::calculate(), nnp::SymGrpCompAngw::calculate(), nnp::SymGrpCompAngwWeighted::calculate(), nnp::SymGrpCompRad::calculate(), nnp::SymGrpCompRadWeighted::calculate(), nnp::SymGrpExpAngn::calculate(), nnp::SymGrpExpAngnWeighted::calculate(), nnp::SymGrpExpAngw::calculate(), nnp::SymGrpExpRad::calculate(), nnp::SymGrpExpRadWeighted::calculate(), free(), info(), nnp::Training::update(), nnp::Element::updateSymmetryFunctionStatistics(), and nnp::Dataset::writeAtomicEnvironmentFile().
std::vector<double> nnp::Atom::dEdG |
Derivative of atomic energy with respect to symmetry functions.
Also contains dEdQ in the last element if HDNNP-4G is used.
Definition at line 149 of file Atom.h.
Referenced by allocate(), nnp::Structure::calculateForceLambdaTotal(), calculatePairForceShort(), calculateSelfForceShort(), free(), info(), toNormalizedUnits(), and toPhysicalUnits().
std::vector<double> nnp::Atom::dQdG |
Derivative of atomic charge with respect to symmetry functions.
Definition at line 151 of file Atom.h.
Referenced by allocate(), free(), and info().
std::vector<double> nnp::Atom::dChidG |
Derivative of electronegativity with respect to symmetry functions.
Definition at line 153 of file Atom.h.
Referenced by allocate(), calculateDChidr(), free(), and nnp::Training::update().
std::vector<Vec3D> nnp::Atom::dGdr |
Derivative of symmetry functions with respect to this atom's coordinates.
Definition at line 161 of file Atom.h.
Referenced by allocate(), nnp::SymFncCompAngn::calculate(), nnp::SymFncCompAngnWeighted::calculate(), nnp::SymFncCompAngw::calculate(), nnp::SymFncCompAngwWeighted::calculate(), nnp::SymFncCompRad::calculate(), nnp::SymFncCompRadWeighted::calculate(), nnp::SymFncExpAngn::calculate(), nnp::SymFncExpAngnWeighted::calculate(), nnp::SymFncExpAngw::calculate(), nnp::SymFncExpRad::calculate(), nnp::SymFncExpRadWeighted::calculate(), nnp::SymGrpCompAngn::calculate(), nnp::SymGrpCompAngnWeighted::calculate(), nnp::SymGrpCompAngw::calculate(), nnp::SymGrpCompAngwWeighted::calculate(), nnp::SymGrpCompRad::calculate(), nnp::SymGrpCompRadWeighted::calculate(), nnp::SymGrpExpAngn::calculate(), nnp::SymGrpExpAngnWeighted::calculate(), nnp::SymGrpExpAngw::calculate(), nnp::SymGrpExpRad::calculate(), nnp::SymGrpExpRadWeighted::calculate(), calculateDChidr(), calculateSelfForceShort(), nnp::Training::collectDGdxia(), free(), nnp::Atom::Neighbor::info(), info(), toNormalizedUnits(), and toPhysicalUnits().
std::vector<Vec3D> nnp::Atom::dQdr |
Derivative of charges with respect to this atom's coordinates.
Definition at line 163 of file Atom.h.
Referenced by nnp::Structure::calculateDQdr().
std::vector<Vec3D> nnp::Atom::dAdrQ |
If dQdr has been calculated for respective components.
Derivative of A-matrix with respect to this atom's coordinates contracted with the charges.
Definition at line 168 of file Atom.h.
Referenced by nnp::Structure::calculateDAdrQ(), nnp::Structure::calculateDQdr(), and nnp::Structure::calculateElectrostaticEnergyDerivatives().
std::vector<Neighbor> nnp::Atom::neighbors |
Neighbor array (maximum number defined in macros.h.
Definition at line 170 of file Atom.h.
Referenced by nnp::InterfaceLammps::addNeighbor(), allocate(), nnp::SymFncCompAngn::calculate(), nnp::SymFncCompAngnWeighted::calculate(), nnp::SymFncCompAngw::calculate(), nnp::SymFncCompAngwWeighted::calculate(), nnp::SymFncCompRad::calculate(), nnp::SymFncCompRadWeighted::calculate(), nnp::SymFncExpAngn::calculate(), nnp::SymFncExpAngnWeighted::calculate(), nnp::SymFncExpAngw::calculate(), nnp::SymFncExpRad::calculate(), nnp::SymFncExpRadWeighted::calculate(), nnp::SymGrpCompAngn::calculate(), nnp::SymGrpCompAngnWeighted::calculate(), nnp::SymGrpCompAngw::calculate(), nnp::SymGrpCompAngwWeighted::calculate(), nnp::SymGrpCompRad::calculate(), nnp::SymGrpCompRadWeighted::calculate(), nnp::SymGrpExpAngn::calculate(), nnp::SymGrpExpAngnWeighted::calculate(), nnp::SymGrpExpAngw::calculate(), nnp::SymGrpExpRad::calculate(), nnp::SymGrpExpRadWeighted::calculate(), nnp::Structure::calculateDAdrQ(), calculateDChidr(), nnp::Structure::calculateElectrostaticEnergy(), nnp::Structure::calculateElectrostaticEnergyDerivatives(), nnp::Mode::calculateForces(), calculateNumNeighbors(), nnp::Structure::calculateScreeningEnergy(), nnp::Training::collectDGdxia(), free(), info(), isNeighbor(), nnp::InterfaceLammps::setLocalAtoms(), toNormalizedUnits(), toPhysicalUnits(), and nnp::Dataset::writeAtomicEnvironmentFile().
std::unordered_map<double, size_t> nnp::Atom::neighborCutoffs |
Map stores number of neighbors needed for the corresponding cut-off.
Definition at line 172 of file Atom.h.
Referenced by calculateNumNeighbors(), and getStoredMinNumNeighbors().