57 int number_of_spin_components)
const {
59 int number_of_kpoint_states = number_of_kpoints * number_of_spin_components;
60 Real band_energy = 0.0;
62 for (
int kpoint_index_state = 0; kpoint_index_state < number_of_kpoint_states;
63 ++kpoint_index_state) {
64 int kpoint_index = kpoint_index_state % number_of_kpoints;
65 for (
int band_index = 0; band_index < number_of_bands; ++band_index) {
67 kpoint_index_state, band_index);
68 band_energy += kpoint_grid_[kpoint_index].weight * occupation *
69 quantum_system_.
eigenvalue(kpoint_index_state, band_index);
85 int number_of_spin_components)
const {
86 if (!smearing_scheme_ || !smearing_scheme_->
uses_smearing()) {
92 int number_of_kpoint_states = number_of_kpoints * number_of_spin_components;
93 Real entropy_contribution = 0.0;
95 for (
int kpoint_index_state = 0; kpoint_index_state < number_of_kpoint_states;
96 ++kpoint_index_state) {
97 int kpoint_index = kpoint_index_state % number_of_kpoints;
98 for (
int band_index = 0; band_index < number_of_bands; ++band_index) {
99 Real scaling_factor = (quantum_system_.
eigenvalue(kpoint_index_state, band_index) -
102 entropy_contribution += kpoint_grid_[kpoint_index].weight * smearing_width *
107 return entropy_contribution;