40 [[nodiscard]]
virtual std::unique_ptr<Pseudopotential>
clone()
const {
41 return std::make_unique<Pseudopotential>(*
this);
Base class for all pseudopotential types.
std::vector< Real > radial_grid_derivative
virtual std::unique_ptr< Pseudopotential > clone() const
Clone this pseudopotential (deep copy preserving derived type).
std::vector< Projector > projectors
std::vector< WavefunctionAtomic > wavefunctions_atomic
std::string pseudopotential_type
ChargeAtomic charge_atomic
bool has_nonlinear_core_correction
int number_of_wavefunctions
virtual PseudopotentialType pseudopotential_type_enum() const
std::vector< Real > radial_grid
virtual bool has_augmentation_charges() const
std::vector< std::vector< Real > > d_ion_matrix
std::string xc_functional
PotentialLocal potential_local
virtual ~Pseudopotential()=default
int maximum_angular_momentum
PseudopotentialType
Pseudopotential type classification.
@ projector_augmented_wave
Atomic charge density ρ_at(r) from a pseudopotential.
Core charge density ρ_core(r) from a pseudopotential (NLCC).
Local potential V_loc(r) from a pseudopotential (Ry).