n2p2 - A neural network potential package
nnp::SymFnc Class Referenceabstract

Symmetry function base class. More...

#include <SymFnc.h>

Inheritance diagram for nnp::SymFnc:
Collaboration diagram for nnp::SymFnc:

Public Types

enum  ScalingType {
  ST_NONE , ST_SCALE , ST_CENTER , ST_SCALECENTER ,
  ST_SCALESIGMA
}
 List of available scaling types. More...
 

Public Member Functions

virtual ~SymFnc ()
 Virtual destructor. More...
 
virtual bool operator== (SymFnc const &rhs) const =0
 Overload == operator. More...
 
virtual bool operator< (SymFnc const &rhs) const =0
 Overload < operator. More...
 
bool operator!= (SymFnc const &rhs) const
 Overload != operator. More...
 
bool operator> (SymFnc const &rhs) const
 Overload > operator. More...
 
bool operator<= (SymFnc const &rhs) const
 Overload <= operator. More...
 
bool operator>= (SymFnc const &rhs) const
 Overload >= operator. More...
 
virtual void setParameters (std::string const &parameterString)=0
 Set parameters. More...
 
virtual void changeLengthUnit (double convLength)=0
 Change length unit. More...
 
virtual std::string getSettingsLine () const =0
 Get settings file line from currently set parameters. More...
 
virtual void calculate (Atom &atom, bool const derivatives) const =0
 Calculate symmetry function for one atom. More...
 
virtual std::string parameterLine () const =0
 Give symmetry function parameters in one line. More...
 
virtual std::vector< std::string > parameterInfo () const
 Get description with parameter names and values. More...
 
void setScalingType (ScalingType scalingType, std::string statisticsLine, double Smin, double Smax)
 Set symmetry function scaling type. More...
 
double scale (double value) const
 Apply symmetry function scaling and/or centering. More...
 
double unscale (double value) const
 Undo symmetry function scaling and/or centering. More...
 
std::size_t getType () const
 Get private type member variable. More...
 
std::size_t getIndex () const
 Get private index member variable. More...
 
std::size_t getLineNumber () const
 Get private lineNumber member variable. More...
 
std::size_t getEc () const
 Get private ec member variable. More...
 
std::size_t getMinNeighbors () const
 Get private minNeighbors member variable. More...
 
double getRc () const
 Get private rc member variable. More...
 
double getGmin () const
 Get private Gmin member variable. More...
 
double getGmax () const
 Get private Gmax member variable. More...
 
double getScalingFactor () const
 Get private scalingFactor member variable. More...
 
double getConvLength () const
 Get private convLength member variable. More...
 
std::set< std::string > getParameters () const
 Get private parameters member variable. More...
 
std::vector< std::size_t > getIndexPerElement () const
 Get private indexPerElement member variable. More...
 
void setIndex (std::size_t index)
 Set private index member variable. More...
 
void setIndexPerElement (std::size_t elementIndex, std::size_t index)
 Set private indexPerElement member variable. More...
 
void setLineNumber (std::size_t lineNumber)
 Set line number. More...
 
std::string scalingLine () const
 Get string with scaling information. More...
 
virtual double calculateRadialPart (double distance) const =0
 Calculate (partial) symmetry function value for one given distance. More...
 
virtual double calculateAngularPart (double angle) const =0
 Calculate (partial) symmetry function value for one given angle. More...
 
virtual bool checkRelevantElement (std::size_t index) const =0
 Check whether symmetry function is relevant for given element. More...
 
virtual std::vector< std::string > getCacheIdentifiers () const
 Get unique cache identifiers. More...
 
void addCacheIndex (std::size_t element, std::size_t cacheIndex, std::string cacheIdentifier)
 Add one cache index for given neighbor element and check identifier. More...
 
std::vector< std::vector< std::size_t > > getCacheIndices () const
 Getter for cacheIndices. More...
 

Protected Types

typedef std::map< std::string, std::pair< std::string, std::string > > PrintFormat
 
typedef std::vector< std::string > PrintOrder
 

Protected Member Functions

 SymFnc (std::size_t type, ElementMap const &)
 Constructor, initializes type. More...
 
std::string getPrintFormat () const
 Generate format string for symmetry function parameter printing. More...
 

Static Protected Member Functions

static PrintFormat const initializePrintFormat ()
 Initialize static print format map for all possible parameters. More...
 
static PrintOrder const initializePrintOrder ()
 Initialize static print order vector for all possible parameters. More...
 

Protected Attributes

std::size_t type
 Symmetry function type. More...
 
ElementMap elementMap
 Copy of element map. More...
 
std::size_t index
 Symmetry function index (per element). More...
 
std::size_t lineNumber
 Line number. More...
 
std::size_t ec
 Element index of center atom. More...
 
std::size_t minNeighbors
 Minimum number of neighbors required. More...
 
double Smin
 Minimum for scaling range. More...
 
double Smax
 Maximum for scaling range. More...
 
double Gmin
 Minimum unscaled symmetry function value. More...
 
double Gmax
 Maximum unscaled symmetry function value. More...
 
double Gmean
 Mean unscaled symmetry function value. More...
 
double Gsigma
 Sigma of unscaled symmetry function values. More...
 
double rc
 Cutoff radius \(r_c\). More...
 
double scalingFactor
 Scaling factor. More...
 
double convLength
 Data set normalization length conversion factor. More...
 
ScalingType scalingType
 Symmetry function scaling type used by this symmetry function. More...
 
std::set< std::string > parameters
 Set with symmetry function parameter IDs (lookup for printing). More...
 
std::vector< std::size_t > indexPerElement
 Per-element index for derivative memory in Atom::Neighbor::dGdr arrays. More...
 
std::vector< std::vector< std::size_t > > cacheIndices
 Cache indices for each element. More...
 

Static Protected Attributes

static std::size_t const sfinfoWidth = 12
 Width of the SFINFO parameter description field (see parameterInfo()). More...
 
static PrintFormat const printFormat = initializePrintFormat()
 Map of parameter format strings and empty strings. More...
 
static PrintOrder const printOrder = initializePrintOrder()
 Vector of parameters in order of printing. More...
 

Detailed Description

Symmetry function base class.

Actual symmetry functions derive from this class. Provides common functionality, e.g. scaling behavior.

Definition at line 39 of file SymFnc.h.

Member Typedef Documentation

◆ PrintFormat

typedef std::map<std::string, std::pair<std::string, std::string> > nnp::SymFnc::PrintFormat
protected

Definition at line 265 of file SymFnc.h.

◆ PrintOrder

typedef std::vector<std::string> nnp::SymFnc::PrintOrder
protected

