SIRIUS 7.5.0
Electronic structure library and applications
Public Member Functions | Public Attributes | List of all members
sirius::lr::Linear_response_operator Struct Reference

Public Member Functions

 Linear_response_operator (sirius::Simulation_context &ctx, sirius::Hamiltonian_k< double > &Hk, std::vector< double > const &eigvals, wf::Wave_functions< double > *Hphi, wf::Wave_functions< double > *Sphi, wf::Wave_functions< double > *evq, wf::Wave_functions< double > *tmp, double alpha_pv, wf::band_range br, wf::spin_range sr, sddk::memory_t mem)
 
void repack (std::vector< int > const &ids)
 
void multiply (double alpha, Wave_functions_wrap x, double beta, Wave_functions_wrap y, int num_active)
 

Public Attributes

sirius::Simulation_contextctx
 
sirius::Hamiltonian_k< double > & Hk
 
std::vector< double > min_eigenvals
 
wf::Wave_functions< double > * Hphi
 
wf::Wave_functions< double > * Sphi
 
wf::Wave_functions< double > * evq
 
wf::Wave_functions< double > * tmp
 
double alpha_pv
 
wf::band_range br
 
wf::spin_range sr
 
sddk::memory_t mem
 
la::dmatrix< std::complex< double > > overlap
 

Detailed Description

Definition at line 287 of file multi_cg.hpp.

Constructor & Destructor Documentation

◆ Linear_response_operator()

sirius::lr::Linear_response_operator::Linear_response_operator ( sirius::Simulation_context ctx,
sirius::Hamiltonian_k< double > &  Hk,
std::vector< double > const &  eigvals,
wf::Wave_functions< double > *  Hphi,
wf::Wave_functions< double > *  Sphi,
wf::Wave_functions< double > *  evq,
wf::Wave_functions< double > *  tmp,
double  alpha_pv,
wf::band_range  br,
wf::spin_range  sr,
sddk::memory_t  mem 
)
inline

Definition at line 301 of file multi_cg.hpp.

Member Function Documentation

◆ repack()

void sirius::lr::Linear_response_operator::repack ( std::vector< int > const &  ids)
inline

Definition at line 328 of file multi_cg.hpp.

◆ multiply()

void sirius::lr::Linear_response_operator::multiply ( double  alpha,
Wave_functions_wrap  x,
double  beta,
Wave_functions_wrap  y,
int  num_active 
)
inline

Definition at line 336 of file multi_cg.hpp.

Member Data Documentation

◆ ctx

sirius::Simulation_context& sirius::lr::Linear_response_operator::ctx

Definition at line 288 of file multi_cg.hpp.

◆ Hk

sirius::Hamiltonian_k<double>& sirius::lr::Linear_response_operator::Hk

Definition at line 289 of file multi_cg.hpp.

◆ min_eigenvals

std::vector<double> sirius::lr::Linear_response_operator::min_eigenvals

Definition at line 290 of file multi_cg.hpp.

◆ Hphi

wf::Wave_functions<double>* sirius::lr::Linear_response_operator::Hphi

Definition at line 291 of file multi_cg.hpp.

◆ Sphi

wf::Wave_functions<double>* sirius::lr::Linear_response_operator::Sphi

Definition at line 292 of file multi_cg.hpp.

◆ evq

wf::Wave_functions<double>* sirius::lr::Linear_response_operator::evq

Definition at line 293 of file multi_cg.hpp.

◆ tmp

wf::Wave_functions<double>* sirius::lr::Linear_response_operator::tmp

Definition at line 294 of file multi_cg.hpp.

◆ alpha_pv

double sirius::lr::Linear_response_operator::alpha_pv

Definition at line 295 of file multi_cg.hpp.

◆ br

wf::band_range sirius::lr::Linear_response_operator::br

Definition at line 296 of file multi_cg.hpp.

◆ sr

wf::spin_range sirius::lr::Linear_response_operator::sr

Definition at line 297 of file multi_cg.hpp.

◆ mem

sddk::memory_t sirius::lr::Linear_response_operator::mem

Definition at line 298 of file multi_cg.hpp.

◆ overlap

la::dmatrix<std::complex<double> > sirius::lr::Linear_response_operator::overlap

Definition at line 299 of file multi_cg.hpp.


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