25#ifndef __APPLY_HAMILTONIAN_HPP__
26#define __APPLY_HAMILTONIAN_HPP__
38apply_hamiltonian(Hamiltonian0<double>& H0, K_point<double>& kp, wf::Wave_functions<double>& wf_out,
39 wf::Wave_functions<double>& wf, std::shared_ptr<wf::Wave_functions<double>> swf)
45 int num_wf = wf.num_wf();
46 int num_sc = wf.num_sc();
47 if (num_wf != wf_out.num_wf() || wf_out.num_sc() != num_sc) {
48 RTE_THROW(
"num_sc or num_wf do not match");
56 for (
int ispn_step = 0; ispn_step < ctx.num_spinors(); ispn_step++) {
58 auto spin_range = wf::spin_range((ctx.num_mag_dims() == 3) ? 2 : ispn_step);
59 H.apply_h_s<std::complex<double>>(spin_range, wf::band_range(N, n), wf, &wf_out, swf.get());
Contains definition and partial implementation of sirius::Density class.
Contains declaration and definition of sirius::Hamiltonian class.
Namespace of the SIRIUS library.
Contains declaration and partial implementation of sirius::Potential class.
Contains declaration and implementation of Wave_functions class.