|
n2p2 - A neural network potential package
|
Symmetry function base class for SFs with compact support. More...
#include <SymFncBaseComp.h>


Public Member Functions | |
| virtual std::vector< std::string > | parameterInfo () const |
| Get description with parameter names and values. | |
| void | setCompactFunction (std::string subtype) |
| Set radial compact function. | |
| std::string | getSubtype () const |
| Get private subtype member variable. | |
| double | getRl () const |
| Get private rl member variable. | |
Public Member Functions inherited from nnp::SymFnc | |
| virtual | ~SymFnc () |
| Virtual destructor. | |
| virtual bool | operator== (SymFnc const &rhs) const =0 |
| Overload == operator. | |
| virtual bool | operator< (SymFnc const &rhs) const =0 |
| Overload < operator. | |
| bool | operator!= (SymFnc const &rhs) const |
| Overload != operator. | |
| bool | operator> (SymFnc const &rhs) const |
| Overload > operator. | |
| bool | operator<= (SymFnc const &rhs) const |
| Overload <= operator. | |
| bool | operator>= (SymFnc const &rhs) const |
| Overload >= operator. | |
| virtual void | setParameters (std::string const ¶meterString)=0 |
| Set parameters. | |
| virtual void | changeLengthUnit (double convLength)=0 |
| Change length unit. | |
| virtual std::string | getSettingsLine () const =0 |
| Get settings file line from currently set parameters. | |
| virtual void | calculate (Atom &atom, bool const derivatives) const =0 |
| Calculate symmetry function for one atom. | |
| virtual std::string | parameterLine () const =0 |
| Give symmetry function parameters in one line. | |
| void | setScalingType (ScalingType scalingType, std::string statisticsLine, double Smin, double Smax) |
| Set symmetry function scaling type. | |
| double | scale (double value) const |
| Apply symmetry function scaling and/or centering. | |
| double | unscale (double value) const |
| Undo symmetry function scaling and/or centering. | |
| std::size_t | getType () const |
| Get private type member variable. | |
| std::size_t | getIndex () const |
| Get private index member variable. | |
| std::size_t | getLineNumber () const |
| Get private lineNumber member variable. | |
| std::size_t | getEc () const |
| Get private ec member variable. | |
| std::size_t | getMinNeighbors () const |
| Get private minNeighbors member variable. | |
| double | getRc () const |
| Get private rc member variable. | |
| double | getGmin () const |
| Get private Gmin member variable. | |
| double | getGmax () const |
| Get private Gmax member variable. | |
| double | getScalingFactor () const |
| Get private scalingFactor member variable. | |
| double | getConvLength () const |
| Get private convLength member variable. | |
| std::set< std::string > | getParameters () const |
| Get private parameters member variable. | |
| std::vector< std::size_t > | getIndexPerElement () const |
| Get private indexPerElement member variable. | |
| void | setIndex (std::size_t index) |
| Set private index member variable. | |
| void | setIndexPerElement (std::size_t elementIndex, std::size_t index) |
| Set private indexPerElement member variable. | |
| void | setLineNumber (std::size_t lineNumber) |
| Set line number. | |
| std::string | scalingLine () const |
| Get string with scaling information. | |
| virtual double | calculateRadialPart (double distance) const =0 |
| Calculate (partial) symmetry function value for one given distance. | |
| virtual double | calculateAngularPart (double angle) const =0 |
| Calculate (partial) symmetry function value for one given angle. | |
| virtual bool | checkRelevantElement (std::size_t index) const =0 |
| Check whether symmetry function is relevant for given element. | |
| virtual std::vector< std::string > | getCacheIdentifiers () const |
| Get unique cache identifiers. | |
| void | addCacheIndex (std::size_t element, std::size_t cacheIndex, std::string cacheIdentifier) |
| Add one cache index for given neighbor element and check identifier. | |
| std::vector< std::vector< std::size_t > > | getCacheIndices () const |
| Getter for cacheIndices. | |
Protected Member Functions | |
| SymFncBaseComp (std::size_t type, ElementMap const &) | |
| Constructor, initializes type. | |
Protected Member Functions inherited from nnp::SymFnc | |
| SymFnc (std::size_t type, ElementMap const &) | |
| Constructor, initializes type. | |
| std::string | getPrintFormat () const |
| Generate format string for symmetry function parameter printing. | |
Protected Attributes | |
| bool | asymmetric |
| If asymmetric version of polynomials should be used. | |
| double | rl |
| Lower bound of compact function, \(r_{l}\). | |
| std::string | subtype |
| Subtype string (specifies e.g. polynom type). | |
| CompactFunction | cr |
| Compact function for radial part. | |
Protected Attributes inherited from nnp::SymFnc | |
| std::size_t | type |
| Symmetry function type. | |
| ElementMap | elementMap |
| Copy of element map. | |
| std::size_t | index |
| Symmetry function index (per element). | |
| std::size_t | lineNumber |
| Line number. | |
| std::size_t | ec |
| Element index of center atom. | |
| std::size_t | minNeighbors |
| Minimum number of neighbors required. | |
| double | Smin |
| Minimum for scaling range. | |
| double | Smax |
| Maximum for scaling range. | |
| double | Gmin |
| Minimum unscaled symmetry function value. | |
| double | Gmax |
| Maximum unscaled symmetry function value. | |
| double | Gmean |
| Mean unscaled symmetry function value. | |
| double | Gsigma |
| Sigma of unscaled symmetry function values. | |
| double | rc |
| Cutoff radius \(r_c\). | |
| double | scalingFactor |
| Scaling factor. | |
| double | convLength |
| Data set normalization length conversion factor. | |
| ScalingType | scalingType |
| Symmetry function scaling type used by this symmetry function. | |
| std::set< std::string > | parameters |
| Set with symmetry function parameter IDs (lookup for printing). | |
| std::vector< std::size_t > | indexPerElement |
| Per-element index for derivative memory in Atom::Neighbor::dGdr arrays. | |
| std::vector< std::vector< std::size_t > > | cacheIndices |
| Cache indices for each element. | |
Additional Inherited Members | |
Public Types inherited from nnp::SymFnc | |
| enum | ScalingType { ST_NONE , ST_SCALE , ST_CENTER , ST_SCALECENTER , ST_SCALESIGMA } |
| List of available scaling types. More... | |
Protected Types inherited from nnp::SymFnc | |
| typedef std::map< std::string, std::pair< std::string, std::string > > | PrintFormat |
| typedef std::vector< std::string > | PrintOrder |
Static Protected Member Functions inherited from nnp::SymFnc | |
| static PrintFormat const | initializePrintFormat () |
| Initialize static print format map for all possible parameters. | |
| static PrintOrder const | initializePrintOrder () |
| Initialize static print order vector for all possible parameters. | |
Static Protected Attributes inherited from nnp::SymFnc | |
| static std::size_t const | sfinfoWidth = 12 |
| Width of the SFINFO parameter description field (see parameterInfo()). | |
| static PrintFormat const | printFormat = initializePrintFormat() |
| Map of parameter format strings and empty strings. | |
| static PrintOrder const | printOrder = initializePrintOrder() |
| Vector of parameters in order of printing. | |
Symmetry function base class for SFs with compact support.
Definition at line 31 of file SymFncBaseComp.h.
|
protected |
Constructor, initializes type.
Definition at line 94 of file SymFncBaseComp.cpp.
References asymmetric, nnp::SymFnc::elementMap, nnp::SymFnc::parameters, rl, subtype, nnp::SymFnc::SymFnc(), and nnp::SymFnc::type.
Referenced by nnp::SymFncBaseCompAng::SymFncBaseCompAng(), nnp::SymFncBaseCompAngWeighted::SymFncBaseCompAngWeighted(), nnp::SymFncCompRad::SymFncCompRad(), and nnp::SymFncCompRadWeighted::SymFncCompRadWeighted().


