SIRIUS 7.5.0
Electronic structure library and applications
|
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... | |
Contains declaration and implementation of sirius::Beta_projectors_base class.
Definition in file beta_projectors_base.hpp.