Definition at line 266 of file SymFnc.h.

Member Enumeration Documentation

◆ ScalingType

List of available scaling types.

Enumerator
ST_NONE 

\(G_\text{scaled} = G\)

ST_SCALE 

\(G_\text{scaled} = S_\text{min} + \left(S_\text{max} - S_\text{min}\right) \cdot \frac{G - G_\text{min}} {G_\text{max} - G_\text{min}} \)

ST_CENTER 

\(G_\text{scaled} = G - \left<G\right>\)

ST_SCALECENTER 

\(G_\text{scaled} = S_\text{min} + \left(S_\text{max} - S_\text{min}\right) \cdot \frac{G - \left<G\right>} {G_\text{max} - G_\text{min}} \)

ST_SCALESIGMA 

\(G_\text{scaled} = S_\text{min} + \left(S_\text{max} - S_\text{min}\right) \cdot \frac{G - \left<G\right>}{\sigma_G} \)

Definition at line 43 of file SymFnc.h.

44 {
47 ST_NONE,
65 };
@ ST_NONE
Definition: SymFnc.h:47
@ ST_SCALESIGMA
Definition: SymFnc.h:64
@ ST_SCALECENTER
Definition: SymFnc.h:60
@ ST_CENTER
Definition: SymFnc.h:55
@ ST_SCALE
Definition: SymFnc.h:52

Constructor & Destructor Documentation

◆ ~SymFnc()

virtual nnp::SymFnc::~SymFnc ( )
inlinevirtual

Virtual destructor.

Definition at line 69 of file SymFnc.h.

69{};

◆ SymFnc()

SymFnc::SymFnc ( std::size_t  type,
ElementMap const &   
)
protected

Constructor, initializes type.

Definition at line 135 of file SymFnc.cpp.

135 :
136 type (type ),
138 index (0 ),
139 ec (0 ),
140 minNeighbors (0 ),
141 Smin (0.0 ),
142 Smax (0.0 ),
143 Gmin (0.0 ),
144 Gmax (0.0 ),
145 Gmean (0.0 ),
146 Gsigma (0.0 ),
147 rc (0.0 ),
148 scalingFactor(1.0 ),
149 convLength (1.0 ),
151{
152 // Add standard parameter IDs to set.
153 parameters.insert("index");
154 parameters.insert("ec");
155 parameters.insert("type");
156 parameters.insert("rc");
157 parameters.insert("lineNumber");
158
159 // Initialize per-element index vector, use max to indicate
160 // "uninitialized" state.
161 indexPerElement.resize(elementMap.size(), numeric_limits<size_t>::max());
162
163#ifndef N2P2_NO_SF_CACHE
164 // Initialize cache indices vector.
165 cacheIndices.resize(elementMap.size(), vector<size_t>());
166#endif
167}
std::size_t size() const
Get element map size.
Definition: ElementMap.h:140
double convLength
Data set normalization length conversion factor.
Definition: SymFnc.h:296
double Gmean
Mean unscaled symmetry function value.
Definition: SymFnc.h:288
std::size_t type
Symmetry function type.
Definition: SymFnc.h:268
double Gmax
Maximum unscaled symmetry function value.
Definition: SymFnc.h:286
std::set< std::string > parameters
Set with symmetry function parameter IDs (lookup for printing).
Definition: SymFnc.h:300
std::size_t index
Symmetry function index (per element).
Definition: SymFnc.h:272
double scalingFactor
Scaling factor.
Definition: SymFnc.h:294
ScalingType scalingType
Symmetry function scaling type used by this symmetry function.
Definition: SymFnc.h:298
double rc
Cutoff radius .
Definition: SymFnc.h:292
std::vector< std::vector< std::size_t > > cacheIndices
Cache indices for each element.
Definition: SymFnc.h:306
double Smin
Minimum for scaling range.
Definition: SymFnc.h:280
ElementMap elementMap
Copy of element map.
Definition: SymFnc.h:270
double Smax
Maximum for scaling range.
Definition: SymFnc.h:282
double Gsigma
Sigma of unscaled symmetry function values.
Definition: SymFnc.h:290
double Gmin
Minimum unscaled symmetry function value.
Definition: SymFnc.h:284
std::vector< std::size_t > indexPerElement
Per-element index for derivative memory in Atom::Neighbor::dGdr arrays.
Definition: SymFnc.h:302
std::size_t ec
Element index of center atom.
Definition: SymFnc.h:276
std::size_t minNeighbors
Minimum number of neighbors required.
Definition: SymFnc.h:278

References cacheIndices, elementMap, indexPerElement, parameters, and nnp::ElementMap::size().

Here is the call graph for this function:

Member Function Documentation

◆ operator==()

◆ operator<()

◆ operator!=()

bool nnp::SymFnc::operator!= ( SymFnc const &  rhs) const
inline

Overload != operator.

Definition at line 335 of file SymFnc.h.

336{
337 return !((*this) == rhs);
338}

◆ operator>()

bool nnp::SymFnc::operator> ( SymFnc const &  rhs) const
inline

Overload > operator.

Definition at line 340 of file SymFnc.h.

341{
342 return rhs < (*this);
343}

◆ operator<=()

bool nnp::SymFnc::operator<= ( SymFnc const &  rhs) const
inline

Overload <= operator.

Definition at line 345 of file SymFnc.h.

346{
347 return !((*this) > rhs);
348}

◆ operator>=()

bool nnp::SymFnc::operator>= ( SymFnc const &  rhs) const
inline

Overload >= operator.

Definition at line 350 of file SymFnc.h.

351{
352 return !((*this) < rhs);
353}

◆ setParameters()

virtual void nnp::SymFnc::setParameters ( std::string const &  parameterString)
pure virtual

Set parameters.

Parameters
[in]parameterStringString containing all parameters for this symmetry function.

Implemented in nnp::SymFncBaseCompAng, nnp::SymFncBaseCompAngWeighted, nnp::SymFncBaseExpAng, nnp::SymFncCompRad, nnp::SymFncCompRadWeighted, nnp::SymFncExpAngnWeighted, nnp::SymFncExpRad, and nnp::SymFncExpRadWeighted.

◆ changeLengthUnit()

virtual void nnp::SymFnc::changeLengthUnit ( double  convLength)
pure virtual

Change length unit.

Parameters
[in]convLengthMultiplicative length unit conversion factor.
Note
This will permanently change all symmetry function parameters with dimension length. For convenience, some member functions for printing (getSettingsLine(), parameterLine(), calculateRadialPart() and calculateAngularPart()) will temporarily undo this change. In contrast, the member getter functions, e.g. getRc(), will return the internally stored values.

