[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