SIRIUS 7.5.0
Electronic structure library and applications
Public Member Functions | Private Member Functions | List of all members
sirius::D_operator< T > Class Template Reference

Inherits sirius::Non_local_operator< T >.

Public Member Functions

 D_operator (Simulation_context const &ctx_)
 
- Public Member Functions inherited from sirius::Non_local_operator< T >
 Non_local_operator (Simulation_context const &ctx__)
 Constructor. More...
 
template<typename F >
void apply (sddk::memory_t mem__, int chunk__, int ispn_block__, wf::Wave_functions< T > &op_phi__, wf::band_range br__, beta_projectors_coeffs_t< T > const &beta_coeffs__, sddk::matrix< F > const &beta_phi__) const
 Apply chunk of beta-projectors to all wave functions. More...
 
template<typename F >
std::enable_if_t< std::is_same< std::complex< T >, F >::value, void > apply (sddk::memory_t mem__, int chunk__, atom_index_t::local ia__, int ispn_block__, wf::Wave_functions< T > &op_phi__, wf::band_range br__, beta_projectors_coeffs_t< T > const &beta_coeffs__, sddk::matrix< F > &beta_phi__)
 Apply beta projectors from one atom in a chunk of beta projectors to all wave-functions. More...
 
template<typename F >
void lmatmul (sddk::matrix< F > &out, sddk::matrix< F > const &B__, int ispn_block__, sddk::memory_t mem_t, identity_t< F > alpha=F{1}, identity_t< F > beta=F{0}) const
 computes α B*Q + β out More...
 
template<typename F >
void rmatmul (sddk::matrix< F > &out, sddk::matrix< F > const &B__, int ispn_block__, sddk::memory_t mem_t, identity_t< F > alpha=F{1}, identity_t< F > beta=F{0}) const
 computes α Q*B + β out More...
 
template<typename F , typename = std::enable_if_t<std::is_same<T, real_type<F>>::value>>
value (int xi1__, int xi2__, int ia__)
 
template<typename F , std::enable_if_t< std::is_same< T, F >::value, bool > = true>
value (int xi1__, int xi2__, int ispn__, int ia__)
 
template<typename F , std::enable_if_t< std::is_same< std::complex< T >, F >::value, bool > = true>
value (int xi1__, int xi2__, int ispn__, int ia__)
 
int size (int i) const
 
bool is_diag () const
 
template<typename F >
sddk::matrix< F > get_matrix (int ispn, sddk::memory_t mem) const
 

Private Member Functions

void initialize ()
 

Additional Inherited Members

- Protected Member Functions inherited from sirius::Non_local_operator< T >
Non_local_operator< T > & operator= (Non_local_operator< T > const &src)=delete
 
 Non_local_operator (Non_local_operator< T > const &src)=delete
 
- Protected Attributes inherited from sirius::Non_local_operator< T >
Simulation_context const & ctx_
 
sddk::device_t pu_
 
int packed_mtrx_size_
 
int size_
 
sddk::mdarray< int, 1 > packed_mtrx_offset_
 
sddk::mdarray< T, 3 > op_
 Non-local operator matrix. More...
 
bool is_null_ {false}
 
bool is_diag_ {true}
 True if the operator is diagonal in spin. More...
 

Detailed Description

template<typename T>
class sirius::D_operator< T >

Definition at line 43 of file non_local_operator.hpp.

Constructor & Destructor Documentation

◆ D_operator()

template<typename T >
sirius::D_operator< T >::D_operator ( Simulation_context const &  ctx_)

Definition at line 64 of file non_local_operator.cpp.

Member Function Documentation

◆ initialize()

template<typename T >
void sirius::D_operator< T >::initialize
private

Definition at line 78 of file non_local_operator.cpp.


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