Loading...
Searching...
No Matches
utilities.hpp File Reference
#include <cctype>
#include <cmath>
#include <cstddef>
#include <fstream>
#include <sstream>
#include <stdexcept>
#include <string>
#include <vector>
#include "io/logger.hpp"
#include "layer_0_core/math/integration/simpson.hpp"
#include "layer_3_representation/pseudopotential/init.hpp"

Go to the source code of this file.

Namespaces

namespace  q3
 
namespace  q3::upf_utilities
 

Functions

std::string q3::upf_utilities::canonical_pseudopotential_type (const std::string &raw_type)
 
void q3::upf_utilities::check_atomic_wavefunction_norm (Pseudopotential &pseudopotential)
 Validate atomic wavefunction norms and mark zero-norm wavefunctions.
 
bool q3::upf_utilities::find_tag (std::ifstream &file_stream, const std::string &tag)
 Advance the stream until a line containing the given tag is found.
 
std::runtime_error q3::upf_utilities::malformed_attribute_error (const std::string &attribute_name, const std::string &source_description, const std::string &expected_kind, const std::string &found_value)
 
std::vector< Real > q3::upf_utilities::read_reals (std::ifstream &file_stream, int count)
 Read a specified number of real values from a stream.
 
int q3::upf_utilities::required_integer_attribute (const std::string &text, const std::string &attribute_name, const std::string &source_description)
 
Real q3::upf_utilities::required_real_attribute (const std::string &text, const std::string &attribute_name, const std::string &source_description)
 Read a required real-valued attribute from a UPF header tag.
 
std::string q3::upf_utilities::trim (const std::string &input)
 Remove leading and trailing whitespace from a string.
 
std::string q3::upf_utilities::xml_attribute (const std::string &text, const std::string &attribute_name)
 Extract an XML attribute value from a block of text (e.g. attr="value" or attr='value').
 
std::vector< Real > q3::upf_utilities::xml_data (const std::string &section)
 Extract numeric data from an XML section body, skipping lines that contain XML tags.