DFT-FE 1.1.0-pre
Density Functional Theory With Finite-Elements
Loading...
Searching...
No Matches
AtomicBasis.h
Go to the documentation of this file.
1// ---------------------------------------------------------------------
2//
3// Copyright (c) 2017-2025 The Regents of the University of Michigan and DFT-FE
4// authors.
5//
6// This file is part of the DFT-FE code.
7//
8// The DFT-FE code is free software; you can use it, redistribute
9// it, and/or modify it under the terms of the GNU Lesser General
10// Public License as published by the Free Software Foundation; either
11// version 2.1 of the License, or (at your option) any later version.
12// The full text of the license can be found in the file LICENSE at
13// the top level of the DFT-FE distribution.
14//
15// ---------------------------------------------------------------------
16//
17// @author Bikash Kanungo
18//
19
20#ifndef DFTFE_ATOMICBASIS_H
21#define DFTFE_ATOMICBASIS_H
22
23#include <vector>
24#include <unordered_map>
25#include <string>
26#include <utility>
27
28namespace dftfe
29{
31 {
32 public:
39
40 // Default destructor
41 ~AtomicBasis() = default;
42
43 virtual void
45 const std::vector<std::pair<std::string, std::vector<double>>>
46 &atomCoords,
47 const std::unordered_map<std::string, std::string>
48 &atomBasisFileNames) = 0;
49
50 virtual int
51 getNumBasis() const = 0;
52
53 virtual std::vector<double>
54 getBasisValue(const unsigned int basisId,
55 const std::vector<double> &x) const = 0;
56
57 virtual std::vector<double>
58 getBasisGradient(const unsigned int basisId,
59 const std::vector<double> &x) const = 0;
60
61 virtual std::vector<double>
62 getBasisLaplacian(const unsigned int basisId,
63 const std::vector<double> &x) const = 0;
64 };
65} // namespace dftfe
66#endif // DFTFE_ATOMICBASIS_H
Definition AtomicBasis.h:31
BasisType
Definition AtomicBasis.h:34
@ GAUSSIAN
Definition AtomicBasis.h:36
@ SLATER
Definition AtomicBasis.h:35
@ BESSELORTHO
Definition AtomicBasis.h:37
virtual std::vector< double > getBasisGradient(const unsigned int basisId, const std::vector< double > &x) const =0
virtual std::vector< double > getBasisValue(const unsigned int basisId, const std::vector< double > &x) const =0
virtual std::vector< double > getBasisLaplacian(const unsigned int basisId, const std::vector< double > &x) const =0
~AtomicBasis()=default
virtual void constructBasisSet(const std::vector< std::pair< std::string, std::vector< double > > > &atomCoords, const std::unordered_map< std::string, std::string > &atomBasisFileNames)=0
virtual int getNumBasis() const =0
Definition pseudoPotentialToDftfeConverter.cc:34