DFT-FE 1.1.0-pre
Density Functional Theory With Finite-Elements
Loading...
Searching...
No Matches
excManager.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
18#ifndef DFTFE_EXCMANAGER_H
19#define DFTFE_EXCMANAGER_H
20
21#include <xc.h>
22#include "xc_funcs.h"
24namespace dftfe
25{
26 template <dftfe::utils::MemorySpace memorySpace>
28 {
29 public:
30 /**
31 * @brief Constructor
32 *
33 */
35
36 /**
37 * @brief destructor
38 */
40
41 void
43
44
45 void
46 init(std::string XCType,
47 bool isSpinPolarized,
48 std::string modelXCInputFile);
49
52
53
56
57 const std::shared_ptr<ExcSSDFunctionalBaseClass<memorySpace>> &
59
60 std::shared_ptr<ExcSSDFunctionalBaseClass<memorySpace>> &
62
63
64 private:
65 /// objects for various exchange-correlations (from libxc package)
66 std::shared_ptr<xc_func_type> d_funcXPtr;
67 std::shared_ptr<xc_func_type> d_funcCPtr;
68
69 std::shared_ptr<ExcSSDFunctionalBaseClass<memorySpace>> d_excObj;
70 };
71} // namespace dftfe
72
73#endif // DFTFE_EXCMANAGER_H
This class provides the structure for all Exc functionals that can be written as a combination of fun...
Definition ExcSSDFunctionalBaseClass.h:80
std::shared_ptr< ExcSSDFunctionalBaseClass< memorySpace > > & getSSDSharedObj()
void init(std::string XCType, bool isSpinPolarized, std::string modelXCInputFile)
ExcSSDFunctionalBaseClass< memorySpace > * getExcSSDFunctionalObj()
const ExcSSDFunctionalBaseClass< memorySpace > * getExcSSDFunctionalObj() const
excManager()
Constructor.
const std::shared_ptr< ExcSSDFunctionalBaseClass< memorySpace > > & getSSDSharedObj() const
~excManager()
destructor
std::shared_ptr< xc_func_type > d_funcCPtr
Definition excManager.h:67
std::shared_ptr< xc_func_type > d_funcXPtr
objects for various exchange-correlations (from libxc package)
Definition excManager.h:66
std::shared_ptr< ExcSSDFunctionalBaseClass< memorySpace > > d_excObj
Definition excManager.h:69
Definition pseudoPotentialToDftfeConverter.cc:34