![]() |
QMCPACK
|
Public Member Functions | |
OneSplineOrbData (const TinyVector< int, 3 > &mesh_size, const TinyVector< int, 3 > &halfG, const bool isComplex) | |
~OneSplineOrbData () | |
auto | getRotatePhase () const |
auto & | get_spline_r () |
auto & | get_spline_i () |
void | clear () |
void | fft_spline (const Vector< std::complex< double >> &cG, const std::vector< TinyVector< int, 3 >> &gvecs, const TinyVector< double, 3 > &primcell_kpoint, const bool rotate) |
fft and spline cG More... | |
Private Member Functions | |
void | create (const TinyVector< int, 3 > &halfG) |
Private Attributes | |
Array< std::complex< double >, 3 > | FFTbox |
Array< double, 3 > | splineData_r |
Array< double, 3 > | splineData_i |
double | rotate_phase_r |
double | rotate_phase_i |
UBspline_3d_d * | spline_r = nullptr |
UBspline_3d_d * | spline_i = nullptr |
fftw_plan | FFTplan = nullptr |
const TinyVector< int, 3 > & | mesh_size_ |
const bool | isComplex_ |
Definition at line 28 of file OneSplineOrbData.hpp.
OneSplineOrbData | ( | const TinyVector< int, 3 > & | mesh_size, |
const TinyVector< int, 3 > & | halfG, | ||
const bool | isComplex | ||
) |
Definition at line 43 of file OneSplineOrbData.cpp.
References OneSplineOrbData::create().
~OneSplineOrbData | ( | ) |
void clear | ( | ) |
Definition at line 53 of file OneSplineOrbData.cpp.
References OneSplineOrbData::FFTplan, OneSplineOrbData::spline_i, and OneSplineOrbData::spline_r.
Referenced by OneSplineOrbData::~OneSplineOrbData().
|
private |
Definition at line 23 of file OneSplineOrbData.cpp.
References qmcplusplus::create(), Array< T, D, ALLOC >::data(), OneSplineOrbData::FFTbox, OneSplineOrbData::FFTplan, OneSplineOrbData::isComplex_, OneSplineOrbData::mesh_size_, Array< T, D, ALLOC >::resize(), OneSplineOrbData::spline_i, OneSplineOrbData::spline_r, OneSplineOrbData::splineData_i, and OneSplineOrbData::splineData_r.
Referenced by OneSplineOrbData::OneSplineOrbData().
void fft_spline | ( | const Vector< std::complex< double >> & | cG, |
const std::vector< TinyVector< int, 3 >> & | gvecs, | ||
const TinyVector< double, 3 > & | primcell_kpoint, | ||
const bool | rotate | ||
) |
fft and spline cG
cG | psi_g to be processed |
ti | twist index |
iorb | orbital index |
Perform FFT and spline to spline_r and spline_i
Definition at line 69 of file OneSplineOrbData.cpp.
References Array< T, D, ALLOC >::data(), OneSplineOrbData::FFTbox, OneSplineOrbData::FFTplan, qmcplusplus::fix_phase_rotate_c2c(), qmcplusplus::fix_phase_rotate_c2r(), OneSplineOrbData::isComplex_, OneSplineOrbData::mesh_size_, OneSplineOrbData::rotate_phase_i, OneSplineOrbData::rotate_phase_r, OneSplineOrbData::spline_i, OneSplineOrbData::spline_r, OneSplineOrbData::splineData_i, OneSplineOrbData::splineData_r, qmcplusplus::split_real_components_c2c(), and qmcplusplus::unpack4fftw().
|
inline |
|
inline |
|
inline |
Definition at line 47 of file OneSplineOrbData.hpp.
References OneSplineOrbData::rotate_phase_i, and OneSplineOrbData::rotate_phase_r.
|
private |
Definition at line 30 of file OneSplineOrbData.hpp.
Referenced by OneSplineOrbData::create(), and OneSplineOrbData::fft_spline().
|
private |
Definition at line 35 of file OneSplineOrbData.hpp.
Referenced by OneSplineOrbData::clear(), OneSplineOrbData::create(), and OneSplineOrbData::fft_spline().
|
private |
Definition at line 38 of file OneSplineOrbData.hpp.
Referenced by OneSplineOrbData::create(), and OneSplineOrbData::fft_spline().
|
private |
Definition at line 37 of file OneSplineOrbData.hpp.
Referenced by OneSplineOrbData::create(), and OneSplineOrbData::fft_spline().
|
private |
Definition at line 32 of file OneSplineOrbData.hpp.
Referenced by OneSplineOrbData::fft_spline(), and OneSplineOrbData::getRotatePhase().
|
private |
Definition at line 32 of file OneSplineOrbData.hpp.
Referenced by OneSplineOrbData::fft_spline(), and OneSplineOrbData::getRotatePhase().
|
private |
Definition at line 34 of file OneSplineOrbData.hpp.
Referenced by OneSplineOrbData::clear(), OneSplineOrbData::create(), OneSplineOrbData::fft_spline(), and OneSplineOrbData::get_spline_i().
|
private |
Definition at line 33 of file OneSplineOrbData.hpp.
Referenced by OneSplineOrbData::clear(), OneSplineOrbData::create(), OneSplineOrbData::fft_spline(), and OneSplineOrbData::get_spline_r().
|
private |
Definition at line 31 of file OneSplineOrbData.hpp.
Referenced by OneSplineOrbData::create(), and OneSplineOrbData::fft_spline().
|
private |
Definition at line 31 of file OneSplineOrbData.hpp.
Referenced by OneSplineOrbData::create(), and OneSplineOrbData::fft_spline().