Implemented in nnp::SymFncBaseCompAng, nnp::SymFncBaseCompAngWeighted, nnp::SymFncBaseExpAng, nnp::SymFncCompRad, nnp::SymFncCompRadWeighted, nnp::SymFncExpAngnWeighted, nnp::SymFncExpRad, and nnp::SymFncExpRadWeighted.

◆ getSettingsLine()

virtual std::string nnp::SymFnc::getSettingsLine ( ) const
pure virtual

Get settings file line from currently set parameters.

Returns
Settings file string ("symfunction_short ...").

Implemented in nnp::SymFncBaseCompAng, nnp::SymFncBaseCompAngWeighted, nnp::SymFncBaseExpAng, nnp::SymFncCompRad, nnp::SymFncCompRadWeighted, nnp::SymFncExpAngnWeighted, nnp::SymFncExpRad, and nnp::SymFncExpRadWeighted.

◆ calculate()

virtual void nnp::SymFnc::calculate ( Atom atom,
bool const  derivatives 
) const
pure virtual

Calculate symmetry function for one atom.

Parameters
[in,out]atomAtom for which the symmetry function is caluclated.
[in]derivativesIf also symmetry function derivatives will be calculated and saved.

Implemented in nnp::SymFncCompAngn, nnp::SymFncCompAngnWeighted, nnp::SymFncCompAngw, nnp::SymFncCompAngwWeighted, nnp::SymFncCompRad, nnp::SymFncCompRadWeighted, nnp::SymFncExpAngn, nnp::SymFncExpAngnWeighted, nnp::SymFncExpAngw, nnp::SymFncExpRad, and nnp::SymFncExpRadWeighted.

◆ parameterLine()

virtual std::string nnp::SymFnc::parameterLine ( ) const
pure virtual

Give symmetry function parameters in one line.

Returns
String containing symmetry function parameter values.

Implemented in nnp::SymFncBaseCompAng, nnp::SymFncBaseCompAngWeighted, nnp::SymFncBaseExpAng, nnp::SymFncCompRad, nnp::SymFncCompRadWeighted, nnp::SymFncExpAngnWeighted, nnp::SymFncExpRad, and nnp::SymFncExpRadWeighted.

Referenced by nnp::Mode::setupSymmetryFunctionMemory().

Here is the caller graph for this function:

◆ parameterInfo()

vector< string > SymFnc::parameterInfo ( ) const
virtual

Get description with parameter names and values.

Returns
Vector of parameter description strings.

Reimplemented in nnp::SymFncBaseComp, nnp::SymFncBaseCompAng, nnp::SymFncBaseCompAngWeighted, nnp::SymFncBaseCutoff, nnp::SymFncBaseExpAng, nnp::SymFncCompRad, nnp::SymFncCompRadWeighted, nnp::SymFncExpAngnWeighted, nnp::SymFncExpRad, and nnp::SymFncExpRadWeighted.

Definition at line 32 of file SymFnc.cpp.

33{
34 vector<string> v;
35 string s;
36 size_t w = sfinfoWidth;
37
38 s = "lineNumber";
39 v.push_back(strpr((pad(s, w) + "%zu" ).c_str(), lineNumber + 1));
40 s = "index";
41 v.push_back(strpr((pad(s, w) + "%zu" ).c_str(), index + 1));
42 s = "type";
43 v.push_back(strpr((pad(s, w) + "%zu" ).c_str(), type));
44 s = "ec";
45 v.push_back(strpr((pad(s, w) + "%s" ).c_str(), elementMap[ec].c_str()));
46 s = "rc";
47 v.push_back(strpr((pad(s, w) + "%14.8E").c_str(), rc / convLength));
48
49 return v;
50}
static std::size_t const sfinfoWidth
Width of the SFINFO parameter description field (see parameterInfo()).
Definition: SymFnc.h:309
std::size_t lineNumber
Line number.
Definition: SymFnc.h:274
string pad(string const &input, size_t num, char fill, bool right)
Definition: utility.cpp:79
string strpr(const char *format,...)
String version of printf function.
Definition: utility.cpp:90

References convLength, ec, elementMap, index, lineNumber, nnp::pad(), rc, sfinfoWidth, nnp::strpr(), and type.

Referenced by nnp::SymFncBaseComp::parameterInfo(), and nnp::SymFncBaseCutoff::parameterInfo().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ setScalingType()

void SymFnc::setScalingType ( ScalingType  scalingType,
std::string  statisticsLine,
double  Smin,
double  Smax 
)

Set symmetry function scaling type.

Parameters
[in]scalingTypeDesired symmetry function scaling type.
[in]statisticsLineString containing symmetry function statistics ("min max mean sigma").
[in]SminMinimum for scaling range \(S_\text{min}\).
[in]SmaxMaximum for scaling range \(S_\text{max}\).

Definition at line 52 of file SymFnc.cpp.

56{
58
59 vector<string> s = split(reduce(statisticsLine));
60 if (((size_t)atoi(s.at(0).c_str()) != ec + 1) &&
61 ((size_t)atoi(s.at(1).c_str()) != index + 1))
62 {
63 throw runtime_error("ERROR: Inconsistent scaling statistics.\n");
64 }
65 Gmin = atof(s.at(2).c_str());
66 Gmax = atof(s.at(3).c_str());
67 Gmean = atof(s.at(4).c_str());
68 // Older versions may not supply sigma.
69 if (s.size() > 5)
70 {
71 Gsigma = atof(s.at(5).c_str());
72 }
73 this->Smin = Smin;
74 this->Smax = Smax;
75
76 if(scalingType == ST_NONE)
77 {
78 scalingFactor = 1.0;
79 }
80 else if (scalingType == ST_SCALE)
81 {
82 scalingFactor = (Smax - Smin) / (Gmax - Gmin);
83 }
84 else if (scalingType == ST_CENTER)
85 {
86 scalingFactor = 1.0;
87 }
88 else if (scalingType == ST_SCALECENTER)
89 {
90 scalingFactor = (Smax - Smin) / (Gmax - Gmin);
91 }
92 else if (scalingType == ST_SCALESIGMA)
93 {
95 }
96
97 return;
98}
vector< string > split(string const &input, char delimiter)
Split string at each delimiter.
Definition: utility.cpp:33
string reduce(string const &line, string const &whitespace, string const &fill)
Replace multiple whitespaces with fill.
Definition: utility.cpp:60

References ec, Gmax, Gmean, Gmin, Gsigma, index, nnp::reduce(), scalingFactor, scalingType, Smax, Smin, nnp::split(), ST_CENTER, ST_NONE, ST_SCALE, ST_SCALECENTER, and ST_SCALESIGMA.

