113double ewald_energy(
const Simulation_context& ctx,
const fft::Gvec& gvec,
const Unit_cell& unit_cell);
116double energy_vxc(Density
const& density, Potential
const& potential);
119double energy_exc(Density
const& density, Potential
const& potential);
125double energy_bxc(
const Density& density,
const Potential& potential);
130double energy_enuc(Simulation_context
const& ctx, Potential
const& potential);
133double energy_vloc(Density
const& density, Potential
const& potential);
258double ks_energy(
Simulation_context const& ctx,
const std::map<std::string, double>& energies);
264double one_electron_energy(
Density const& density,
Potential const& potential);
266double one_electron_energy_hubbard(
Density const& density,
Potential const& potential);
267double hubbard_energy(
Density const& density);
271 Potential const& potential__,
double ewald_energy__,
double scf_correction__ = 0)
275 dict[
"energy"] = nlohmann::json::object();
277 dict[
"energy"][
"total"] =
total_energy(ctx__, kset__, density__, potential__, ewald_energy__) + scf_correction__;
278 dict[
"energy"][
"vha"] =
energy_vha(potential__);
279 dict[
"energy"][
"vxc"] =
energy_vxc(density__, potential__);
280 dict[
"energy"][
"exc"] =
energy_exc(density__, potential__);
281 dict[
"energy"][
"bxc"] =
energy_bxc(density__, potential__);
282 dict[
"energy"][
"veff"] =
energy_veff(density__, potential__);
283 dict[
"energy"][
"eval_sum"] =
eval_sum(ctx__.unit_cell(), kset__);
284 dict[
"energy"][
"kin"] =
energy_kin(ctx__, kset__, density__, potential__);
285 dict[
"energy"][
"ewald"] = ewald_energy__;
286 dict[
"energy"][
"scf_correction"] = scf_correction__;
287 dict[
"energy"][
"entropy_sum"] = kset__.
entropy_sum();
288 dict[
"efermi"] = kset__.energy_fermi();
289 dict[
"band_gap"] = kset__.band_gap();
290 if (ctx__.full_potential()) {
291 dict[
"energy"][
"core_eval_sum"] =
core_eval_sum(ctx__.unit_cell());
292 dict[
"energy"][
"enuc"] =
energy_enuc(ctx__, potential__);
295 dict[
"energy"][
"vloc"] =
energy_vloc(density__, potential__);
Generate charge density and magnetization from occupied spinor wave-functions.
double core_leakage() const
Find the total leakage of the core states out of the muffin-tins.
double entropy_sum() const
Return entropy contribution from smearing store in Kpoint<T>.
Generate effective potential from charge density and magnetization.
Simulation context is a set of parameters and objects describing a single simulation.
Representation of a unit cell.
Contains definition and partial implementation of sirius::Density class.
Namespace of the SIRIUS library.
double core_eval_sum(Unit_cell const &unit_cell)
Return eigen-value sum of core states.
double valence_eval_sum(K_point_set const &kset)
TODO doc.
double total_energy(Simulation_context const &ctx, K_point_set const &kset, Density const &density, Potential const &potential, double ewald_energy)
Total energy of the electronic subsystem.
double energy_veff(Density const &density, Potential const &potential)
TODO doc.
double eval_sum(Unit_cell const &unit_cell, K_point_set const &kset)
TODO doc.
double energy_vxc(Density const &density, Potential const &potential)
Returns exchange correlation potential.
double energy_vloc(Density const &density, Potential const &potential)
TODO doc.
double energy_vha(Potential const &potential)
Returns Hatree potential.
double energy_kin(Simulation_context const &ctx, K_point_set const &kset, Density const &density, Potential const &potential)
Return kinetic energy.
double energy_enuc(Simulation_context const &ctx, Potential const &potential)
Return nucleus energy in the electrostatic field.
double energy_bxc(const Density &density, const Potential &potential)
TODO doc.
double energy_exc(Density const &density, Potential const &potential)
Returns exchange correlation energy.
double ewald_energy(const Simulation_context &ctx, const fft::Gvec &gvec, const Unit_cell &unit_cell)
Compute the ion-ion electrostatic energy using Ewald method.
Contains declaration and partial implementation of sirius::Potential class.
Contains definition and implementation of Simulation_context class.