31 [[nodiscard]] std::unique_ptr<Pseudopotential>
clone()
const override {
32 return std::make_unique<UltrasoftPseudopotential>(*
this);
46 std::vector<std::vector<std::vector<Real>>>
Base class for all pseudopotential types.
Ultrasoft pseudopotential — extends base with augmentation data.
bool has_augmentation_charges() const override
~UltrasoftPseudopotential() override=default
int number_of_q_angular_momenta
PseudopotentialType pseudopotential_type_enum() const override
std::vector< std::vector< std::vector< Real > > > augmentation_coefficients
std::unique_ptr< Pseudopotential > clone() const override
Clone this pseudopotential (deep copy preserving derived type).
std::vector< Real > inner_cutoff_radii
std::vector< std::vector< Real > > augmentation_overlap_integrals
std::vector< std::vector< std::vector< Real > > > augmentation_function_by_angular_momentum
int number_of_q_coefficients
std::vector< std::vector< Real > > augmentation_function
PseudopotentialType
Pseudopotential type classification.