Here is the call graph for this function:

◆ scale()

double SymFnc::scale ( double  value) const

Apply symmetry function scaling and/or centering.

Parameters
[in]valueRaw symmetry function value.
Returns
Scaled symmetry function value.

Definition at line 169 of file SymFnc.cpp.

170{
171 if (scalingType == ST_NONE)
172 {
173 return value;
174 }
175 else if (scalingType == ST_SCALE)
176 {
177 return Smin + scalingFactor * (value - Gmin);
178 }
179 else if (scalingType == ST_CENTER)
180 {
181 return value - Gmean;
182 }
183 else if (scalingType == ST_SCALECENTER)
184 {
185 return Smin + scalingFactor * (value - Gmean);
186 }
187 else if (scalingType == ST_SCALESIGMA)
188 {
189 return Smin + scalingFactor * (value - Gmean);
190 }
191 else
192 {
193 return 0.0;
194 }
195}

References Gmean, Gmin, scalingFactor, scalingType, Smin, ST_CENTER, ST_NONE, ST_SCALE, ST_SCALECENTER, and ST_SCALESIGMA.

Referenced by 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(), and nnp::SymFncExpRadWeighted::calculate().

Here is the caller graph for this function:

◆ unscale()

double SymFnc::unscale ( double  value) const

Undo symmetry function scaling and/or centering.

Parameters
[in]valueScaled symmetry function value.
Returns
Raw symmetry function value.

Definition at line 197 of file SymFnc.cpp.

198{
199 if (scalingType == ST_NONE)
200 {
201 return value;
202 }
203 else if (scalingType == ST_SCALE)
204 {
205 return (value - Smin) / scalingFactor + Gmin;
206 }
207 else if (scalingType == ST_CENTER)
208 {
209 return value + Gmean;
210 }
211 else if (scalingType == ST_SCALECENTER)
212 {
213 return (value - Smin) / scalingFactor + Gmean;
214 }
215 else if (scalingType == ST_SCALESIGMA)
216 {
217 return (value - Smin) / scalingFactor + Gmean;
218 }
219 else
220 {
221 return 0.0;
222 }
223}

References Gmean, Gmin, scalingFactor, scalingType, Smin, ST_CENTER, ST_NONE, ST_SCALE, ST_SCALECENTER, and ST_SCALESIGMA.

◆ getType()

◆ getIndex()

std::size_t nnp::SymFnc::getIndex ( ) const
inline

Get private index member variable.

Definition at line 357 of file SymFnc.h.

357{ return index; }

References index.

Referenced by nnp::Mode::setupSymmetryFunctionCache(), nnp::Mode::setupSymmetryFunctionMemory(), and nnp::SetupAnalysis::writeSymmetryFunctionShape().

Here is the caller graph for this function:

◆ getLineNumber()

std::size_t nnp::SymFnc::getLineNumber ( ) const
inline

Get private lineNumber member variable.

Definition at line 358 of file SymFnc.h.

358{ return lineNumber; }

References lineNumber.

◆ getEc()

◆ getMinNeighbors()

std::size_t nnp::SymFnc::getMinNeighbors ( ) const
inline

Get private minNeighbors member variable.

Definition at line 359 of file SymFnc.h.

359{ return minNeighbors; }

References minNeighbors.

◆ getRc()

◆ getGmin()

double nnp::SymFnc::getGmin ( ) const
inline

Get private Gmin member variable.

Definition at line 361 of file SymFnc.h.

361{ return Gmin; }

References Gmin.

Referenced by nnp::Mode::pruneSymmetryFunctionsRange().

Here is the caller graph for this function:

◆ getGmax()

double nnp::SymFnc::getGmax ( ) const
inline

Get private Gmax member variable.

Definition at line 362 of file SymFnc.h.

362{ return Gmax; }

References Gmax.

Referenced by nnp::Mode::pruneSymmetryFunctionsRange().

Here is the caller graph for this function:

◆ getScalingFactor()

double nnp::SymFnc::getScalingFactor ( ) const
inline

Get private scalingFactor member variable.

Definition at line 363 of file SymFnc.h.

363{ return scalingFactor; }

References scalingFactor.

◆ getConvLength()

◆ getParameters()

std::set< std::string > nnp::SymFnc::getParameters ( ) const
inline

Get private parameters member variable.

Definition at line 378 of file SymFnc.h.

379{
380 return parameters;
381}

References parameters.

◆ getIndexPerElement()

std::vector< std::size_t > nnp::SymFnc::getIndexPerElement ( ) const
inline

Get private indexPerElement member variable.

Definition at line 383 of file SymFnc.h.

384{
385 return indexPerElement;
386}

References indexPerElement.

Referenced by nnp::Mode::setupSymmetryFunctionMemory().

Here is the caller graph for this function:

◆ setIndex()

void nnp::SymFnc::setIndex ( std::size_t  index)
inline

Set private index member variable.

Parameters
[in]indexSymmetry function index.

Definition at line 366 of file SymFnc.h.

367{
368 this->index = index;
369 return;
370}

References index.

◆ setIndexPerElement()

void nnp::SymFnc::setIndexPerElement ( std::size_t  elementIndex,
std::size_t  index 
)
inline

Set private indexPerElement member variable.

Parameters
[in]elementIndexElement index.
[in]indexSymmetry function index.

Definition at line 388 of file SymFnc.h.

390{
391 indexPerElement.at(elementIndex) = index;
392 return;
393}

References index, and indexPerElement.

◆ setLineNumber()

void nnp::SymFnc::setLineNumber ( std::size_t  lineNumber)
inline

Set line number.

Parameters
[in]lineNumberLine number in settings file.

Definition at line 372 of file SymFnc.h.

373{
374 this->lineNumber = lineNumber;
375 return;
376}

References lineNumber.

◆ scalingLine()

string SymFnc::scalingLine ( ) const

Get string with scaling information.

Returns
Scaling information string.

Definition at line 225 of file SymFnc.cpp.

