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

Norm-conserving (and ultrasoft) planewave charge density. More...

#include <init.hpp>

+ Inheritance diagram for q3::NormConservingPlanewaveChargeDensity:

Public Member Functions

 NormConservingPlanewaveChargeDensity ()=default
 
 NormConservingPlanewaveChargeDensity (const PlanewaveBasis &basis, int number_of_spin_components, const NormConservingPlanewaveKohnShamQuantumSystem &norm_conserving_quantum_system)
 
void initialize_projector_overlap_coefficients (int number_of_atoms, int maximum_projector_channels)
 Initialize the coefficient storage for given number of atoms and max channels.
 
bool needs_augmentation () const
 
const NormConservingPlanewaveKohnShamQuantumSystem & norm_conserving_quantum_system () const
 
Matrix< Real > & projector_overlap_coefficients ()
 
const Matrix< Real > & projector_overlap_coefficients () const
 
void reset_projector_overlap_coefficients ()
 Reset the projector overlap coefficients to zero.
 
- Public Member Functions inherited from q3::PlanewaveChargeDensity
 PlanewaveChargeDensity ()=default
 
 PlanewaveChargeDensity (const PlanewaveBasis &basis, int number_of_spin_components)
 
void add_band_contribution (int spin_index, Real weight_times_occupation, const Complex *psi_real_space, int real_space_grid_size, Real inverse_cell_volume)
 
const PlanewaveBasis & basis () const
 
Real cell_volume () const
 
Real get_total_charge () const override
 
int grid_size () const
 
std::vector< Real > & real_space_by_spin_index (int spin_index)
 
const std::vector< Real > & real_space_by_spin_index (int spin_index) const
 
void reset () override
 
void save_smooth_copy ()
 
void set_cell_volume (Real volume)
 
SpinResolvedRealSpaceGrid & smooth_real_space_data ()
 
const SpinResolvedRealSpaceGrid & smooth_real_space_data () const
 
void to_real_space () override
 
void to_reciprocal_space () override
 
- Public Member Functions inherited from q3::ChargeDensity
virtual ~ChargeDensity ()=default
 
- Public Member Functions inherited from q3::SpinResolvedEntity
virtual ~SpinResolvedEntity ()=default
 
bool is_spin_polarized () const
 
int number_of_spin_components () const
 
- Public Member Functions inherited from q3::FFTransformable< SpinResolvedRealSpaceGrid, ReciprocalSpaceCoefficients >
virtual ~FFTransformable ()=default
 
SpinResolvedRealSpaceGrid & real_space_representation ()
 
const SpinResolvedRealSpaceGrid & real_space_representation () const
 
ReciprocalSpaceCoefficients & reciprocal_space_representation ()
 
const ReciprocalSpaceCoefficients & reciprocal_space_representation () const
 

Additional Inherited Members

- Protected Attributes inherited from q3::SpinResolvedEntity
int number_of_spin_components_ = 1
 
- Protected Attributes inherited from q3::FFTransformable< SpinResolvedRealSpaceGrid, ReciprocalSpaceCoefficients >
SpinResolvedRealSpaceGrid real_space_data_
 
ReciprocalSpaceCoefficients reciprocal_space_data_
 

Detailed Description

Norm-conserving (and ultrasoft) planewave charge density.

Definition at line 23 of file init.hpp.

Constructor & Destructor Documentation

◆ NormConservingPlanewaveChargeDensity() [1/2]

q3::NormConservingPlanewaveChargeDensity::NormConservingPlanewaveChargeDensity ( )
default

◆ NormConservingPlanewaveChargeDensity() [2/2]

q3::NormConservingPlanewaveChargeDensity::NormConservingPlanewaveChargeDensity ( const PlanewaveBasis &  basis,
int  number_of_spin_components,
const NormConservingPlanewaveKohnShamQuantumSystem &  norm_conserving_quantum_system 
)
inline

Definition at line 26 of file init.hpp.

Member Function Documentation

◆ initialize_projector_overlap_coefficients()

void q3::NormConservingPlanewaveChargeDensity::initialize_projector_overlap_coefficients ( int  number_of_atoms,
int  maximum_projector_channels 
)
inline

Initialize the coefficient storage for given number of atoms and max channels.

Definition at line 42 of file init.hpp.

References q3::Matrix< T >::assign().

◆ needs_augmentation()

bool q3::NormConservingPlanewaveChargeDensity::needs_augmentation ( ) const
inline

◆ norm_conserving_quantum_system()

const NormConservingPlanewaveKohnShamQuantumSystem & q3::NormConservingPlanewaveChargeDensity::norm_conserving_quantum_system ( ) const
inline

Definition at line 66 of file init.hpp.

◆ projector_overlap_coefficients() [1/2]

Matrix< Real > & q3::NormConservingPlanewaveChargeDensity::projector_overlap_coefficients ( )
inline

Definition at line 37 of file init.hpp.

◆ projector_overlap_coefficients() [2/2]

const Matrix< Real > & q3::NormConservingPlanewaveChargeDensity::projector_overlap_coefficients ( ) const
inline

Definition at line 34 of file init.hpp.

◆ reset_projector_overlap_coefficients()

void q3::NormConservingPlanewaveChargeDensity::reset_projector_overlap_coefficients ( )
inline

Reset the projector overlap coefficients to zero.

Definition at line 49 of file init.hpp.

References q3::Matrix< T >::cols(), and q3::Matrix< T >::rows().


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