QMCPACK / miniqmc

QMCPACK miniapp: a simplified real space QMC code for algorithm development, performance portability testing, and computer science experiments
Other
26 stars 34 forks source link

Update Numerics/Spline2 #233

Closed ye-luo closed 5 years ago

ye-luo commented 5 years ago

Bring the code closer to QMCPACK. 1,2 are already in QMCPACK, 3 will be added in the near future.

  1. Introduce BsplineAllocator class which handles the allocation and deallocation of multi-spline data structure.
  2. All the evaluation functions are free functions (protected by namespace) and no more attached to a class.
  3. introduce MultiBsplineEvalHelper.hpp, all the helper functions are moved to this class. getSplineBound is moved there. computeLocationAndFractional is introduced to determine the location of an electron on the spline grid and compute all the prefactor. Separating this from the spline evaluation adds more flexibility and facilitate future needs.

Did some extra cleaning and the number of lines is reduced.

ye-luo commented 5 years ago

Test this please.

ye-luo commented 5 years ago

Test this please.

ye-luo commented 5 years ago

Any objections to merge this PR? I need this moving forward. From @PDoakORNL I’m not going to block it if you get an approval from someone else.