|
virtual |
Get description with parameter names and values.
Reimplemented from nnp::SymFnc.
Reimplemented in nnp::SymFncBaseCompAng, nnp::SymFncBaseCompAngWeighted, nnp::SymFncCompRad, and nnp::SymFncCompRadWeighted.
Definition at line 25 of file SymFncBaseComp.cpp.
References nnp::SymFnc::convLength, nnp::pad(), nnp::SymFnc::parameterInfo(), rl, nnp::SymFnc::sfinfoWidth, nnp::strpr(), and subtype.
Referenced by nnp::SymFncBaseCompAng::parameterInfo(), nnp::SymFncBaseCompAngWeighted::parameterInfo(), nnp::SymFncCompRad::parameterInfo(), and nnp::SymFncCompRadWeighted::parameterInfo().


| void SymFncBaseComp::setCompactFunction | ( | std::string | subtype | ) |
Set radial compact function.
| [in] | subtype | Core function specification. |
The subtype argument determines which CoreFunction::Type is used to generate the CompactFunction used by symmetry functions. The following strings are accepted (without the apostrophes):
Definition at line 39 of file SymFncBaseComp.cpp.
References asymmetric, cr, nnp::strpr(), and subtype.
Referenced by nnp::SymFncBaseCompAng::setParameters(), nnp::SymFncBaseCompAngWeighted::setParameters(), nnp::SymFncCompRad::setParameters(), and nnp::SymFncCompRadWeighted::setParameters().


