[ET Trac] [Einstein Toolkit] #1750: [Pull request: CactusNumerical/LocalInterp2] C++ drop-in replacement for LocalInterp

Einstein Toolkit trac-noreply at einsteintoolkit.org
Mon Mar 2 13:29:00 CST 2015


#1750: [Pull request: CactusNumerical/LocalInterp2] C++ drop-in replacement for
LocalInterp
-----------------------------------+----------------------------------------
 Reporter:  dradice@…              |       Owner:                     
     Type:  enhancement            |      Status:  new                
 Priority:  unset                  |   Milestone:                     
Component:  EinsteinToolkit thorn  |     Version:  development version
 Keywords:                         |  
-----------------------------------+----------------------------------------
 LocalInterp2 is a drop-in replacement for LocalInterp, written in C++. The
 main features are:

 Use C++ template instead of macros to handle all of the Cactus datatypes.
 The interpolation kernels have datatype, order and number of dimensions as
 template parameters (so that most loops / methods can be unrolled /
 inlined), but apart from that I did not use much template metaprogramming,
 so that compiling time is reasonable.

 Completely generic Lagrange interpolation kernels: all orders and number
 of dimensions are supported (but need to be instantiated in the .cc file).

 Symmetric interpolation with respect to coordinate inversion (optional,
 but enabled by default)

 The higher level Cactus wrappers are adapted from the old LocalInterp,
 with some tweaks for the OpenMP parallelization.

 Unit tests for the low-level kernels (TestLocalInterp2 thorn).

 Passes the InterpToArray test suite.

 This code has not been used for production runs yet, so I am looking for
 some adventurous user willing to test it.

-- 
Ticket URL: <https://trac.einsteintoolkit.org/ticket/1750>
Einstein Toolkit <http://einsteintoolkit.org>
The Einstein Toolkit


More information about the Trac mailing list