aboutsummaryrefslogtreecommitdiff
path: root/Carpet/CarpetLib/src/interpolate_3d_3tl.cc
Commit message (Collapse)AuthorAge
* CarpetLib: Some harmless code cleanupErik Schnetter2013-08-08
| | | | Use CCTK_Error and CCTK_BUILTIN_UNREACHABLE
* CarpetLib: New parameter use_loopcontrol_in_operatorsErik Schnetter2013-07-27
| | | | When this parameters is set, then (some) prolongation/restriction operators are parallelized via LoopControl instead of in dh.cc.
* Replace abs() by fabs()Erik Schnetter2013-04-02
| | | | Replace calls to abs() with floating arguments by calls to fabs(), to ensure the results are not accidentally truncated to integer.
* Allow padding in transport operatorsErik Schnetter2012-11-22
| | | | | Rewrite padding infrastructure. Add padded array extents to transport operator APIs.
* CarpetLib: Extend operator API to allow hyperslabbingErik Schnetter2012-09-11
| | | | | | | Extend API of grid operators and of gdata::copy_from, gdata::transfer_from to allow hyperslabbing Implement hyperslabbing in copy_3d.cc
* CarpetLib: Introduce gdata::allocated_memory_shapeErik Schnetter2011-12-14
| | | | | | Introduce a function gdata::allocated_memory_shape that determines from a given grid size how many grid points should be allocated. This allows adding padding to grid sizes, e.g. to improve cache performance. Use this function when checking grid sizes.
* CarpetLib: Remove dependency on LoopControlErik Schnetter2011-12-14
|
* Combine CarpetLib's INSTANTIATE and Carpet's TYPECASE mechanism into aErik Schnetter2011-12-14
| | | | | | single mechanism provided by CarpetLib. Use this mechanism everywhere.
* CarpetLib: Update LoopControl options for time interpolation operatorsErik Schnetter2011-12-14
|
* CarpetLib: Improve OpenMP parallelisationErik Schnetter2011-12-14
| | | | | | | | | | | Ensure that there is exactly one OpenMP parallelisation for each operator. Improve the prolongation operator parallellisation method by splitting along the direction of longest extent, not always in the z direction. Use LoopControl for copy, restriction, and time interpolation operators instead of explicit OpenMP directives.
* Import CarpetErik Schnetter2011-12-14
| | | | Ignore-this: 309b4dd613f4af2b84aa5d6743fdb6b3
* OpenMP changes:Erik Schnetter2008-03-21
| | | | | | | Use #pragma instead of _Pragma for OpenMP directives. The PGI compilers do not understand the _Pragma syntax. Use int instead of ptrdiff_t for loop variables which are parallelised via OpenMP. The PGI compilers cannot handle ptrdiff_t.
* CarpetLib: Add support for OpenMPErik Schnetter2007-08-21
| | | | | | | | | | | Add #pragma omp statements for loops in reduction and prolongation operators. Change loop control variables to signed types. Add functions to determine the number of active threads. Add a parameter to set the number of threads if desired. darcs-hash:20070821185237-dae7b-56827b72a69b5fa1b3d1316379a0f155696b4cb2.gz
* CarpetLib: Use #include "instantiate" to instantiate the operatorsErik Schnetter2007-02-14
| | | | | | | Use #include "instantiate" to instantiate the transport operators. This allows e.g. switching off support for complex numbers. darcs-hash:20070214172513-dae7b-aef2b83617158679c80ac350c2837f519928ddda.gz
* CarpetLib: Clean up transport operatorsErik Schnetter2007-02-04
| | | | | | | | | | | | Remove unused, #ifdef'ed out code from the operators. Since the operators use now the bbox class, this checking is already performed there. Remove unused debugging code in the cell-centered operators. Use the restrict qualifier in the prototypes. darcs-hash:20070204174027-dae7b-743583b30d52646219411c98ad99486d10445e52.gz
* CarpetLib: Reorganise prolongation and restriction operatorsErik Schnetter2007-01-12
Reorganise prolongation and restriction operators. This is a major implementation change. Most operators are now written as C++ templates instead of as Fortran 77 code. This simplifies the code, since C++ routines can be called more easily, and they also have access to CarpetLib's high-level data structures. Previously, the operators combined temporal and spatial interpolation. Now, time interpolation and space interpolation are handled separately. This may be less efficient, but simplifies the code significantly, since there are now N+M instead of N*M routines, for N time interpolation and M space interpolation methods. Remove the minmod prolongation operator, which was previously disabled. Add support for cell centering, using a method described by Simon Hern, and suggested for Carpet by Ian Hawke. darcs-hash:20070112205812-dae7b-5329795aa698e7bbc3671b1504134885dd830238.gz