SIRIUS 7.5.0
Electronic structure library and applications
|
Augmentation charge operator Q(r) of the ultrasoft pseudopotential formalism. More...
#include <augmentation_operator.hpp>
Public Member Functions | |
Augmentation_operator (Atom_type const &atom_type__, fft::Gvec const &gvec__, Radial_integrals_aug< false > const &ri__, Radial_integrals_aug< true > const &ri_dq__) | |
Constructor. More... | |
void | generate_pw_coeffs () |
Generate Q_{xi,xi'}(G) plane wave coefficients. More... | |
void | generate_pw_coeffs_gvec_deriv (int nu__) |
Generate G-vector derivative Q_{xi,xi'}(G)/dG of the plane-wave coefficients */. More... | |
auto const & | q_pw () const |
double | q_pw (int i__, int ig__) const |
double | q_mtrx (int xi1__, int xi2__) const |
Get values of the Q-matrix. More... | |
auto const & | sym_weight () const |
double | sym_weight (int idx__) const |
Weight of Q_{\xi,\xi'}. More... | |
Atom_type const & | atom_type () const |
Private Attributes | |
Atom_type const & | atom_type_ |
fft::Gvec const & | gvec_ |
sddk::mdarray< double, 2 > | q_mtrx_ |
sddk::mdarray< double, 2 > | q_pw_ |
sddk::mdarray< double, 1 > | sym_weight_ |
sddk::mdarray< std::complex< double >, 1 > | zilm_ |
sddk::mdarray< double, 3 > | ri_values_ |
sddk::mdarray< double, 3 > | ri_dq_values_ |
sddk::mdarray< int, 2 > | idx_ |
sddk::mdarray< int, 1 > | l_by_lm_ |
Augmentation charge operator Q(r) of the ultrasoft pseudopotential formalism.
This class generates and stores the plane-wave coefficients of the augmentation charge operator for a given atom type.
Definition at line 110 of file augmentation_operator.hpp.
|
inline |
Constructor.
[in] | atom_type | Atom type instance. |
[in] | gvec | G-vector instance. |
[in] | radial_integrals | Radial integrals of the Q(r) with spherical Bessel functions. |
Definition at line 138 of file augmentation_operator.hpp.
void sirius::Augmentation_operator::generate_pw_coeffs | ( | ) |
Generate Q_{xi,xi'}(G) plane wave coefficients.
Definition at line 29 of file augmentation_operator.cpp.
void sirius::Augmentation_operator::generate_pw_coeffs_gvec_deriv | ( | int | nu__ | ) |
Generate G-vector derivative Q_{xi,xi'}(G)/dG of the plane-wave coefficients */.
Definition at line 132 of file augmentation_operator.cpp.
|
inline |
Definition at line 255 of file augmentation_operator.hpp.
|
inline |
Definition at line 260 of file augmentation_operator.hpp.
|
inline |
Get values of the Q-matrix.
Definition at line 266 of file augmentation_operator.hpp.
|
inline |
Definition at line 271 of file augmentation_operator.hpp.
|
inline |
Weight of Q_{\xi,\xi'}.
2 if off-diagonal (xi != xi'), 1 if diagonal (xi=xi')
Definition at line 278 of file augmentation_operator.hpp.
|
inline |
Definition at line 283 of file augmentation_operator.hpp.
|
private |
Definition at line 113 of file augmentation_operator.hpp.
|
private |
Definition at line 115 of file augmentation_operator.hpp.
|
private |
Definition at line 117 of file augmentation_operator.hpp.
|
private |
Definition at line 119 of file augmentation_operator.hpp.
|
private |
Definition at line 121 of file augmentation_operator.hpp.
|
private |
Definition at line 123 of file augmentation_operator.hpp.
|
private |
Definition at line 125 of file augmentation_operator.hpp.
|
private |
Definition at line 126 of file augmentation_operator.hpp.
|
private |
Definition at line 128 of file augmentation_operator.hpp.
|
private |
Definition at line 130 of file augmentation_operator.hpp.