SIRIUS 7.5.0
Electronic structure library and applications
|
Base class for beta-projectors, gradient of beta-projectors and strain derivatives of beta-projectors. More...
#include <beta_projectors_base.hpp>
Inherited by sirius::Beta_projectors< T >, sirius::Beta_projectors_gradient< T >, and sirius::Beta_projectors_strain_deriv< T >.
Public Member Functions | |
Beta_projectors_base (Simulation_context &ctx__, fft::Gvec const &gkvec__, int N__) | |
Beta_projector_generator< T > | make_generator () const |
Beta_projector_generator< T > | make_generator (sddk::device_t pu) const |
Beta_projector_generator< T > | make_generator (sddk::memory_t mem) const |
auto const & | ctx () const |
auto | num_gkvec_loc () const |
int | num_total_beta () const |
int | num_comp () const |
auto const & | unit_cell () const |
auto & | pw_coeffs_t (int ig__, int n__, int j__) |
auto | pw_coeffs_t (int j__) |
auto const & | pw_coeffs_a () const |
int | num_beta_t () const |
int | num_chunks () const |
int | max_num_beta () const |
int | nrows () const |
const mpi::Communicator & | comm () const |
Protected Member Functions | |
void | split_in_chunks () |
Split beta-projectors into chunks. More... | |
Protected Attributes | |
Simulation_context & | ctx_ |
fft::Gvec const & | gkvec_ |
List of G+k vectors. More... | |
sddk::mdarray< double, 2 > | gkvec_coord_ |
Coordinates of G+k vectors used by GPU kernel. More... | |
int | N_ |
Number of different components: 1 for beta-projectors, 3 for gradient, 9 for strain derivatives. More... | |
sddk::mdarray< std::complex< T >, 3 > | pw_coeffs_t_ |
Phase-factor independent coefficients of |beta> functions for atom types. More... | |
bool | reallocate_pw_coeffs_t_on_gpu_ {true} |
sddk::matrix< std::complex< T > > | pw_coeffs_a_ |
Set of beta PW coefficients for a chunk of atoms. More... | |
sddk::matrix< std::complex< T > > | beta_pw_all_atoms_ |
Set of beta PW coefficients for all atoms. More... | |
std::vector< beta_chunk_t > | beta_chunks_ |
int | max_num_beta_ |
int | num_total_beta_ |
total number of beta-projectors (=number of columns) More... | |
int | num_beta_t_ |
Total number of beta-projectors among atom types. More... | |
Base class for beta-projectors, gradient of beta-projectors and strain derivatives of beta-projectors.
T | Precision of beta-projectors (float or double). |
Definition at line 282 of file beta_projectors_base.hpp.
sirius::Beta_projectors_base< T >::Beta_projectors_base | ( | Simulation_context & | ctx__, |
fft::Gvec const & | gkvec__, | ||
int | N__ | ||
) |
Definition at line 222 of file beta_projectors_base.cpp.
|
protected |
Split beta-projectors into chunks.
Definition at line 139 of file beta_projectors_base.cpp.
|
inline |
Definition at line 323 of file beta_projectors_base.hpp.
|
inline |
Definition at line 328 of file beta_projectors_base.hpp.
|
inline |
Definition at line 334 of file beta_projectors_base.hpp.
|
inline |
Definition at line 343 of file beta_projectors_base.hpp.
|
inline |
Definition at line 348 of file beta_projectors_base.hpp.
|
inline |
Definition at line 353 of file beta_projectors_base.hpp.
|
inline |
Definition at line 358 of file beta_projectors_base.hpp.
|
inline |
Definition at line 363 of file beta_projectors_base.hpp.
|
inline |
Definition at line 368 of file beta_projectors_base.hpp.
|
inline |
Definition at line 373 of file beta_projectors_base.hpp.
|
inline |
Definition at line 378 of file beta_projectors_base.hpp.
|
inline |
Definition at line 383 of file beta_projectors_base.hpp.
|
inline |
Definition at line 388 of file beta_projectors_base.hpp.
|
inline |
Definition at line 393 of file beta_projectors_base.hpp.
|
inline |
Definition at line 398 of file beta_projectors_base.hpp.
|
inline |
Definition at line 403 of file beta_projectors_base.hpp.
|
protected |
Definition at line 285 of file beta_projectors_base.hpp.
|
protected |
List of G+k vectors.
Definition at line 288 of file beta_projectors_base.hpp.
|
protected |
Coordinates of G+k vectors used by GPU kernel.
Definition at line 291 of file beta_projectors_base.hpp.
|
protected |
Number of different components: 1 for beta-projectors, 3 for gradient, 9 for strain derivatives.
Definition at line 294 of file beta_projectors_base.hpp.
|
protected |
Phase-factor independent coefficients of |beta> functions for atom types.
Definition at line 297 of file beta_projectors_base.hpp.
|
protected |
Definition at line 299 of file beta_projectors_base.hpp.
|
protected |
Set of beta PW coefficients for a chunk of atoms.
Definition at line 302 of file beta_projectors_base.hpp.
|
protected |
Set of beta PW coefficients for all atoms.
Definition at line 305 of file beta_projectors_base.hpp.
|
protected |
Definition at line 307 of file beta_projectors_base.hpp.
|
protected |
Definition at line 309 of file beta_projectors_base.hpp.
|
protected |
total number of beta-projectors (=number of columns)
Definition at line 312 of file beta_projectors_base.hpp.
|
protected |
Total number of beta-projectors among atom types.
Definition at line 315 of file beta_projectors_base.hpp.