ABACUS develop
Atomic-orbital Based Ab-initio Computation at UStc
Loading...
Searching...
No Matches
op_dftu_lcao.h
Go to the documentation of this file.
1#ifndef OPDFTULCAO_H
2#define OPDFTULCAO_H
3#include "source_base/timer.h"
4#include "operator_lcao.h"
5
6namespace hamilt
7{
8
9#ifndef __OPDFTUTEMPLATE
10#define __OPDFTUTEMPLATE
11
12template <class T>
13class OperatorDFTU : public T
14{
15};
16
17#endif
18
19template <typename TK, typename TR>
20class OperatorDFTU<OperatorLCAO<TK, TR>> : public OperatorLCAO<TK, TR>
21{
22 public:
24 const std::vector<ModuleBase::Vector3<double>>& kvec_d_in,
26 const std::vector<int>& isk_in)
27 : isk(isk_in), OperatorLCAO<TK, TR>(hsk_in, kvec_d_in, hR_in)
28 {
29 this->cal_type = calculation_type::lcao_dftu;
30 }
31
32 virtual void contributeHR() override;
33
34 virtual void contributeHk(int ik) override;
35
36 private:
37
38 bool HR_fixed_done = false;
39
40 const std::vector<int>& isk;
41};
42} // namespace hamilt
43#endif
Definition hcontainer.h:144
Definition hs_matrix_k.hpp:11
virtual void contributeHk(int ik) override
const std::vector< int > & isk
Definition op_dftu_lcao.h:40
Definition op_dftu_lcao.h:14
Definition operator_lcao.h:12
#define T
Definition exp.cpp:237
Definition hamilt.h:12