DFT-EFE
 
Loading...
Searching...
No Matches
AtomSphericalElectronicData.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 dftefeAtomSphericalElectronicData_h
27#define dftefeAtomSphericalElectronicData_h
28
29#include <utils/TypeConfig.h>
30#include <atoms/SphericalData.h>
31#include <memory>
32#include <map>
33#include <vector>
34#include <string>
35namespace dftefe
36{
37 namespace atoms
38 {
54 class AtomSphericalElectronicData
55 {
56 public:
57 AtomSphericalElectronicData(const std::string filename);
58 ~AtomSphericalElectronicData() = default;
59 double
60 getAtomicNumber() const;
61 double
62 getCharge() const;
63 std::string
64 getSymbol() const;
65 std::vector<double>
66 getRadialPoints() const;
67 const std::vector<SphericalData> &
68 getDensityData() const;
69 const std::vector<SphericalData> &
70 getVHartreeData() const;
71 const std::vector<SphericalData> &
72 getVNuclearData() const;
73 const std::vector<SphericalData> &
74 getVTotalData() const;
75 const std::vector<SphericalData> &
76 getOrbitalData() const;
77
78 protected:
79 std::string d_filename;
80 std::string d_symbol;
81 double d_Z;
82 double d_charge;
83 size_type d_numRadialPoints;
84 std::vector<double> d_radialPoints;
85 std::vector<SphericalData> d_densityData;
86 std::vector<SphericalData> d_vHartreeData;
87 std::vector<SphericalData> d_vNuclearData;
88 std::vector<SphericalData> d_vTotalData;
89 std::vector<SphericalData> d_orbitalData;
90 std::map<std::vector<int>, size_type> d_qNumbersToDensityDataIdMap;
91 std::map<std::vector<int>, size_type> d_qNumbersToVHartreeDataIdMap;
92 std::map<std::vector<int>, size_type> d_qNumbersToVNuclearDataIdMap;
93 std::map<std::vector<int>, size_type> d_qNumbersToVTotalDataIdMap;
94 std::map<std::vector<int>, size_type> d_qNumbersToOrbitalDataIdMap;
95 };
96 } // end of namespace atoms
97} // end of namespace dftefe
98#endif // dftefeAtomSphericalElectronicData_h
dealii includes
Definition: AtomFieldDataSpherical.cpp:31
unsigned int size_type
Definition: TypeConfig.h:8