47 int number_of_plane_waves,
48 const std::vector<int>& g_vector_indices,
49 const std::vector<Real>& kinetic_energy_squared) = 0;
59 Complex* output_hamiltonian_wavefunctions,
60 int number_of_vectors) = 0;
155 (void)dense_d_matrix_column_major;
void set_spin_channel(int spin_channel)
virtual void set_cached_projectors(int kpoint_index, const q3::Matrix< Complex > *projectors)
virtual void apply_batch(const Complex *input_wavefunctions, Complex *output_hamiltonian_wavefunctions, int number_of_vectors)=0
virtual ~PlanewaveHamiltonianApplicator()=default
virtual void prepare_kpoint(int kpoint_index, int number_of_plane_waves, const std::vector< int > &g_vector_indices, const std::vector< Real > &kinetic_energy_squared)=0
int spin_channel_
Spin channel the current potential and D belong to; 0 when unpolarized.
virtual const q3::Matrix< Complex > * get_cached_projectors(int kpoint_index) const
virtual void invalidate_smooth_potential_cache()=0
virtual bool is_gamma_only_current() const
virtual void set_cached_hubbard_projectors(int kpoint_index, const q3::Matrix< Complex > *projectors)
virtual void update_potential(const std::vector< Real > &real_space_potential)=0
virtual bool gamma_origin_is_local_current() const
virtual bool is_smooth_potential_cache_valid() const
virtual void set_hubbard_d_matrix(const std::vector< Complex > *dense_d_matrix_column_major)
std::complex< double > Complex