Loading...
Searching...
No Matches
band_edges.hpp File Reference
#include <algorithm>
#include <cmath>
#include <limits>
#include <optional>
#include <vector>
#include "generated/esse/properties/non_scalar/band_gaps.hpp"
#include "generated/esse/properties/non_scalar/eigenvalues_at_kpoints.hpp"
#include "generated/esse/properties/scalar/band_edge_conduction_min.hpp"
#include "generated/esse/properties/scalar/band_edge_valence_max.hpp"
#include "generated/esse/properties/scalar/fermi_energy.hpp"
#include "io/output/results.hpp"
#include "layer_0_core/types/init.hpp"

Go to the source code of this file.

Namespaces

namespace  q3
 

Functions

void q3::add_band_edge_records (generated::Results &results)
 
std::optional< generated::BandEdgeConductionMin > q3::band_edge_conduction_min (const generated::EigenvaluesAtKpoints &eigenvalues, Real fermi_energy_in_ry)
 ESSE's band_edge_conduction_min: the lowest level above the Fermi energy, as above.
 
std::optional< generated::BandEdgeValenceMax > q3::band_edge_valence_max (const generated::EigenvaluesAtKpoints &eigenvalues, Real fermi_energy_in_ry)
 
generated::BandGapsBandGap q3::band_gap (generated::BandGapsBandGapTypeEnum type, Real valence_in_ry, Real conduction_in_ry, const std::optional< std::vector< double > > &valence_kpoint, const std::optional< std::vector< double > > &conduction_kpoint)
 One ESSE band gap between two levels, with the k-points they lie at where known.
 
std::optional< generated::BandGaps > q3::band_gaps (const generated::EigenvaluesAtKpoints &eigenvalues, Real fermi_energy_in_ry)
 
bool q3::is_fractionally_occupied (const generated::EigenvaluesAtKpoints &eigenvalues)