DFT-EFE
 
Loading...
Searching...
No Matches
SphericalData.h
Go to the documentation of this file.
1/******************************************************************************
2 * Copyright (c) 2021. *
3 * The Regents of the University of Michigan and DFT-EFE developers. *
4 * *
5 * This file is part of the DFT-EFE code. *
6 * *
7 * DFT-EFE is free software: you can redistribute it and/or modify *
8 * it under the terms of the Lesser GNU General Public License as *
9 * published by the Free Software Foundation, either version 3 of *
10 * the License, or (at your option) any later version. *
11 * *
12 * DFT-EFE is distributed in the hope that it will be useful, but *
13 * WITHOUT ANY WARRANTY; without even the implied warranty *
14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. *
15 * See the Lesser GNU General Public License for more details. *
16 * *
17 * You should have received a copy of the GNU Lesser General Public *
18 * License at the top level of DFT-EFE distribution. If not, see *
19 * <https://www.gnu.org/licenses/>. *
20 ******************************************************************************/
21
22/*
23 * @author Bikash Kanungo
24 */
25
26#ifndef dftefeSphericalData_h
27#define dftefeSphericalData_h
28
29#include <utils/TypeConfig.h>
30#include <vector>
31#include <utils/Point.h>
32#include <utils/Spline.h>
33#include <memory>
34
35namespace dftefe
36{
37 namespace atoms
38 {
40 {
41 public:
42 ~SphericalData() = default;
43
44 virtual double
45 getValue(const utils::Point &point, const utils::Point &origin) = 0;
46
47 virtual std::vector<double>
49 const utils::Point &origin) = 0;
50
51 virtual std::vector<double>
53 const utils::Point &origin) = 0;
54
55 virtual std::vector<int>
56 getQNumbers() const = 0;
57
58 virtual double
59 getCutoff() const = 0;
60
61 virtual double
62 getSmoothness() const = 0;
63 };
64
65 } // end of namespace atoms
66} // end of namespace dftefe
67#endif // dftefeSphericalData_h
Definition: SphericalData.h:40
virtual double getCutoff() const =0
virtual double getValue(const utils::Point &point, const utils::Point &origin)=0
virtual std::vector< double > getHessianValue(const utils::Point &point, const utils::Point &origin)=0
virtual std::vector< double > getGradientValue(const utils::Point &point, const utils::Point &origin)=0
virtual std::vector< int > getQNumbers() const =0
virtual double getSmoothness() const =0
Definition: PointImpl.h:13
dealii includes
Definition: AtomFieldDataSpherical.cpp:31