Loading...
Searching...
No Matches
q3::AugmentationQTable Class Reference

#include <charge_density_augmentation.hpp>

+ Inheritance diagram for q3::AugmentationQTable:

Public Member Functions

 AugmentationQTable ()=default
 
 ~AugmentationQTable () override=default
 
void init (const PseudopotentialSet &pseudopotential_set, const std::vector< int > &mesh_sizes, int number_of_q_points, Real q_spacing, Real cell_volume)
 
Real interpolate_augmentation_function (int species_type_index, int projector_pair_index, int angular_momentum, Real q_value) const override
 
Real interpolate_augmentation_function_derivative (int species_type_index, int projector_pair_index, int angular_momentum, Real q_value) const override
 
Real interpolate_qfunc (int species_type_index, int projector_pair_index, Real q_value) const override
 
int maximum_angular_momentum_q () const override
 
- Public Member Functions inherited from q3::AugmentationChargeTable
virtual ~AugmentationChargeTable ()=default
 

Detailed Description

Definition at line 25 of file charge_density_augmentation.hpp.

Constructor & Destructor Documentation

◆ AugmentationQTable()

q3::AugmentationQTable::AugmentationQTable ( )
default

◆ ~AugmentationQTable()

q3::AugmentationQTable::~AugmentationQTable ( )
overridedefault

Member Function Documentation

◆ init()

void q3::AugmentationQTable::init ( const PseudopotentialSet &  pseudopotential_set,
const std::vector< int > &  mesh_sizes,
int  number_of_q_points,
Real  q_spacing,
Real  cell_volume 
)
inline

Initialize augmentation Q tables for all ultrasoft species.

Parameters
pseudopotential_setThe pseudopotential set (one per species type).
mesh_sizesTruncated radial mesh size per species.
number_of_q_pointsNumber of points in the q-grid.
q_spacingSpacing between q-grid points.
cell_volumeUnit cell volume in Bohr³.

Definition at line 39 of file charge_density_augmentation.hpp.

References q3::PseudopotentialSet::size().

Referenced by q3::UltrasoftPlanewaveBasis::init_ultrasoft().

◆ interpolate_augmentation_function()

Real q3::AugmentationQTable::interpolate_augmentation_function ( int  species_type_index,
int  projector_pair_index,
int  angular_momentum,
Real  q_value 
) const
inlineoverridevirtual

Interpolate Q_ij^L(q), the radial Fourier transform of Q_ij in channel L, at a given q value.

Implements q3::AugmentationChargeTable.

Definition at line 58 of file charge_density_augmentation.hpp.

References q3::lagrange_interpolation_4point().

Referenced by q3::UltrasoftPlanewaveBasis::compute_q_g_single(), q3::compute_ultrasoft_effective_d_matrix(), and q3::UltrasoftPlanewaveBasis::precompute_q_functions_g().

◆ interpolate_augmentation_function_derivative()

Real q3::AugmentationQTable::interpolate_augmentation_function_derivative ( int  species_type_index,
int  projector_pair_index,
int  angular_momentum,
Real  q_value 
) const
inlineoverridevirtual

Interpolate the derivative dQ_ij^L/dq of the radial Fourier transform of Q_ij in channel L.

Implements q3::AugmentationChargeTable.

Definition at line 85 of file charge_density_augmentation.hpp.

References q3::lagrange_interpolation_4point_derivative().

◆ interpolate_qfunc()

Real q3::AugmentationQTable::interpolate_qfunc ( int  species_type_index,
int  projector_pair_index,
Real  q_value 
) const
inlineoverridevirtual

Interpolate the total (L=0) Q function at a given q value.

Implements q3::AugmentationChargeTable.

Definition at line 111 of file charge_density_augmentation.hpp.

References q3::lagrange_interpolation_4point().

Referenced by q3::UltrasoftPlanewaveBasis::interpolate_qfunc().

◆ maximum_angular_momentum_q()

int q3::AugmentationQTable::maximum_angular_momentum_q ( ) const
inlineoverridevirtual

The documentation for this class was generated from the following file: