59 [[nodiscard]] std::unique_ptr<Pseudopotential>
clone()
const override {
60 return std::make_unique<PawPseudopotential>(*
this);
PAW pseudopotential — extends ultrasoft with one-center (on-site) data.
int maximum_angular_momentum_augmentation
Highest angular momentum carried by the augmentation channels.
std::unique_ptr< Pseudopotential > clone() const override
Clone this pseudopotential (deep copy preserving derived type).
bool has_augmentation_charges() const override
int augmentation_cutoff_radius_index
Grid index corresponding to augmentation_cutoff_radius.
std::vector< PartialWave > partial_waves_pseudo
Pseudo partial waves φ̃_i(r), one per projector channel.
Real reciprocal_grid_spacing
bool has_reciprocal_projectors() const
Real core_energy
One-center core energy, when the dataset provides it.
bool has_reciprocal_local_potential() const
std::vector< PartialWave > partial_waves_all_electron
All-electron partial waves φ_i(r), one per projector channel.
Real augmentation_cutoff_radius
Radius beyond which the augmentation charges vanish (bohr).
std::vector< std::vector< Real > > projectors_reciprocal
std::vector< Real > potential_local_reciprocal
PotentialLocal potential_local_all_electron
All-electron local potential (Ry); diverges as -2Z/r toward the origin.
Real reciprocal_charge_grid_spacing
int number_of_augmentation_angular_momenta
Number of angular-momentum channels, 2·l_max + 1.
std::vector< Real > channel_occupations
Reference occupation of each projector channel in the generating atom.
Real reciprocal_core_grid_spacing
std::vector< std::vector< std::vector< Real > > > multipole_moments
std::vector< Real > charge_atomic_reciprocal
std::string augmentation_shape
Shape function used to pseudize the augmentation charges (e.g. "BESSEL").
Real reciprocal_potential_grid_spacing
std::vector< Real > charge_core_reciprocal
bool has_reciprocal_core_charge() const
~PawPseudopotential() override=default
bool has_reciprocal_atomic_charge() const
PseudopotentialType pseudopotential_type_enum() const override
ChargeCore charge_core_all_electron
All-electron core density (distinct from the pseudized NLCC core density).
std::string one_center_convention
Ultrasoft pseudopotential — extends base with augmentation data.
PseudopotentialType
Pseudopotential type classification.
@ projector_augmented_wave
Core charge density ρ_core(r) from a pseudopotential (NLCC).
Local potential V_loc(r) from a pseudopotential (Ry).