|
inline |
Get private subtype member variable.
Definition at line 81 of file SymFncBaseComp.h.
References subtype.
Referenced by nnp::SymFncCompAngn::operator<(), nnp::SymFncCompAngnWeighted::operator<(), nnp::SymFncCompAngw::operator<(), nnp::SymFncCompAngwWeighted::operator<(), nnp::SymFncCompRad::operator<(), nnp::SymFncCompRadWeighted::operator<(), nnp::SymFncCompAngn::operator==(), nnp::SymFncCompAngnWeighted::operator==(), nnp::SymFncCompAngw::operator==(), nnp::SymFncCompAngwWeighted::operator==(), nnp::SymFncCompRad::operator==(), and nnp::SymFncCompRadWeighted::operator==().

|
inline |
Get private rl member variable.
Definition at line 82 of file SymFncBaseComp.h.
References rl.
Referenced by nnp::SymGrpCompAngn::addMember(), nnp::SymGrpCompAngnWeighted::addMember(), nnp::SymGrpCompAngw::addMember(), nnp::SymGrpCompAngwWeighted::addMember(), nnp::SymGrpCompRad::addMember(), and nnp::SymGrpCompRadWeighted::addMember().

|
protected |
If asymmetric version of polynomials should be used.
Definition at line 64 of file SymFncBaseComp.h.
Referenced by setCompactFunction(), and SymFncBaseComp().
|
protected |
Lower bound of compact function, \(r_{l}\).
Definition at line 66 of file SymFncBaseComp.h.
Referenced by nnp::SymFncCompAngn::calculate(), nnp::SymFncCompAngnWeighted::calculate(), nnp::SymFncCompAngw::calculate(), nnp::SymFncCompAngwWeighted::calculate(), nnp::SymFncCompRad::calculate(), nnp::SymFncCompRadWeighted::calculate(), nnp::SymFncBaseCompAng::changeLengthUnit(), nnp::SymFncBaseCompAngWeighted::changeLengthUnit(), nnp::SymFncCompRad::changeLengthUnit(), nnp::SymFncCompRadWeighted::changeLengthUnit(), nnp::SymFncBaseCompAng::getCacheIdentifiers(), nnp::SymFncBaseCompAngWeighted::getCacheIdentifiers(), nnp::SymFncCompRad::getCacheIdentifiers(), nnp::SymFncCompRadWeighted::getCacheIdentifiers(), getRl(), nnp::SymFncBaseCompAng::getSettingsLine(), nnp::SymFncBaseCompAngWeighted::getSettingsLine(), nnp::SymFncCompRad::getSettingsLine(), nnp::SymFncCompRadWeighted::getSettingsLine(), nnp::SymFncCompAngn::operator<(), nnp::SymFncCompAngnWeighted::operator<(), nnp::SymFncCompAngw::operator<(), nnp::SymFncCompAngwWeighted::operator<(), nnp::SymFncCompRad::operator<(), nnp::SymFncCompRadWeighted::operator<(), nnp::SymFncCompAngn::operator==(), nnp::SymFncCompAngnWeighted::operator==(), nnp::SymFncCompAngw::operator==(), nnp::SymFncCompAngwWeighted::operator==(), nnp::SymFncCompRad::operator==(), nnp::SymFncCompRadWeighted::operator==(), parameterInfo(), nnp::SymFncBaseCompAng::parameterLine(), nnp::SymFncBaseCompAngWeighted::parameterLine(), nnp::SymFncCompRad::parameterLine(), nnp::SymFncCompRadWeighted::parameterLine(), nnp::SymFncBaseCompAng::setParameters(), nnp::SymFncBaseCompAngWeighted::setParameters(), nnp::SymFncCompRad::setParameters(), nnp::SymFncCompRadWeighted::setParameters(), and SymFncBaseComp().
|
protected |
Subtype string (specifies e.g. polynom type).
Definition at line 68 of file SymFncBaseComp.h.
Referenced by nnp::SymFncBaseCompAng::getCacheIdentifiers(), nnp::SymFncBaseCompAngWeighted::getCacheIdentifiers(), nnp::SymFncCompRad::getCacheIdentifiers(), nnp::SymFncCompRadWeighted::getCacheIdentifiers(), nnp::SymFncBaseCompAng::getSettingsLine(), nnp::SymFncBaseCompAngWeighted::getSettingsLine(), nnp::SymFncCompRad::getSettingsLine(), nnp::SymFncCompRadWeighted::getSettingsLine(), getSubtype(), nnp::SymFncCompAngn::operator<(), nnp::SymFncCompAngnWeighted::operator<(), nnp::SymFncCompAngw::operator<(), nnp::SymFncCompAngwWeighted::operator<(), nnp::SymFncCompRad::operator<(), nnp::SymFncCompRadWeighted::operator<(), nnp::SymFncCompAngn::operator==(), nnp::SymFncCompAngnWeighted::operator==(), nnp::SymFncCompAngw::operator==(), nnp::SymFncCompAngwWeighted::operator==(), nnp::SymFncCompRad::operator==(), nnp::SymFncCompRadWeighted::operator==(), parameterInfo(), nnp::SymFncBaseCompAng::parameterLine(), nnp::SymFncBaseCompAngWeighted::parameterLine(), nnp::SymFncCompRad::parameterLine(), nnp::SymFncCompRadWeighted::parameterLine(), setCompactFunction(), nnp::SymFncBaseCompAng::setParameters(), nnp::SymFncBaseCompAngWeighted::setParameters(), nnp::SymFncCompRad::setParameters(), nnp::SymFncCompRadWeighted::setParameters(), and SymFncBaseComp().
|
protected |
Compact function for radial part.
Definition at line 70 of file SymFncBaseComp.h.
Referenced by nnp::SymFncCompAngn::calculate(), nnp::SymFncCompAngnWeighted::calculate(), nnp::SymFncCompAngw::calculate(), nnp::SymFncCompAngwWeighted::calculate(), nnp::SymFncCompRad::calculate(), nnp::SymFncCompRadWeighted::calculate(), nnp::SymFncBaseCompAng::calculateRadialPart(), nnp::SymFncBaseCompAngWeighted::calculateRadialPart(), nnp::SymFncCompRad::calculateRadialPart(), nnp::SymFncCompRadWeighted::calculateRadialPart(), nnp::SymFncBaseCompAng::changeLengthUnit(), nnp::SymFncBaseCompAngWeighted::changeLengthUnit(), nnp::SymFncCompRad::changeLengthUnit(), nnp::SymFncCompRadWeighted::changeLengthUnit(), nnp::SymFncCompRad::getCompactOnly(), nnp::SymFncCompRadWeighted::getCompactOnly(), nnp::SymFncBaseCompAng::getCompactRadial(), nnp::SymFncBaseCompAngWeighted::getCompactRadial(), setCompactFunction(), nnp::SymFncBaseCompAng::setParameters(), nnp::SymFncBaseCompAngWeighted::setParameters(), nnp::SymFncCompRad::setParameters(), and nnp::SymFncCompRadWeighted::setParameters().