226{
227 return strpr("%4zu %9.2E %9.2E %9.2E %9.2E %9.2E %5.2f %5.2f %d\n",
228 index + 1,
229 Gmin,
230 Gmax,
231 Gmean,
232 Gsigma,
234 Smin,
235 Smax,
237}

References Gmax, Gmean, Gmin, Gsigma, index, scalingFactor, scalingType, Smax, Smin, and nnp::strpr().

Here is the call graph for this function:

◆ calculateRadialPart()

virtual double nnp::SymFnc::calculateRadialPart ( double  distance) const
pure virtual

Calculate (partial) symmetry function value for one given distance.

Parameters
[in]distanceDistance between two atoms.
Returns
Symmetry function value.
Note
This function is not used for actual calculations but only for plotting symmetry functions. Derived classes should implement a meaningful symmetry function value for visualization.

Implemented in nnp::SymFncBaseCompAng, nnp::SymFncBaseCompAngWeighted, nnp::SymFncBaseExpAng, nnp::SymFncCompRad, nnp::SymFncCompRadWeighted, nnp::SymFncExpAngnWeighted, nnp::SymFncExpRad, and nnp::SymFncExpRadWeighted.

Referenced by nnp::SetupAnalysis::writeSymmetryFunctionShape().

Here is the caller graph for this function:

◆ calculateAngularPart()

virtual double nnp::SymFnc::calculateAngularPart ( double  angle) const
pure virtual

Calculate (partial) symmetry function value for one given angle.

Parameters
[in]angleAngle between triplet of atoms (in radians).
Returns
Symmetry function value.
Note
This function is not used for actual calculations but only for plotting symmetry functions. Derived classes should implement a meaningful symmetry function value for visualization.

Implemented in nnp::SymFncBaseCompAng, nnp::SymFncBaseCompAngWeighted, nnp::SymFncBaseExpAng, nnp::SymFncCompRad, nnp::SymFncCompRadWeighted, nnp::SymFncExpAngnWeighted, nnp::SymFncExpRad, and nnp::SymFncExpRadWeighted.

Referenced by nnp::SetupAnalysis::writeSymmetryFunctionShape().

Here is the caller graph for this function:

◆ checkRelevantElement()

virtual bool nnp::SymFnc::checkRelevantElement ( std::size_t  index) const
pure virtual

Check whether symmetry function is relevant for given element.

Parameters
[in]indexIndex of given element.
Returns
True if symmetry function is sensitive to given element, false otherwise.

Implemented in nnp::SymFncBaseCompAng, nnp::SymFncBaseCompAngWeighted, nnp::SymFncBaseExpAng, nnp::SymFncCompRad, nnp::SymFncCompRadWeighted, nnp::SymFncExpAngnWeighted, nnp::SymFncExpRad, and nnp::SymFncExpRadWeighted.

◆ getCacheIdentifiers()

vector< string > SymFnc::getCacheIdentifiers ( ) const
virtual

Get unique cache identifiers.

Returns
Vector of string identifying the type of cache this symmetry function requires.

Reimplemented in nnp::SymFncBaseCompAng, nnp::SymFncBaseCompAngWeighted, nnp::SymFncBaseExpAng, nnp::SymFncCompRad, nnp::SymFncCompRadWeighted, nnp::SymFncExpAngnWeighted, nnp::SymFncExpRad, and nnp::SymFncExpRadWeighted.

Definition at line 101 of file SymFnc.cpp.

102{
103 return vector<string>();
104}

Referenced by addCacheIndex(), and nnp::Mode::setupSymmetryFunctionCache().

Here is the caller graph for this function:

◆ addCacheIndex()

void SymFnc::addCacheIndex ( std::size_t  element,
std::size_t  cacheIndex,
std::string  cacheIdentifier 
)

Add one cache index for given neighbor element and check identifier.

Parameters
[in]elementIndex of neighbor atom element.
[in]cacheIndexCache index in Atom::Neighbor.
[in]cacheIdentifierCache identifier for checking.

Definition at line 106 of file SymFnc.cpp.

109{
110 // Check if provided cache identifier is identical to the originally
111 // supplied one.
112 vector<vector<string>> identifiersPerElement(elementMap.size());
113 for (string id : getCacheIdentifiers())
114 {
115 size_t ne = atoi(split(id)[0].c_str());
116 identifiersPerElement.at(ne).push_back(id);
117 }
118 size_t current = cacheIndices.at(element).size();
119 if (identifiersPerElement.at(element).at(current) != cacheIdentifier)
120 {
121 throw runtime_error(strpr("ERROR: Cache identifiers do no match:\n"
122 "%s\n"
123 " !=\n"
124 "%s\n",
125 identifiersPerElement.at(element)
126 .at(current).c_str(),
127 cacheIdentifier.c_str()));
128 }
129 cacheIndices.at(element).push_back(cacheIndex);
130
131 return;
132}
virtual std::vector< std::string > getCacheIdentifiers() const
Get unique cache identifiers.
Definition: SymFnc.cpp:101

References cacheIndices, elementMap, getCacheIdentifiers(), nnp::ElementMap::size(), nnp::split(), and nnp::strpr().

Referenced by nnp::Element::setCacheIndices().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ getCacheIndices()

std::vector< std::vector< std::size_t > > nnp::SymFnc::getCacheIndices ( ) const
inline

Getter for cacheIndices.

Definition at line 396 of file SymFnc.h.

397{
398 return cacheIndices;
399}

References cacheIndices.

Referenced by nnp::SymGrpCompRadWeighted::calculate().

Here is the caller graph for this function:

◆ initializePrintFormat()

SymFnc::PrintFormat const SymFnc::initializePrintFormat ( )
staticprotected

Initialize static print format map for all possible parameters.

Definition at line 239 of file SymFnc.cpp.

240{
241 PrintFormat pf;
242
243 pf["index"] = make_pair("%4zu" , string(4, ' '));
244 pf["ec"] = make_pair("%2s" , string(2, ' '));
245 pf["type"] = make_pair("%2zu" , string(2, ' '));
246 pf["subtype"] = make_pair("%4s" , string(4, ' '));
247 pf["e1"] = make_pair("%2s" , string(2, ' '));
248 pf["e2"] = make_pair("%2s" , string(2, ' '));
249 pf["eta"] = make_pair("%9.3E" , string(9, ' '));
250 pf["rs/rl"] = make_pair("%10.3E", string(10, ' '));
251 pf["rc"] = make_pair("%10.3E", string(10, ' '));
252 pf["angleLeft"] = make_pair("%6.1f" , string(6, ' '));
253 pf["angleRight"] = make_pair("%6.1f" , string(6, ' '));
254 pf["lambda"] = make_pair("%2.0f" , string(2, ' '));
255 pf["zeta"] = make_pair("%4.1f" , string(4, ' '));
256 pf["alpha"] = make_pair("%4.2f" , string(4, ' '));
257 pf["lineNumber"] = make_pair("%5zu" , string(5, ' '));
258
259 return pf;
260}
std::map< std::string, std::pair< std::string, std::string > > PrintFormat
Definition: SymFnc.h:265

◆ initializePrintOrder()

SymFnc::PrintOrder const SymFnc::initializePrintOrder ( )
staticprotected

Initialize static print order vector for all possible parameters.

Definition at line 262 of file SymFnc.cpp.

263{
264 vector<string> po;
265
266 po.push_back("index" );
267 po.push_back("ec" );
268 po.push_back("type" );
269 po.push_back("subtype" );
270 po.push_back("e1" );
271 po.push_back("e2" );
272 po.push_back("eta" );
273 po.push_back("rs/rl" );
274 po.push_back("rc" );
275 po.push_back("angleLeft" );
276 po.push_back("angleRight");
277 po.push_back("lambda" );
278 po.push_back("zeta" );
279 po.push_back("alpha" );
280 po.push_back("lineNumber");
281
282 return po;
283}

◆ getPrintFormat()

string SymFnc::getPrintFormat ( ) const
protected

Generate format string for symmetry function parameter printing.

Returns
C-Style format string.

Definition at line 285 of file SymFnc.cpp.

286{
287 string s;
288
289 for (PrintOrder::const_iterator it = printOrder.begin();
290 it != printOrder.end(); ++it)
291 {
292 // If parameter is present add format string.
293 if (parameters.find(*it) != parameters.end())
294 {
295 s += safeFind(printFormat, (*it)).first + ' ';
296 }
297 // Else add just enough empty spaces.
298 else
299 {
300 s += safeFind(printFormat, (*it)).second + ' ';
301 }
302 }
303 // Remove extra space at the end.
304 if (s.size () > 0) s.resize (s.size () - 1);
305 s += '\n';
306
307 return s;
308}
static PrintFormat const printFormat
Map of parameter format strings and empty strings.
Definition: SymFnc.h:311
static PrintOrder const printOrder
Vector of parameters in order of printing.
Definition: SymFnc.h:313
V const & safeFind(std::map< K, V > const &stdMap, typename std::map< K, V >::key_type const &key)
Safely access map entry.
Definition: utility.h:135

References parameters, printFormat, printOrder, and nnp::safeFind().

Referenced by nnp::SymFncBaseCompAng::parameterLine(), nnp::SymFncBaseCompAngWeighted::parameterLine(), nnp::SymFncBaseExpAng::parameterLine(), nnp::SymFncCompRad::parameterLine(), nnp::SymFncCompRadWeighted::parameterLine(), nnp::SymFncExpAngnWeighted::parameterLine(), nnp::SymFncExpRad::parameterLine(), and nnp::SymFncExpRadWeighted::parameterLine().

Here is the call graph for this function:
Here is the caller graph for this function:

Member Data Documentation

◆ type

std::size_t nnp::SymFnc::type
protected

Symmetry function type.

Definition at line 268 of file SymFnc.h.

Referenced by nnp::SymFncBaseCompAng::getSettingsLine(), nnp::SymFncBaseCompAngWeighted::getSettingsLine(), nnp::SymFncBaseExpAng::getSettingsLine(), nnp::SymFncCompRad::getSettingsLine(), nnp::SymFncCompRadWeighted::getSettingsLine(), nnp::SymFncExpAngnWeighted::getSettingsLine(), nnp::SymFncExpRad::getSettingsLine(), nnp::SymFncExpRadWeighted::getSettingsLine(), getType(), nnp::SymFncCompAngn::operator<(), nnp::SymFncCompAngnWeighted::operator<(), nnp::SymFncCompAngw::operator<(), nnp::SymFncCompAngwWeighted::operator<(), nnp::SymFncCompRad::operator<(), nnp::SymFncCompRadWeighted::operator<(), nnp::SymFncExpAngn::operator<(), nnp::SymFncExpAngnWeighted::operator<(), nnp::SymFncExpAngw::operator<(), nnp::SymFncExpRad::operator<(), nnp::SymFncExpRadWeighted::operator<(), nnp::SymFncCompAngn::operator==(), nnp::SymFncCompAngnWeighted::operator==(), nnp::SymFncCompAngw::operator==(), nnp::SymFncCompAngwWeighted::operator==(), nnp::SymFncCompRad::operator==(), nnp::SymFncCompRadWeighted::operator==(), nnp::SymFncExpAngn::operator==(), nnp::SymFncExpAngnWeighted::operator==(), nnp::SymFncExpAngw::operator==(), nnp::SymFncExpRad::operator==(), nnp::SymFncExpRadWeighted::operator==(), parameterInfo(), nnp::SymFncBaseCompAng::parameterLine(), nnp::SymFncBaseCompAngWeighted::parameterLine(), nnp::SymFncBaseExpAng::parameterLine(), nnp::SymFncCompRad::parameterLine(), nnp::SymFncCompRadWeighted::parameterLine(), nnp::SymFncExpAngnWeighted::parameterLine(), nnp::SymFncExpRad::parameterLine(), nnp::SymFncExpRadWeighted::parameterLine(), nnp::SymFncBaseCompAng::setParameters(), nnp::SymFncBaseCompAngWeighted::setParameters(), nnp::SymFncBaseExpAng::setParameters(), nnp::SymFncCompRad::setParameters(), nnp::SymFncCompRadWeighted::setParameters(), nnp::SymFncExpAngnWeighted::setParameters(), nnp::SymFncExpRad::setParameters(), and nnp::SymFncExpRadWeighted::setParameters().

◆ elementMap

ElementMap nnp::SymFnc::elementMap
protected

Copy of element map.

Definition at line 270 of file SymFnc.h.

Referenced by addCacheIndex(), nnp::SymFncCompAngnWeighted::calculate(), nnp::SymFncCompAngwWeighted::calculate(), nnp::SymFncCompRadWeighted::calculate(), nnp::SymFncExpAngnWeighted::calculate(), nnp::SymFncExpRadWeighted::calculate(), nnp::SymFncBaseCompAngWeighted::getCacheIdentifiers(), nnp::SymFncCompRadWeighted::getCacheIdentifiers(), nnp::SymFncExpAngnWeighted::getCacheIdentifiers(), nnp::SymFncExpRadWeighted::getCacheIdentifiers(), nnp::SymFncBaseCompAng::getSettingsLine(), nnp::SymFncBaseCompAngWeighted::getSettingsLine(), nnp::SymFncBaseExpAng::getSettingsLine(), nnp::SymFncCompRad::getSettingsLine(), nnp::SymFncCompRadWeighted::getSettingsLine(), nnp::SymFncExpAngnWeighted::getSettingsLine(), nnp::SymFncExpRad::getSettingsLine(), nnp::SymFncExpRadWeighted::getSettingsLine(), parameterInfo(), nnp::SymFncBaseCompAng::parameterInfo(), nnp::SymFncBaseExpAng::parameterInfo(), nnp::SymFncCompRad::parameterInfo(), nnp::SymFncExpRad::parameterInfo(), nnp::SymFncBaseCompAng::parameterLine(), nnp::SymFncBaseCompAngWeighted::parameterLine(), nnp::SymFncBaseExpAng::parameterLine(), nnp::SymFncCompRad::parameterLine(), nnp::SymFncCompRadWeighted::parameterLine(), nnp::SymFncExpAngnWeighted::parameterLine(), nnp::SymFncExpRad::parameterLine(), nnp::SymFncExpRadWeighted::parameterLine(), nnp::SymFncBaseCompAng::setParameters(), nnp::SymFncBaseCompAngWeighted::setParameters(), nnp::SymFncBaseExpAng::setParameters(), nnp::SymFncCompRad::setParameters(), nnp::SymFncCompRadWeighted::setParameters(), nnp::SymFncExpAngnWeighted::setParameters(), nnp::SymFncExpRad::setParameters(), nnp::SymFncExpRadWeighted::setParameters(), and SymFnc().

◆ index

◆ lineNumber

◆ ec

std::size_t nnp::SymFnc::ec
protected

Element index of center atom.

Definition at line 276 of file SymFnc.h.

Referenced by getEc(), nnp::SymFncBaseCompAng::getSettingsLine(), nnp::SymFncBaseCompAngWeighted::getSettingsLine(), nnp::SymFncBaseExpAng::getSettingsLine(), nnp::SymFncCompRad::getSettingsLine(), nnp::SymFncCompRadWeighted::getSettingsLine(), nnp::SymFncExpAngnWeighted::getSettingsLine(), nnp::SymFncExpRad::getSettingsLine(), nnp::SymFncExpRadWeighted::getSettingsLine(), nnp::SymFncCompAngn::operator<(), nnp::SymFncCompAngnWeighted::operator<(), nnp::SymFncCompAngw::operator<(), nnp::SymFncCompAngwWeighted::operator<(), nnp::SymFncCompRad::operator<(), nnp::SymFncCompRadWeighted::operator<(), nnp::SymFncExpAngn::operator<(), nnp::SymFncExpAngnWeighted::operator<(), nnp::SymFncExpAngw::operator<(), nnp::SymFncExpRad::operator<(), nnp::SymFncExpRadWeighted::operator<(), nnp::SymFncCompAngn::operator==(), nnp::SymFncCompAngnWeighted::operator==(), nnp::SymFncCompAngw::operator==(), nnp::SymFncCompAngwWeighted::operator==(), nnp::SymFncCompRad::operator==(), nnp::SymFncCompRadWeighted::operator==(), nnp::SymFncExpAngn::operator==(), nnp::SymFncExpAngnWeighted::operator==(), nnp::SymFncExpAngw::operator==(), nnp::SymFncExpRad::operator==(), nnp::SymFncExpRadWeighted::operator==(), parameterInfo(), nnp::SymFncBaseCompAng::parameterLine(), nnp::SymFncBaseCompAngWeighted::parameterLine(), nnp::SymFncBaseExpAng::parameterLine(), nnp::SymFncCompRad::parameterLine(), nnp::SymFncCompRadWeighted::parameterLine(), nnp::SymFncExpAngnWeighted::parameterLine(), nnp::SymFncExpRad::parameterLine(), nnp::SymFncExpRadWeighted::parameterLine(), nnp::SymFncBaseCompAng::setParameters(), nnp::SymFncBaseCompAngWeighted::setParameters(), nnp::SymFncBaseExpAng::setParameters(), nnp::SymFncCompRad::setParameters(), nnp::SymFncCompRadWeighted::setParameters(), nnp::SymFncExpAngnWeighted::setParameters(), nnp::SymFncExpRad::setParameters(), nnp::SymFncExpRadWeighted::setParameters(), and setScalingType().

◆ minNeighbors

◆ Smin

double nnp::SymFnc::Smin
protected

Minimum for scaling range.

Definition at line 280 of file SymFnc.h.

Referenced by scale(), scalingLine(), setScalingType(), and unscale().

◆ Smax

double nnp::SymFnc::Smax
protected

Maximum for scaling range.

Definition at line 282 of file SymFnc.h.

Referenced by scalingLine(), and setScalingType().

◆ Gmin

double nnp::SymFnc::Gmin
protected

Minimum unscaled symmetry function value.

Definition at line 284 of file SymFnc.h.

Referenced by getGmin(), scale(), scalingLine(), setScalingType(), and unscale().

◆ Gmax

double nnp::SymFnc::Gmax
protected

Maximum unscaled symmetry function value.

Definition at line 286 of file SymFnc.h.

Referenced by getGmax(), scalingLine(), and setScalingType().

◆ Gmean

double nnp::SymFnc::Gmean
protected

Mean unscaled symmetry function value.

Definition at line 288 of file SymFnc.h.

Referenced by scale(), scalingLine(), setScalingType(), and unscale().

◆ Gsigma

double nnp::SymFnc::Gsigma
protected

Sigma of unscaled symmetry function values.

Definition at line 290 of file SymFnc.h.

Referenced by scalingLine(), and setScalingType().

◆ rc

double nnp::SymFnc::rc
protected

Cutoff radius \(r_c\).

Definition at line 292 of file SymFnc.h.

Referenced by nnp::SymFncCompAngn::calculate(), nnp::SymFncCompAngnWeighted::calculate(), nnp::SymFncCompRad::calculate(), nnp::SymFncCompRadWeighted::calculate(), nnp::SymFncExpAngn::calculate(), nnp::SymFncExpAngnWeighted::calculate(), nnp::SymFncExpAngw::calculate(), nnp::SymFncExpRad::calculate(), nnp::SymFncExpRadWeighted::calculate(), nnp::SymFncBaseCompAng::changeLengthUnit(), nnp::SymFncBaseCompAngWeighted::changeLengthUnit(), nnp::SymFncBaseExpAng::changeLengthUnit(), nnp::SymFncCompRad::changeLengthUnit(), nnp::SymFncCompRadWeighted::changeLengthUnit(), nnp::SymFncExpAngnWeighted::changeLengthUnit(), nnp::SymFncExpRad::changeLengthUnit(), nnp::SymFncExpRadWeighted::changeLengthUnit(), nnp::SymFncBaseCompAng::getCacheIdentifiers(), nnp::SymFncBaseCompAngWeighted::getCacheIdentifiers(), nnp::SymFncBaseExpAng::getCacheIdentifiers(), nnp::SymFncCompRad::getCacheIdentifiers(), nnp::SymFncCompRadWeighted::getCacheIdentifiers(), nnp::SymFncExpAngnWeighted::getCacheIdentifiers(), nnp::SymFncExpRad::getCacheIdentifiers(), nnp::SymFncExpRadWeighted::getCacheIdentifiers(), getRc(), nnp::SymFncBaseCompAng::getSettingsLine(), nnp::SymFncBaseCompAngWeighted::getSettingsLine(), nnp::SymFncBaseExpAng::getSettingsLine(), nnp::SymFncCompRad::getSettingsLine(), nnp::SymFncCompRadWeighted::getSettingsLine(), nnp::SymFncExpAngnWeighted::getSettingsLine(), nnp::SymFncExpRad::getSettingsLine(), nnp::SymFncExpRadWeighted::getSettingsLine(), nnp::SymFncCompAngn::operator<(), nnp::SymFncCompAngnWeighted::operator<(), nnp::SymFncCompAngw::operator<(), nnp::SymFncCompAngwWeighted::operator<(), nnp::SymFncCompRad::operator<(), nnp::SymFncCompRadWeighted::operator<(), nnp::SymFncExpAngn::operator<(), nnp::SymFncExpAngnWeighted::operator<(), nnp::SymFncExpAngw::operator<(), nnp::SymFncExpRad::operator<(), nnp::SymFncExpRadWeighted::operator<(), nnp::SymFncCompAngn::operator==(), nnp::SymFncCompAngnWeighted::operator==(), nnp::SymFncCompAngw::operator==(), nnp::SymFncCompAngwWeighted::operator==(), nnp::SymFncCompRad::operator==(), nnp::SymFncCompRadWeighted::operator==(), nnp::SymFncExpAngn::operator==(), nnp::SymFncExpAngnWeighted::operator==(), nnp::SymFncExpAngw::operator==(), nnp::SymFncExpRad::operator==(), nnp::SymFncExpRadWeighted::operator==(), parameterInfo(), nnp::SymFncBaseCompAng::parameterLine(), nnp::SymFncBaseCompAngWeighted::parameterLine(), nnp::SymFncBaseExpAng::parameterLine(), nnp::SymFncCompRad::parameterLine(), nnp::SymFncCompRadWeighted::parameterLine(), nnp::SymFncExpAngnWeighted::parameterLine(), nnp::SymFncExpRad::parameterLine(), nnp::SymFncExpRadWeighted::parameterLine(), nnp::SymFncBaseCompAng::setParameters(), nnp::SymFncBaseCompAngWeighted::setParameters(), nnp::SymFncBaseExpAng::setParameters(), nnp::SymFncCompRad::setParameters(), nnp::SymFncCompRadWeighted::setParameters(), nnp::SymFncExpAngnWeighted::setParameters(), nnp::SymFncExpRad::setParameters(), and nnp::SymFncExpRadWeighted::setParameters().

◆ scalingFactor

◆ convLength

double nnp::SymFnc::convLength
protected

Data set normalization length conversion factor.

Definition at line 296 of file SymFnc.h.

Referenced by nnp::SymFncBaseCompAng::calculateRadialPart(), nnp::SymFncBaseCompAngWeighted::calculateRadialPart(), nnp::SymFncBaseExpAng::calculateRadialPart(), nnp::SymFncCompRad::calculateRadialPart(), nnp::SymFncCompRadWeighted::calculateRadialPart(), nnp::SymFncExpAngnWeighted::calculateRadialPart(), nnp::SymFncExpRad::calculateRadialPart(), nnp::SymFncExpRadWeighted::calculateRadialPart(), nnp::SymFncBaseCompAng::changeLengthUnit(), nnp::SymFncBaseCompAngWeighted::changeLengthUnit(), nnp::SymFncBaseExpAng::changeLengthUnit(), nnp::SymFncCompRad::changeLengthUnit(), nnp::SymFncCompRadWeighted::changeLengthUnit(), nnp::SymFncExpAngnWeighted::changeLengthUnit(), nnp::SymFncExpRad::changeLengthUnit(), nnp::SymFncExpRadWeighted::changeLengthUnit(), nnp::SymFncBaseCompAng::getCacheIdentifiers(), nnp::SymFncBaseCompAngWeighted::getCacheIdentifiers(), nnp::SymFncBaseExpAng::getCacheIdentifiers(), nnp::SymFncCompRad::getCacheIdentifiers(), nnp::SymFncCompRadWeighted::getCacheIdentifiers(), nnp::SymFncExpAngnWeighted::getCacheIdentifiers(), nnp::SymFncExpRad::getCacheIdentifiers(), nnp::SymFncExpRadWeighted::getCacheIdentifiers(), getConvLength(), nnp::SymFncBaseCompAng::getSettingsLine(), nnp::SymFncBaseCompAngWeighted::getSettingsLine(), nnp::SymFncBaseExpAng::getSettingsLine(), nnp::SymFncCompRad::getSettingsLine(), nnp::SymFncCompRadWeighted::getSettingsLine(), nnp::SymFncExpAngnWeighted::getSettingsLine(), nnp::SymFncExpRad::getSettingsLine(), nnp::SymFncExpRadWeighted::getSettingsLine(), parameterInfo(), nnp::SymFncBaseComp::parameterInfo(), nnp::SymFncBaseExpAng::parameterInfo(), nnp::SymFncExpAngnWeighted::parameterInfo(), nnp::SymFncExpRad::parameterInfo(), nnp::SymFncExpRadWeighted::parameterInfo(), nnp::SymFncBaseCompAng::parameterLine(), nnp::SymFncBaseCompAngWeighted::parameterLine(), nnp::SymFncBaseExpAng::parameterLine(), nnp::SymFncCompRad::parameterLine(), nnp::SymFncCompRadWeighted::parameterLine(), nnp::SymFncExpAngnWeighted::parameterLine(), nnp::SymFncExpRad::parameterLine(), and nnp::SymFncExpRadWeighted::parameterLine().

◆ scalingType

ScalingType nnp::SymFnc::scalingType
protected

Symmetry function scaling type used by this symmetry function.

Definition at line 298 of file SymFnc.h.

Referenced by scale(), scalingLine(), setScalingType(), and unscale().

◆ parameters

◆ indexPerElement

◆ cacheIndices

◆ sfinfoWidth

◆ printFormat

SymFnc::PrintFormat const SymFnc::printFormat = initializePrintFormat()
staticprotected

Map of parameter format strings and empty strings.

Definition at line 311 of file SymFnc.h.

Referenced by getPrintFormat().

◆ printOrder

SymFnc::PrintOrder const SymFnc::printOrder = initializePrintOrder()
staticprotected

Vector of parameters in order of printing.

Definition at line 313 of file SymFnc.h.

Referenced by getPrintFormat().


The documentation for this class was generated from the following files: