aboutsummaryrefslogtreecommitdiff
path: root/Carpet/CarpetLib/src/operators.hh
Commit message (Collapse)AuthorAge
* CarpetLib: Add op_sync operatorErik Schnetter2007-04-19
| | | | darcs-hash:20070419015013-dae7b-cd2f28ae5fcd8a3cdcb2822eb0c18d0ffe78bc5f.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
* CarpetLib: Add WENO prolongationI.Hawke2006-03-10
| | | | | | | | | WENO prolongation should be more accurate than ENO prolongation whilst retaining the monotonicity properties of the ENO operators. The WENO operators will only work with prolongation_order_space = 5 because of the stencil width (requires 3 ghost zones). darcs-hash:20060310132742-34bfa-32c65e7f67cb91ab36dd125a5327f2e16286e807.gz
* CarpetLib: Add new transport operator type op_copyErik Schnetter2005-06-07
| | | | | | | | | | | | | | | Add a new transport operator type op_copy. This "prolongation" operator does not interpolate in time, but rather copies the from the newest time level instead. Such grid functions need only one time level. This is intended for prolongating or restricing grid functions like the ADM constraints; if done properly; they will have the same values on the coarse and fine grids. (However, this does not work for the ADM constraints, because such grid functions still need to be set in EVOL, not in ANALYSIS.) darcs-hash:20050607160833-891bb-cfd1c7630f8996606328d7c7e9fe326561106aba.gz
* global: Remove $Header$ keywords from Carpet arrangementErik Schnetter2005-01-01
| | | | darcs-hash:20050101162121-891bb-ac9d070faecc19f91b4b57389d3507bfc6c6e5ee.gz
* Remove CVS header tagsErik Schnetter2004-09-18
| | | | | | Replace all CVS header tags with the standard "$Header:$". darcs-hash:20040918132147-891bb-dea889bdd94a479ec412d14d08e9efca63e5c24d.gz
* Essentially Non-Oscillatory prolongation operators. Again intended forhawke2004-03-03
| | | | | | | | | | | | Essentially Non-Oscillatory prolongation operators. Again intended for use with things like hydro. As with the minmod operators, there seems to be small spikes at grid boundaries. The advantage of these is that they should be smoother than minmod, fitting the least oscillatory quadratic (switches to linear if best quadratic not monotone). Massively untested though. darcs-hash:20040303133040-58737-83b8befb34a91b9d9306beee2cbaea4464eb5b7e.gz
* Import the recently announced changes:schnetter2004-01-25
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Import the recently announced changes: 1. Carpet has now an infrastructure for multiple maps (aka "grid patches"). Instead of a single grid hierarchy there can now be several. This is largely untested, because the remainder of Cactus cannot handle multiple coordinate systems. 2. The order in which the schedule bins are called has changed. As Ian Hawke pointed out, the previous order during time evolution was inconsistent. The initial data ordering did not allow for recovering and was not usable for progressively solving elliptic equations for initial data. 3. Carpet now supports convergence levels. The convergence level specifies by how many factors of two the resolution in the parameter file should be coarsened (or refined, if negative). This should make convergence tests and test runs much easier. It is, in principle, also possible to run several convergence levels at once. This has not been tested because the remainder of Cactus cannot handle multiple resolutions. This will be necessary for a multigrid solver, and also for having a shadow hierarchy to determine where to refine adaptively. 4. Carpet works together with the new CoordBase domain specification parameters. Without these, using convergence levels will lead to very strange results. 5. The "modes" have changed. There are now: meta mode: the whole simulation global mode: one convergence level level mode: one refinement level singlemap mode: one map on one refinement level local mode: as previously The whole mode handling has been cleaned up. 6. The regridding thorn has been cleaned up. 7. The kind of prolongation stencil is now determined in Carpet, i.e. at a fairly hight level, instead of in CarpetLib. 8. The low-order prolongation operators have been made much more efficient (as have previously the higher-order ones). 9. Assorted smaller changes. For Carpet users, there should be no major incompatibilities. The major improvements are 3 and 4 combined. Here is an example: CoordBase::domainsize = extent CoordBase::spacing = gridspacing CoordBase::zero_origin_x = yes CoordBase::zero_origin_y = yes CoordBase::zero_origin_z = yes CoordBase::xextent = 20.0 CoordBase::yextent = 20.0 CoordBase::zextent = 20.0 CoordBase::dx = 1.0 CoordBase::dy = 1.0 CoordBase::dz = 1.0 CoordBase::boundary_shiftout_x_lower = 1 CoordBase::boundary_shiftout_y_lower = 1 CoordBase::boundary_shiftout_z_lower = 1 Carpet::domain_from_coordbase = yes Carpet::convergence_level = 0 grid::type = coordbase grid::domain = octant grid::avoid_origin = no This gives you a grid that extends from the origin ("zero_origin") up to 20.0 with a grid spacing of 1.0. Symmetry zones and boundary zones are added automatically. The "shiftout" says that there is no boundary point on the origin. The staggering parameters (not shown) default to "no". In order to change the resolution, only the convergence level has to be adjusted. Note that the old way of specifying the domain extent still works. For Carpet developers, one major change is the new mode handling. As described in 5, the looping macros (that loop over all refinement levels, or all components) have changed. darcs-hash:20040125135727-07bb3-51c9647c1b5080e7e180b52a1b81fa155cfd19e9.gz
* Initial revisioneschnett2001-03-01
darcs-hash:20010301114010-f6438-12fb8a9ffcc80e86c0a97e37b5b0dae0dbc59b79.gz