ABACUS develop
Atomic-orbital Based Ab-initio Computation at UStc
Loading...
Searching...
No Matches
Public Member Functions | List of all members
hamilt::HamiltBase Class Reference

Base class for Hamiltonian. More...

#include <hamilt_base.h>

Inheritance diagram for hamilt::HamiltBase:
Collaboration diagram for hamilt::HamiltBase:

Public Member Functions

virtual ~HamiltBase ()
 
virtual void updateHk (const int ik)
 Update Hamiltonian for a specific k-point.
 
virtual void refresh (bool yes=true)
 Refresh the status of Hamiltonian.
 
virtual std::string get_classname () const
 Get the class name.
 
virtual void * get_ops ()
 Get the operator chain (as void* to avoid template)
 

Detailed Description

Base class for Hamiltonian.

This is a non-template base class for Hamilt<T, Device>. It provides a common interface for all Hamiltonian types, allowing ESolver to manage Hamiltonian without template parameters.

Constructor & Destructor Documentation

◆ ~HamiltBase()

virtual hamilt::HamiltBase::~HamiltBase ( )
inlinevirtual

Member Function Documentation

◆ get_classname()

virtual std::string hamilt::HamiltBase::get_classname ( ) const
inlinevirtual

◆ get_ops()

virtual void * hamilt::HamiltBase::get_ops ( )
inlinevirtual

◆ refresh()

virtual void hamilt::HamiltBase::refresh ( bool  yes = true)
inlinevirtual

◆ updateHk()

virtual void hamilt::HamiltBase::updateHk ( const int  ik)
inlinevirtual

Update Hamiltonian for a specific k-point.

Parameters
ikk-point index

Reimplemented in HamiltTEST< T >, HamiltTEST< T >, HamiltTEST< T >, hamilt::HamiltPW< T, Device >, hamilt::HamiltPW< std::complex< double >, base_device::DEVICE_CPU >, hamilt::HamiltPW< std::complex< FPTYPE >, Device >, hamilt::HamiltPW< std::complex< lowTYPE >, Device >, hamilt::HamiltPW< T, base_device::DEVICE_CPU >, hamilt::HamiltPW< T, Device >, hamilt::HamiltPW< std::complex< double >, base_device::DEVICE_CPU >, hamilt::HamiltPW< std::complex< FPTYPE >, Device >, hamilt::HamiltPW< std::complex< lowTYPE >, Device >, hamilt::HamiltPW< T, base_device::DEVICE_CPU >, hamilt::HamiltPW< T, Device >, hamilt::HamiltPW< std::complex< double >, base_device::DEVICE_CPU >, hamilt::HamiltPW< std::complex< FPTYPE >, Device >, hamilt::HamiltPW< std::complex< lowTYPE >, Device >, hamilt::HamiltPW< T, base_device::DEVICE_CPU >, hamilt::Hamilt< T, Device >, hamilt::Hamilt< double >, hamilt::Hamilt< float >, hamilt::Hamilt< std::complex< double > >, hamilt::Hamilt< std::complex< double >, base_device::DEVICE_CPU >, hamilt::Hamilt< std::complex< float > >, hamilt::Hamilt< std::complex< FPTYPE >, Device >, hamilt::Hamilt< std::complex< lowTYPE >, Device >, hamilt::Hamilt< T, base_device::DEVICE_CPU >, hamilt::Hamilt< TK >, hamilt::HamiltLCAO< TK, TR >, hamilt::HamiltPW< T, Device >, hamilt::HamiltPW< std::complex< double >, base_device::DEVICE_CPU >, hamilt::HamiltPW< std::complex< FPTYPE >, Device >, hamilt::HamiltPW< std::complex< lowTYPE >, Device >, and hamilt::HamiltPW< T, base_device::DEVICE_CPU >.


The documentation for this class was generated from the following file: