Quantum 3xplorer (Q3)
Loading...
Searching...
No Matches
init.hpp
Go to the documentation of this file.
1
#pragma once
2
3
/**
4
* PlanewaveProvenanceRecord — a provenance record for a quantum system that was
5
* solved in a plane-wave basis.
6
*
7
* The basis set is the first thing about a run that is not a fact about the
8
* quantum system itself: an energy cutoff means nothing without plane waves to
9
* bound. So the two cutoffs enter the record here rather than in
10
* QuantumSystemProvenanceRecord, and a future record for a basis Q3 does not
11
* have yet inherits everything above this without inheriting them.
12
*
13
* The datasets that fill that basis are one level further down, in
14
* planewave/pseudopotential.hpp: a plane-wave calculation need not be a
15
* pseudopotential one.
16
*
17
* Both cutoffs are reported in Rydberg, with the suffix that says so -- see the
18
* units note in provenance/init.hpp.
19
*/
20
21
#include <nlohmann/json.hpp>
22
23
#include "
io/provenance/init.hpp
"
24
25
namespace
q3
{
26
27
class
PlanewaveProvenanceRecord
:
public
QuantumSystemProvenanceRecord
{
28
public
:
29
using
QuantumSystemProvenanceRecord::QuantumSystemProvenanceRecord
;
30
31
protected
:
32
void
add_representation_method_details
(nlohmann::json& method)
const override
{
33
method[
"wavefunction_cutoff_rydberg"
] =
input
().
wavefunction_energy_cutoff
;
34
method[
"density_cutoff_rydberg"
] =
input
().
charge_density_energy_cutoff
;
35
}
36
};
37
38
}
// namespace q3
q3::PlanewaveProvenanceRecord
Definition
init.hpp:27
q3::PlanewaveProvenanceRecord::add_representation_method_details
void add_representation_method_details(nlohmann::json &method) const override
Definition
init.hpp:32
q3::QuantumSystemProvenanceRecord
Definition
init.hpp:69
q3::QuantumSystemProvenanceRecord::QuantumSystemProvenanceRecord
QuantumSystemProvenanceRecord(const InputData &input)
Definition
init.hpp:71
q3::QuantumSystemProvenanceRecord::input
const InputData & input() const
The input the calculation consumed, for a subclass to report on in turn.
Definition
init.hpp:92
init.hpp
q3
Definition
q3_core_api.hpp:33
q3::InputData::charge_density_energy_cutoff
Real charge_density_energy_cutoff
Definition
data.hpp:111
q3::InputData::wavefunction_energy_cutoff
Real wavefunction_energy_cutoff
Definition
data.hpp:110
src
io
provenance
planewave
init.hpp
Generated by
1.9.8