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

Base class for all pseudopotential types. More...

#include <init.hpp>

+ Inheritance diagram for q3::Pseudopotential:

Public Member Functions

virtual ~Pseudopotential ()=default
 
virtual std::unique_ptr< Pseudopotential > clone () const
 Clone this pseudopotential (deep copy preserving derived type).
 
virtual bool has_augmentation_charges () const
 
virtual PseudopotentialType pseudopotential_type_enum () const
 

Public Attributes

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

Base class for all pseudopotential types.

Definition at line 35 of file init.hpp.

Constructor & Destructor Documentation

◆ ~Pseudopotential()

virtual q3::Pseudopotential::~Pseudopotential ( )
virtualdefault

Member Function Documentation

◆ clone()

virtual std::unique_ptr< Pseudopotential > q3::Pseudopotential::clone ( ) const
inlinevirtual

Clone this pseudopotential (deep copy preserving derived type).

Reimplemented in q3::PawPseudopotential, and q3::UltrasoftPseudopotential.

Definition at line 40 of file init.hpp.

◆ has_augmentation_charges()

virtual bool q3::Pseudopotential::has_augmentation_charges ( ) const
inlinevirtual

Whether this PP has augmentation charges. Overridden by UltrasoftPseudopotential.

Reimplemented in q3::PawPseudopotential, and q3::UltrasoftPseudopotential.

Definition at line 60 of file init.hpp.

◆ pseudopotential_type_enum()

virtual PseudopotentialType q3::Pseudopotential::pseudopotential_type_enum ( ) const
inlinevirtual

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 in q3::PawPseudopotential, and q3::UltrasoftPseudopotential.

Definition at line 52 of file init.hpp.

References q3::norm_conserving.

Member Data Documentation

◆ charge_atomic

ChargeAtomic q3::Pseudopotential::charge_atomic

Definition at line 83 of file init.hpp.

◆ charge_core

ChargeCore q3::Pseudopotential::charge_core

◆ d_ion_matrix

std::vector<std::vector<Real> > q3::Pseudopotential::d_ion_matrix

Definition at line 81 of file init.hpp.

◆ element

std::string q3::Pseudopotential::element

◆ has_nonlinear_core_correction

bool q3::Pseudopotential::has_nonlinear_core_correction {false}

Definition at line 74 of file init.hpp.

◆ maximum_angular_momentum

int q3::Pseudopotential::maximum_angular_momentum {}

Definition at line 70 of file init.hpp.

◆ mesh_size

◆ number_of_projectors

◆ number_of_wavefunctions

int q3::Pseudopotential::number_of_wavefunctions {}

Definition at line 73 of file init.hpp.

◆ potential_local

PotentialLocal q3::Pseudopotential::potential_local

◆ projectors

◆ pseudopotential_type

std::string q3::Pseudopotential::pseudopotential_type

Definition at line 67 of file init.hpp.

◆ radial_grid

◆ radial_grid_derivative

◆ valence_charge

Real q3::Pseudopotential::valence_charge {}

◆ wavefunctions_atomic

std::vector<WavefunctionAtomic> q3::Pseudopotential::wavefunctions_atomic

Definition at line 82 of file init.hpp.

Referenced by q3::upf_utilities::check_atomic_wavefunction_norm().

◆ xc_functional

std::string q3::Pseudopotential::xc_functional

Definition at line 68 of file init.hpp.


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