1#ifndef STRUCTURE_FACTOR_H
2#define STRUCTURE_FACTOR_H
37 void bsplinecoef(std::complex<double> *b1, std::complex<double> *b2, std::complex<double> *b3,
38 const int nx,
const int ny,
const int nz,
const int norder);
54 template <
typename FPTYPE,
typename Device>
58 std::complex<double>*
get_skq(
int ik,
Definition complexmatrix.h:13
3 elements vector
Definition vector3.h:24
Special pw_basis class. It includes different k-points.
Definition pw_basis_k.h:56
A class which can convert a function of "r" to the corresponding linear superposition of plane waves ...
Definition pw_basis.h:56
Definition parallel_grid.h:7
Definition structure_factor.h:10
ModuleBase::ComplexMatrix eigts3
Definition structure_factor.h:45
std::complex< double > * z_eigts3
Definition structure_factor.h:73
const UnitCell * ucell
Definition structure_factor.h:66
~Structure_Factor()
Definition charge_extra_test.cpp:89
std::complex< double > * z_eigts1
Definition structure_factor.h:71
void bsplinecoef(std::complex< double > *b1, std::complex< double > *b2, std::complex< double > *b3, const int nx, const int ny, const int nz, const int norder)
Definition structure_factor.cpp:314
std::complex< FPTYPE > * get_eigts3_data() const
void setup(const UnitCell *Ucell, const Parallel_Grid &pgrid, const ModulePW::PW_Basis *rho_basis)
Definition charge_extra_test.cpp:92
std::string device
Definition structure_factor.h:76
std::complex< double > * get_skq(int ik, int it, int ia, const ModulePW::PW_Basis_K *wfc_basis, ModuleBase::Vector3< double > q) const
Definition structure_factor_k.cpp:145
Structure_Factor()
Definition charge_extra_test.cpp:86
std::complex< float > * c_eigts2
Definition structure_factor.h:68
const ModulePW::PW_Basis * rho_basis
Definition structure_factor.h:75
std::complex< float > * c_eigts3
Definition structure_factor.h:69
void set(const ModulePW::PW_Basis *rho_basis_in, const int  line_in)
Definition structure_factor.cpp:46
std::complex< FPTYPE > * get_eigts1_data() const
std::complex< FPTYPE > * get_eigts2_data() const
int nbspline
Definition structure_factor.h:21
ModuleBase::ComplexMatrix eigts1
Definition structure_factor.h:43
std::complex< double > * get_sk(const int ik, const int it, const int ia, const ModulePW::PW_Basis_K *wfc_basis) const
Definition psi_initializer_unit_test.cpp:85
void bspline_sf(const int, const UnitCell *Ucell, const Parallel_Grid &pgrid, const ModulePW::PW_Basis *rho_basis)
calculate structure factors through Cardinal B-spline interpolation
Definition structure_factor.cpp:208
std::complex< float > * c_eigts1
Definition structure_factor.h:67
ModuleBase::ComplexMatrix eigts2
Definition structure_factor.h:44
std::complex< double > * z_eigts2
Definition structure_factor.h:72
ModuleBase::ComplexMatrix strucFac
Definition structure_factor.h:24