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 |
|
virtualdefault |
|
inlinevirtual |
Clone this pseudopotential (deep copy preserving derived type).
Reimplemented in q3::PawPseudopotential, and q3::UltrasoftPseudopotential.
|
inlinevirtual |
Whether this PP has augmentation charges. Overridden by UltrasoftPseudopotential.
Reimplemented in q3::PawPseudopotential, and q3::UltrasoftPseudopotential.
|
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.
| ChargeAtomic q3::Pseudopotential::charge_atomic |
| ChargeCore q3::Pseudopotential::charge_core |
Definition at line 84 of file init.hpp.
Referenced by q3::calculate_core_charge_density_at_q(), and q3::calculate_core_charge_density_derivative().
| std::vector<std::vector<Real> > q3::Pseudopotential::d_ion_matrix |
| std::string q3::Pseudopotential::element |
Definition at line 66 of file init.hpp.
Referenced by q3::upf_utilities::check_atomic_wavefunction_norm(), q3::paw_one_center::create_one_center_convention(), and q3::UltrasoftUPFv1Reader::read().
| bool q3::Pseudopotential::has_nonlinear_core_correction {false} |
| int q3::Pseudopotential::mesh_size {} |
Definition at line 71 of file init.hpp.
Referenced by q3::paw_one_center::build_one_center_densities(), q3::upf_utilities::check_atomic_wavefunction_norm(), q3::paw_one_center::compute_one_center_d_matrix(), q3::paw_validation::integrated_all_electron_core_charge(), q3::paw_compensation::partial_wave_moment(), q3::paw_compensation::synthesize_augmentation_functions(), q3::paw_validation::worst_multipole_moment_deviation(), and q3::paw_validation::worst_projector_duality_deviation().
| int q3::Pseudopotential::number_of_projectors {} |
Definition at line 72 of file init.hpp.
Referenced by q3::paw_one_center::build_one_center_densities(), q3::paw_one_center::channel_expansion_matches_projectors(), q3::paw_one_center::compute_one_center_d_matrix(), q3::paw_one_center::expand_channels(), q3::UltrasoftUPFv2Reader::read(), q3::paw_compensation::synthesize_augmentation_functions(), q3::paw_validation::worst_augmentation_charge_deviation(), q3::paw_validation::worst_multipole_moment_deviation(), and q3::paw_validation::worst_projector_duality_deviation().
| PotentialLocal q3::Pseudopotential::potential_local |
Definition at line 78 of file init.hpp.
Referenced by q3::calculate_local_potential_at_q(), and q3::calculate_local_potential_short_range_at_q().
| std::vector<Projector> q3::Pseudopotential::projectors |
Definition at line 80 of file init.hpp.
Referenced by q3::paw_one_center::channel_expansion_matches_projectors(), q3::BetaFunctionTable::tabulate_projector(), and q3::paw_validation::worst_projector_duality_deviation().
| std::vector<Real> q3::Pseudopotential::radial_grid |
Definition at line 76 of file init.hpp.
Referenced by q3::calculate_core_charge_density_at_q(), q3::calculate_core_charge_density_derivative(), q3::calculate_local_potential_at_q(), q3::calculate_local_potential_short_range_at_q(), q3::paw_one_center::compute_one_center_d_matrix(), q3::paw_validation::integrated_all_electron_core_charge(), q3::paw_validation::nuclear_charge_from_all_electron_potential(), q3::paw_compensation::partial_wave_moment(), q3::paw_compensation::synthesize_augmentation_functions(), q3::BetaFunctionTable::tabulate_projector(), and q3::paw_validation::worst_multipole_moment_deviation().
| std::vector<Real> q3::Pseudopotential::radial_grid_derivative |
Definition at line 77 of file init.hpp.
Referenced by q3::calculate_core_charge_density_at_q(), q3::calculate_local_potential_at_q(), q3::calculate_local_potential_short_range_at_q(), q3::upf_utilities::check_atomic_wavefunction_norm(), q3::paw_one_center::compute_one_center_d_matrix(), q3::paw_validation::integrated_all_electron_core_charge(), q3::paw_compensation::partial_wave_moment(), q3::BetaFunctionTable::tabulate_projector(), q3::paw_validation::worst_multipole_moment_deviation(), and q3::paw_validation::worst_projector_duality_deviation().
| Real q3::Pseudopotential::valence_charge {} |
Definition at line 69 of file init.hpp.
Referenced by q3::calculate_local_potential_at_q(), and q3::calculate_local_potential_short_range_at_q().
| std::vector<WavefunctionAtomic> q3::Pseudopotential::wavefunctions_atomic |
Definition at line 82 of file init.hpp.
Referenced by q3::upf_utilities::check_atomic_wavefunction_norm().