SIRIUS 7.5.0
Electronic structure library and applications
|
#include <beta_projectors_base.hpp>
Public Types | |
typedef std::complex< T > | complex_t |
typedef sddk::mdarray< complex_t, 3 > | array_t |
Public Member Functions | |
Beta_projector_generator (Simulation_context &ctx, array_t const &pw_coeffs_t_host, sddk::matrix< std::complex< T > > const &beta_pw_all, sddk::device_t processing_unit, std::vector< beta_chunk_t > const &beta_chunks, fft::Gvec const &gkvec, sddk::mdarray< double, 2 > const &gkvec_coord, int num_gkvec_loc) | |
void | generate (beta_projectors_coeffs_t< T > &coeffs, int ichunk, int j) const |
void | generate (beta_projectors_coeffs_t< T > &coeffs, int ichunk) const |
beta_projectors_coeffs_t< T > | prepare () const |
Simulation_context & | ctx () |
int | num_chunks () const |
const auto & | chunks () const |
auto | device_t () const -> sddk::device_t |
Private Attributes | |
Simulation_context & | ctx_ |
Simulation context. More... | |
array_t const & | pw_coeffs_t_host_ |
Beta-projectors for atom-types. More... | |
array_t | pw_coeffs_t_device_ |
Beta-projectors for atom-types on device. More... | |
sddk::matrix< complex_t > const & | beta_pw_all_atoms_ |
Precomputed beta coefficients on CPU. More... | |
sddk::device_t | processing_unit_ |
Processing unit. More... | |
std::vector< beta_chunk_t > const & | beta_chunks_ |
Chunk descriptors. More... | |
fft::Gvec const & | gkvec_ |
G+k vectors. More... | |
sddk::mdarray< double, 2 > const & | gkvec_coord_ |
Coordinates of G+k vectors. More... | |
int | num_gkvec_loc_ |
Local number of G+k vectors. More... | |
int | max_num_beta_ |
Maximum number of beta-projectors. More... | |
Generates beta projector PW coefficients and holds GPU memory phase-factor independent coefficients of |> functions for atom types.
Definition at line 174 of file beta_projectors_base.hpp.
typedef std::complex<T> sirius::Beta_projector_generator< T >::complex_t |
Definition at line 177 of file beta_projectors_base.hpp.
typedef sddk::mdarray<complex_t, 3> sirius::Beta_projector_generator< T >::array_t |
Definition at line 178 of file beta_projectors_base.hpp.
sirius::Beta_projector_generator< T >::Beta_projector_generator | ( | Simulation_context & | ctx, |
array_t const & | pw_coeffs_t_host, | ||
sddk::matrix< std::complex< T > > const & | beta_pw_all, | ||
sddk::device_t | processing_unit, | ||
std::vector< beta_chunk_t > const & | beta_chunks, | ||
fft::Gvec const & | gkvec, | ||
sddk::mdarray< double, 2 > const & | gkvec_coord, | ||
int | num_gkvec_loc | ||
) |
Definition at line 234 of file beta_projectors_base.hpp.
void sirius::Beta_projector_generator< T >::generate | ( | beta_projectors_coeffs_t< T > & | coeffs, |
int | ichunk, | ||
int | j | ||
) | const |
Definition at line 283 of file beta_projectors_base.cpp.
void sirius::Beta_projector_generator< T >::generate | ( | beta_projectors_coeffs_t< T > & | coeffs, |
int | ichunk | ||
) | const |
Definition at line 253 of file beta_projectors_base.cpp.
beta_projectors_coeffs_t< T > sirius::Beta_projector_generator< T >::prepare |
Definition at line 265 of file beta_projectors_base.hpp.
|
inline |
Definition at line 191 of file beta_projectors_base.hpp.
|
inline |
Definition at line 195 of file beta_projectors_base.hpp.
|
inline |
Definition at line 200 of file beta_projectors_base.hpp.
|
inline |
Definition at line 205 of file beta_projectors_base.hpp.
|
private |
Simulation context.
Definition at line 212 of file beta_projectors_base.hpp.
|
private |
Beta-projectors for atom-types.
Definition at line 214 of file beta_projectors_base.hpp.
|
private |
Beta-projectors for atom-types on device.
Definition at line 216 of file beta_projectors_base.hpp.
|
private |
Precomputed beta coefficients on CPU.
Definition at line 218 of file beta_projectors_base.hpp.
|
private |
Processing unit.
Definition at line 220 of file beta_projectors_base.hpp.
|
private |
Chunk descriptors.
Definition at line 222 of file beta_projectors_base.hpp.
|
private |
G+k vectors.
Definition at line 224 of file beta_projectors_base.hpp.
|
private |
Coordinates of G+k vectors.
Definition at line 226 of file beta_projectors_base.hpp.
|
private |
Local number of G+k vectors.
Definition at line 228 of file beta_projectors_base.hpp.
|
private |
Maximum number of beta-projectors.
Definition at line 230 of file beta_projectors_base.hpp.