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

Ultrasoft pseudopotential — extends base with augmentation data. More...

#include <init.hpp>

+ Inheritance diagram for q3::UltrasoftPseudopotential:

Public Member Functions

 ~UltrasoftPseudopotential () override=default
 
std::unique_ptr< Pseudopotential > clone () const override
 Clone this pseudopotential (deep copy preserving derived type).
 
bool has_augmentation_charges () const override
 
PseudopotentialType pseudopotential_type_enum () const override
 
- Public Member Functions inherited from q3::Pseudopotential
virtual ~Pseudopotential ()=default
 

Public Attributes

std::vector< std::vector< std::vector< Real > > > augmentation_coefficients
 
std::vector< std::vector< Real > > augmentation_function
 
std::vector< std::vector< std::vector< Real > > > augmentation_function_by_angular_momentum
 
std::vector< std::vector< Real > > augmentation_overlap_integrals
 
std::vector< Real > inner_cutoff_radii
 
int number_of_q_angular_momenta {0}
 
int number_of_q_coefficients {0}
 
- Public Attributes inherited from q3::Pseudopotential
ChargeAtomic charge_atomic
 
ChargeCore charge_core
 
std::vector< std::vector< Real > > d_ion_matrix
 
std::string element
 
bool has_nonlinear_core_correction {false}
 
int maximum_angular_momentum {}
 
int mesh_size {}
 
int number_of_projectors {}
 
int number_of_wavefunctions {}
 
PotentialLocal potential_local
 
std::vector< Projector > projectors
 
std::string pseudopotential_type
 
std::vector< Real > radial_grid
 
std::vector< Real > radial_grid_derivative
 
Real valence_charge {}
 
std::vector< WavefunctionAtomic > wavefunctions_atomic
 
std::string xc_functional
 

Detailed Description

Ultrasoft pseudopotential — extends base with augmentation data.

Definition at line 27 of file init.hpp.

Constructor & Destructor Documentation

◆ ~UltrasoftPseudopotential()

q3::UltrasoftPseudopotential::~UltrasoftPseudopotential ( )
overridedefault

Member Function Documentation

◆ clone()

std::unique_ptr< Pseudopotential > q3::UltrasoftPseudopotential::clone ( ) const
inlineoverridevirtual

Clone this pseudopotential (deep copy preserving derived type).

Reimplemented from q3::Pseudopotential.

Definition at line 31 of file init.hpp.

◆ has_augmentation_charges()

bool q3::UltrasoftPseudopotential::has_augmentation_charges ( ) const
inlineoverridevirtual

Whether this PP has augmentation charges. Overridden by UltrasoftPseudopotential.

Reimplemented from q3::Pseudopotential.

Definition at line 39 of file init.hpp.

◆ pseudopotential_type_enum()

PseudopotentialType q3::UltrasoftPseudopotential::pseudopotential_type_enum ( ) const
inlineoverridevirtual

Return the type classification of this pseudopotential. Overridden by UltrasoftPseudopotential to return ultrasoft. No base-class instance can ever hold PAW data: both UPF readers throw UnsupportedPseudopotentialTypeError before constructing/populating a Pseudopotential from a PAW file, so projector_augmented_wave is reachable only once a future PawPseudopotential subclass overrides this method.

Reimplemented from q3::Pseudopotential.

Definition at line 35 of file init.hpp.

References q3::ultrasoft.

Member Data Documentation

◆ augmentation_coefficients

std::vector<std::vector<std::vector<Real> > > q3::UltrasoftPseudopotential::augmentation_coefficients

Definition at line 52 of file init.hpp.

◆ augmentation_function

std::vector<std::vector<Real> > q3::UltrasoftPseudopotential::augmentation_function

Definition at line 45 of file init.hpp.

Referenced by q3::UltrasoftUPFv2Reader::read().

◆ augmentation_function_by_angular_momentum

std::vector<std::vector<std::vector<Real> > > q3::UltrasoftPseudopotential::augmentation_function_by_angular_momentum

◆ augmentation_overlap_integrals

std::vector<std::vector<Real> > q3::UltrasoftPseudopotential::augmentation_overlap_integrals

◆ inner_cutoff_radii

std::vector<Real> q3::UltrasoftPseudopotential::inner_cutoff_radii

Definition at line 51 of file init.hpp.

◆ number_of_q_angular_momenta

int q3::UltrasoftPseudopotential::number_of_q_angular_momenta {0}

Definition at line 48 of file init.hpp.

Referenced by q3::paw_compensation::synthesize_augmentation_functions().

◆ number_of_q_coefficients

int q3::UltrasoftPseudopotential::number_of_q_coefficients {0}

Definition at line 50 of file init.hpp.

Referenced by q3::UltrasoftUPFv2Reader::read().


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