n2p2 - A neural network potential package
SymFncBaseComp.h
Go to the documentation of this file.
1// n2p2 - A neural network potential package
2// Copyright (C) 2018 Andreas Singraber (University of Vienna)
3// Copyright (C) 2020 Martin P. Bircher
4//
5// This program is free software: you can redistribute it and/or modify
6// it under the terms of the GNU General Public License as published by
7// the Free Software Foundation, either version 3 of the License, or
8// (at your option) any later version.
9//
10// This program is distributed in the hope that it will be useful,
11// but WITHOUT ANY WARRANTY; without even the implied warranty of
12// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13// GNU General Public License for more details.
14//
15// You should have received a copy of the GNU General Public License
16// along with this program. If not, see <https://www.gnu.org/licenses/>.
17
18#ifndef SYMFNCBASECOMP_H
19#define SYMFNCBASECOMP_H
20
21#include "SymFnc.h"
22#include "CompactFunction.h"
23#include <cstddef> // std::size_t
24#include <string> // std::string
25#include <vector> // std::vector
26
27namespace nnp
28{
29
31class SymFncBaseComp : public SymFnc
32{
33public:
38 virtual
39 std::vector<std::string> parameterInfo() const;
54 void setCompactFunction(std::string subtype);
57 std::string getSubtype() const;
60 double getRl() const;
61
62protected:
66 double rl;
68 std::string subtype;
71
74 SymFncBaseComp(std::size_t type, ElementMap const&);
75};
76
78// Inlined function definitions //
80
81inline std::string SymFncBaseComp::getSubtype() const { return subtype; }
82inline double SymFncBaseComp::getRl() const { return rl; }
83
84}
85
86#endif
A general function with compact support.
Contains element map.
Definition: ElementMap.h:30
Symmetry function base class for SFs with compact support.
std::string getSubtype() const
Get private subtype member variable.
double rl
Lower bound of compact function, .
virtual std::vector< std::string > parameterInfo() const
Get description with parameter names and values.
double getRl() const
Get private rl member variable.
CompactFunction cr
Compact function for radial part.
bool asymmetric
If asymmetric version of polynomials should be used.
std::string subtype
Subtype string (specifies e.g. polynom type).
void setCompactFunction(std::string subtype)
Set radial compact function.
SymFncBaseComp(std::size_t type, ElementMap const &)
Constructor, initializes type.
Symmetry function base class.
Definition: SymFnc.h:40
std::size_t type
Symmetry function type.
Definition: SymFnc.h:268
Definition: Atom.h:28