qmcpack icon indicating copy to clipboard operation
qmcpack copied to clipboard

What are the rules for SplineR2R/C2R/C2C logic?

Open jptowns opened this issue 2 years ago • 1 comments

QMCPACK has 3 spline classes: SplineR2R, SplineC2R, and SplineC2C. But it is not clear in all cases given an input exactly which spline class will be created. For example, in src/QMCWaveFunctions/test_einset.cpp, if QMC_COMPLEX is set, then a SplineC2C is made. And if QMC_COMPLEX is not set, then a SplineR2R is made. But the test uses the diamond_1x1x1.pwscf.h5 file, which is a gamma point wavefunction. In this case, why is a SplineC2C made instead of a C2R? Is splineC2R ever tested?

jptowns avatar Mar 15 '23 17:03 jptowns

I think the choice is made here, based on if the twists are special points: https://github.com/QMCPACK/qmcpack/blob/e7fd649ae2fcd569feced8cf853f45d8dc003827/src/QMCWaveFunctions/EinsplineSetBuilderCommon.cpp#L632-L642

markdewing avatar Apr 03 '23 19:04 markdewing