ABACUS develop
Atomic-orbital Based Ab-initio Computation at UStc
|
Hxc part of A operator for LR-TDDFT. More...
#include <operator_lr_hxc.h>
Public Member Functions | |
OperatorLRHxc (const int &nspin, const int &naos, const std::vector< int > &nocc, const std::vector< int > &nvirt, const psi::Psi< T, Device > &psi_ks_in, std::unique_ptr< elecstate::DensityMatrix< T, T > > &DM_trans_in, typename TGint< T >::type *gint_in, std::weak_ptr< PotHxcLR > pot_in, const UnitCell &ucell_in, const std::vector< double > &orb_cutoff, const Grid_Driver &gd_in, const K_Vectors &kv_in, const std::vector< Parallel_2D > &pX_in, const Parallel_2D &pc_in, const Parallel_Orbitals &pmat_in, const std::vector< int > &ispin_ks={0}) | |
~OperatorLRHxc () | |
void | init (const int ik_in) override |
virtual void | act (const int nbands, const int nbasis, const int npol, const T *psi_in, T *hpsi, const int ngk_ik=0, const bool is_first_node=false) const override |
![]() | |
Operator () | |
virtual | ~Operator () |
virtual hpsi_info | hPsi (hpsi_info &input) const |
virtual void | add (Operator *next) |
virtual int | get_ik () const |
virtual void | act (const psi::Psi< T, Device > &psi_in, psi::Psi< T, Device > &psi_out, const int nbands) const |
int | get_act_type () const |
calculation_type | get_cal_type () const |
Private Member Functions | |
void | grid_calculation (const int &nbands) const |
void | grid_calculation (const int &nbands) const |
void | grid_calculation (const int &nbands) const |
Private Attributes | |
const int & | nspin |
const int & | naos |
const int | nk = 1 |
const std::vector< int > & | nocc |
const std::vector< int > & | nvirt |
const std::vector< int > | ispin_ks = { 0 } |
the index of spin of psi_ks used in {AX, DM_trans} | |
const K_Vectors & | kv |
const psi::Psi< T, Device > & | psi_ks = nullptr |
ground state wavefunction | |
std::unique_ptr< elecstate::DensityMatrix< T, T > > & | DM_trans |
transition density matrix | |
std::unique_ptr< hamilt::HContainer< T > > | hR = nullptr |
transition hamiltonian in AO representation | |
const Parallel_2D & | pc |
parallel info | |
const std::vector< Parallel_2D > & | pX |
const Parallel_Orbitals & | pmat |
std::weak_ptr< PotHxcLR > | pot |
TGint< T >::type * | gint = nullptr |
const UnitCell & | ucell |
std::vector< double > | orb_cutoff_ |
const Grid_Driver & | gd |
bool | first_print = true |
test | |
Additional Inherited Members | |
![]() | |
typedef std::tuple< const psi::Psi< T, Device > *, const psi::Range, T * > | hpsi_info |
![]() | |
Operator * | next_op = nullptr |
interface type 3: return a Psi-type HPsi | |
![]() | |
using | set_memory_op = base_device::memory::set_memory_op< T, Device > |
![]() | |
T * | get_hpsi (const hpsi_info &info) const |
![]() | |
int | ik = 0 |
int | act_type = 1 |
determine which act() interface would be called in hPsi() | |
bool | in_place = false |
enum calculation_type | cal_type |
Operator * | next_sub_op = nullptr |
bool | is_first_node = true |
psi::Psi< T, Device > * | hpsi = nullptr |
Device * | ctx = {} |
Hxc part of A operator for LR-TDDFT.
|
inline |
|
inline |
|
overridevirtual |
do operation : |hpsi_choosed> = V|psi_choosed> V is the target operator act on choosed psi, the consequence should be added to choosed hpsi interface type 1: pointer-only (default)
Reimplemented from hamilt::Operator< T, Device >.
|
private |
|
private |
|
private |
|
inlineoverridevirtual |
Reimplemented from hamilt::Operator< T, Device >.
|
private |
transition density matrix
|
mutableprivate |
test
|
private |
|
private |
|
private |
transition hamiltonian in AO representation
|
private |
the index of spin of psi_ks used in {AX, DM_trans}
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
parallel info
|
private |
|
private |
|
private |
ground state wavefunction
|
private |
|
private |