Quantum 3xplorer (Q3)
An AI-native quantum simulation engine
Loading...
Searching...
No Matches
q3::UPFReader Class Reference

Reads one dataset from a UPF v1 or v2 file. More...

#include <upf_reader.hpp>

Static Public Member Functions

static std::unique_ptr< Pseudopotential > read (const std::string &filename)
 

Detailed Description

Reads one dataset from a UPF v1 or v2 file.

Definition at line 41 of file upf_reader.hpp.

Member Function Documentation

◆ read()

static std::unique_ptr< Pseudopotential > q3::UPFReader::read ( const std::string &  filename)
inlinestatic

Determine whether this is an ultrasoft PP by reading the header type first. We need to peek at the pseudopotential type to decide which subclass to create.

For v1, we need to read the header first to determine the type. Read a temporary PP to get the type, then re-read with the correct class. Since v1 readers mutate the passed reference, we read into a temporary first.

Definition at line 43 of file upf_reader.hpp.

References q3::upf_utilities::canonical_pseudopotential_type(), q3::upf_utilities::check_atomic_wavefunction_norm(), q3::UPFv1Reader::read(), q3::UltrasoftUPFv1Reader::read(), q3::UPFv2Reader::read(), q3::PawUPFv2Reader::read(), q3::UltrasoftUPFv2Reader::read(), and q3::upf_utilities::xml_attribute().

Referenced by q3::UPFPseudopotentialFormat::read().


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