n2p2 - A neural network potential package
SymFncBaseCutoff.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//
4// This program is free software: you can redistribute it and/or modify
5// it under the terms of the GNU General Public License as published by
6// the Free Software Foundation, either version 3 of the License, or
7// (at your option) any later version.
8//
9// This program is distributed in the hope that it will be useful,
10// but WITHOUT ANY WARRANTY; without even the implied warranty of
11// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12// GNU General Public License for more details.
13//
14// You should have received a copy of the GNU General Public License
15// along with this program. If not, see <https://www.gnu.org/licenses/>.
16
17#ifndef SYMFNCBASECUTOFF_H
18#define SYMFNCBASECUTOFF_H
19
20#include "SymFnc.h"
21#include "CutoffFunction.h"
22#include <cstddef> // std::size_t
23#include <string> // std::string
24#include <vector> // std::vector
25
26namespace nnp
27{
28
31{
32public:
37 virtual
38 std::vector<std::string> parameterInfo() const;
46 CutoffType cutoffType,
47 double cutoffAlpha);
50 double getCutoffAlpha() const;
53 std::string getSubtype() const;
56 CutoffFunction::
57 CutoffType getCutoffType() const;
58
59protected:
63 std::string subtype;
68
71 SymFncBaseCutoff(std::size_t type, ElementMap const&);
72};
73
75// Inlined function definitions //
77
78inline double SymFncBaseCutoff::getCutoffAlpha() const { return cutoffAlpha; }
79inline std::string SymFncBaseCutoff::getSubtype() const { return subtype; }
80
82{
83 return cutoffType;
84}
85
86}
87
88#endif
CutoffType
List of available cutoff function types.
Contains element map.
Definition: ElementMap.h:30
Intermediate class for SFs based on cutoff functions.
std::string getSubtype() const
Get private subtype member variable.
double getCutoffAlpha() const
Get private cutoffAlpha member variable.
std::string subtype
Subtype string (specifies cutoff type).
CutoffFunction fc
Cutoff function used by this symmetry function.
SymFncBaseCutoff(std::size_t type, ElementMap const &)
Constructor, initializes type.
CutoffFunction::CutoffType getCutoffType() const
Get private cutoffType member variable.
CutoffFunction::CutoffType cutoffType
Cutoff type used by this symmetry function.
virtual std::vector< std::string > parameterInfo() const
Get description with parameter names and values.
double cutoffAlpha
Cutoff parameter .
void setCutoffFunction(CutoffFunction::CutoffType cutoffType, double cutoffAlpha)
Set cutoff function type and parameter.
Symmetry function base class.
Definition: SymFnc.h:40
std::size_t type
Symmetry function type.
Definition: SymFnc.h:268
Definition: Atom.h:28