SIRIUS 7.5.0
Electronic structure library and applications
Classes | Namespaces | Functions
beta_projectors_base.hpp File Reference

Contains declaration and implementation of sirius::Beta_projectors_base class. More...

Go to the source code of this file.

Classes

struct  sirius::beta_desc_idx
 Named index of a descriptor of beta-projectors. The same order is used by the GPU kernel. More...
 
struct  sirius::beta_chunk_t
 Describe chunk of beta-projectors for a block of atoms. More...
 
struct  sirius::beta_projectors_coeffs_t< T >
 Stores a chunk of the beta-projector and metadata. More...
 
class  sirius::Beta_projector_generator< T >
 
class  sirius::Beta_projectors_base< T >
 Base class for beta-projectors, gradient of beta-projectors and strain derivatives of beta-projectors. More...
 

Namespaces

module  sirius
 Namespace of the SIRIUS library.
 
namespace  sirius::local
 Internal implementation of beta-projectors generator.
 

Functions

void sirius::create_beta_gk_gpu_float (int num_atoms, int num_gkvec, int const *beta_desc, std::complex< float > const *beta_gk_t, double const *gkvec, double const *atom_pos, std::complex< float > *beta_gk)
 
void sirius::create_beta_gk_gpu_double (int num_atoms, int num_gkvec, int const *beta_desc, std::complex< double > const *beta_gk_t, double const *gkvec, double const *atom_pos, std::complex< double > *beta_gk)
 
template<class T >
void sirius::local::beta_projectors_generate_cpu (sddk::matrix< std::complex< T > > &pw_coeffs_a, sddk::mdarray< std::complex< T >, 3 > const &pw_coeffs_t, int ichunk__, int j__, beta_chunk_t const &beta_chunk, Simulation_context const &ctx, fft::Gvec const &gkvec)
 
template<class T >
void sirius::local::beta_projectors_generate_gpu (beta_projectors_coeffs_t< T > &out, sddk::mdarray< std::complex< double >, 3 > const &pw_coeffs_t_device, sddk::mdarray< std::complex< double >, 3 > const &pw_coeffs_t_host, Simulation_context const &ctx, fft::Gvec const &gkvec, sddk::mdarray< double, 2 > const &gkvec_coord_, beta_chunk_t const &beta_chunk, std::vector< int > const &igk__, int j__)
 
template<typename F , typename T >
std::enable_if_t< std::is_same< T, real_type< F > >::value, la::dmatrix< F > > sirius::inner_prod_beta (spla::Context &spla_ctx, sddk::memory_t mem__, sddk::memory_t host_mem__, bool result_on_device, beta_projectors_coeffs_t< T > &beta_coeffs__, wf::Wave_functions< T > const &phi__, wf::spin_index ispn__, wf::band_range br__)
 
template<class T >
sddk::matrix< std::complex< T > > sirius::inner_beta (const Beta_projectors_base< T > &beta, const Simulation_context &ctx)
 computes <beta|beta> and returns result on ctx.processing_unit_memory_t More...
 
template<class T , class Op >
sddk::matrix< std::complex< T > > sirius::inner_beta (const Beta_projectors_base< T > &beta, const Simulation_context &ctx, Op &&op)
 inner product <beta|Op|beta>, return resulting dmatrix<complex> in ctx.processing_unit_memory_t More...
 

Detailed Description

Contains declaration and implementation of sirius::Beta_projectors_base class.

Definition in file beta_projectors_base.hpp.