Loading...
Searching...
No Matches
results.hpp File Reference
#include <cstdint>
#include <optional>
#include <string>
#include <vector>
#include <nlohmann/json.hpp>
#include "generated/esse/core/reusable/energy.hpp"
#include "generated/esse/properties/non_scalar/stress_tensor.hpp"
#include "generated/esse/properties/non_scalar/total_energy_contributions.hpp"
#include "generated/esse/properties/scalar/fermi_energy.hpp"
#include "generated/esse/properties/scalar/total_energy.hpp"
#include "generated/esse/properties/structural/atomic_forces.hpp"
#include "generated/q3/results.hpp"
#include "io/json_file.hpp"
#include "layer_0_core/execution/threading.hpp"
#include "layer_0_core/types/init.hpp"
#include "layer_4_computation/state/internal/energies/kohn_sham/planewave/init.hpp"

Go to the source code of this file.

Namespaces

namespace  q3
 

Functions

generated::AtomicForces q3::atomic_forces (const std::vector< Vector3D > &values_in_ry_per_bohr)
 Forces in Ry/bohr as ESSE's atomic_forces, atoms by 1-based id: the total or one contribution.
 
generated::Energy q3::energy (const std::string &name, Real value_in_ry)
 One of Q3's energies that ESSE has no property for, as an ESSE energy in rydberg.
 
template<typename Record >
std::optional< Record > q3::find_record (const generated::Results &results)
 The record of type Record the results list, or nothing when they list none.
 
generated::Results q3::new_results (const std::string &flavor)
 
template<typename Record >
std::string q3::record_name ()
 The name every record of the generated ESSE type Record carries.
 
std::string q3::results_json_string (const generated::Results &results)
 
void q3::set_energy_records (generated::Results &results, Real total_energy_in_ry, const PlanewaveKohnShamEnergies &energies)
 
void q3::set_fermi_energy (generated::Results &results, Real fermi_energy_in_ry)
 ESSE's fermi_energy record, in rydberg.
 
template<typename Record >
void q3::set_record (generated::Results &results, const Record &record)
 List record in the results, in place of any record of the same name.
 
generated::StressTensor q3::stress_tensor (const Real(&values_in_kbar)[3][3])
 A stress in kbar as ESSE's stress_tensor: the total or one contribution to it.
 
std::vector< std::vector< double > > q3::to_matrix (const Real(&matrix)[3][3])
 A 3x3 matrix as ESSE lists one: three rows of three.
 
std::vector< double > q3::to_vector (const Vector3D &vector)
 A vector as ESSE lists one: [x, y, z].
 
void q3::write_results_json (const generated::Results &results, const std::string &output_path)
 Write the results to output_path as results.json.