ABACUS develop
Atomic-orbital Based Ab-initio Computation at UStc
Loading...
Searching...
No Matches
hamilt_base.h
Go to the documentation of this file.
1#ifndef HAMILT_BASE_H
2#define HAMILT_BASE_H
3
4#include <string>
5
6namespace hamilt
7{
8
17{
18 public:
19 virtual ~HamiltBase() {}
20
26 virtual void updateHk(const int ik) { return; }
27
33 virtual void refresh(bool yes = true) { return; }
34
40 virtual std::string get_classname() const { return "none"; }
41
47 virtual void* get_ops() { return nullptr; }
48};
49
50} // namespace hamilt
51
52#endif // HAMILT_BASE_H
Base class for Hamiltonian.
Definition hamilt_base.h:17
virtual ~HamiltBase()
Definition hamilt_base.h:19
virtual void updateHk(const int ik)
Update Hamiltonian for a specific k-point.
Definition hamilt_base.h:26
virtual void refresh(bool yes=true)
Refresh the status of Hamiltonian.
Definition hamilt_base.h:33
virtual void * get_ops()
Get the operator chain (as void* to avoid template)
Definition hamilt_base.h:47
virtual std::string get_classname() const
Get the class name.
Definition hamilt_base.h:40
Definition hamilt.h:13