aboutsummaryrefslogtreecommitdiff
path: root/Carpet/CarpetLib/src/bbox.cc
Commit message (Collapse)AuthorAge
* CarpetLib: Use CCTK_BUILTIN_UNREACHABLE instead of __builtin_unreachableErik Schnetter2013-06-22
|
* CarpetLib: New function bbox::anti_contracted_forErik Schnetter2013-05-26
| | | | anti_contracted_for is the exact opposite of contracted for. It is similar to expanded_for, but may return different results in corner cases.
* CarpetLib: Replace more uses of operator% by calls to imodErik Schnetter2013-05-26
|
* CarpetLib: New function bbox::is_poison to check for poisonErik Schnetter2013-05-26
|
* CarpetLib: Use C++ standard methods to compare containersErik Schnetter2013-05-26
| | | | | Remove CarpetLib's "equals" method. Implement equal_to, less, greater, greater_equal, less_equal, not_equal for vect and bbox classes.
* CarpetLib: Provide idiv/imod functions that always round downErik Schnetter2012-09-11
| | | | | | | Provide idiv/imod functions for signed integer division that always round towards negative infinity. Also provide vector version of these. Use these in the bbox output routines to ensure proper rounding.
* CarpetLib: Ignore stride when "expanding" bboxes by an amount of zeroErik Schnetter2011-12-14
|
* CarpetLib: Rearrange order of #include statementsErik Schnetter2011-12-14
|
* CarpetLib: Don't require aligned bboxes for the "contains" functionErik Schnetter2011-12-14
|
* CarpetLib: Generalise "expand" functionErik Schnetter2011-12-14
| | | | Allow expanding bboxes by fractions of the stride.
* CarpetLib: Replace "class" by "typename" in template argumentsErik Schnetter2011-12-14
|
* Import CarpetErik Schnetter2011-12-14
| | | | Ignore-this: 309b4dd613f4af2b84aa5d6743fdb6b3
* CarpetLib: Allow expanding empty bboxesErik Schnetter2008-10-01
|
* CarpetLib: Improve error message when overly large bbox is createdErik Schnetter2008-04-01
|
* CarpetLib: Output type information in bbox error messagesErik Schnetter2008-03-19
|
* CarpetLib: Improve error messages in bbox consistency checksErik Schnetter2007-09-05
| | | | | | Use CCTK_WARN instead of assert to test bbox sizes for integer overflow. darcs-hash:20070905000256-dae7b-6eaab530356ba3dcb1909b75840743bf39f5b20f.gz
* CarpetLib: Various bbox changesErik Schnetter2007-04-19
| | | | | | | | | | | | | | | | | | | | | | Introduce a special type bbox<T,D>::size_type for the return value of bbox<T,D>::size(), because the size can easily exceed an int. Remove ordering from bbox<T,D>. This frees the comparison operators. Add bbox<T,D> comparison operators to check containment. Correct error in reading extended bbox information from streams. Introduce function bbox<T,D>::bounds(), which returns both lower and upper boundary together. Add bboxset<T,D> constructors which accept lists and vectors of bboxes. Add bboxset<T,D> comparison operators to check containment. Add also operators to compare bboxsets and single bboxes. darcs-hash:20070419013547-dae7b-db59f84533e1fe5759a1fb3511f8860571a94c77.gz
* CarpetLib: Output bboxes more comfortablyErik Schnetter2007-03-04
| | | | | | | | | When outputting bboxes, also output their size after dividing by the stride, and output the number of contained grid points. Update the bbox reader to ignore this information. darcs-hash:20070304211114-dae7b-be8be8a5bfdc15edc3ca7e327ba95fa1ce791bed.gz
* CarpetLib: Correct error in bbox::size()Erik Schnetter2007-02-07
| | | | darcs-hash:20070207044227-dae7b-0d81f6729bfdc85b8541c6690eaedef7a5f24212.gz
* CarpetLib: Correct error in bbox::sizeErik Schnetter2007-02-03
| | | | darcs-hash:20070203204005-dae7b-dc38364001baecd4b7073e6dc92077cf1f756b70.gz
* CarpetLib: Optimise bbox and bboxset classes for speedErik Schnetter2007-02-03
| | | | | | | | | | | | | Use std::list instead of std::set to store the bboxes internally. Define some functions as inline. Perform some checking only when NDEBUG is not defined. Optimise the algorithms for normalising bboxsets and for calculating the set difference. darcs-hash:20070203172717-dae7b-1e77f0a810f786913cd2a1aaed1ea1a5fde604cf.gz
* CarpetLib: Explicitly convert integer to type T in the bbox templateErik Schnetter2006-06-06
| | | | darcs-hash:20060606003856-dae7b-b1bbd7219113bee246898626c6652e1df5a8db65.gz
* CarpetLib: Rename some variables to avoid shadowing class membersErik Schnetter2005-01-01
| | | | darcs-hash:20050101191615-891bb-20b262ff1a4468d5e1c5ac8626a3ead0727c2da9.gz
* CarpetLib: Instantiate vect and bbox for CCTK_REAL instead of doubleErik Schnetter2005-01-27
| | | | darcs-hash:20050127104948-891bb-214d1033924b4db7a215a624eb337f8a619ac82d.gz
* global: Remove $Header$ keywords from Carpet arrangementErik Schnetter2005-01-01
| | | | darcs-hash:20050101162121-891bb-ac9d070faecc19f91b4b57389d3507bfc6c6e5ee.gz
* CarpetLib: Use new style instead of old style C++ headersErik Schnetter2004-12-25
| | | | | | That is, say e.g. <cmath> instead of <math.h>. darcs-hash:20041225182902-891bb-2a4502d6a76ed830ab978030fc4e4765b183509f.gz
* Remove CVS header tagsErik Schnetter2004-09-18
| | | | | | Replace all CVS header tags with the standard "$Header:$". darcs-hash:20040918132147-891bb-dea889bdd94a479ec412d14d08e9efca63e5c24d.gz
* Throw an input_error instead of using assert when there is wrong input.schnetter2004-06-26
| | | | darcs-hash:20040626130809-07bb3-14d132fa6dd6c3fbbba9582f4e7f0f2e78dc9586.gz
* Add option to use less memory during regridding.schnetter2004-05-21
| | | | | | | | | Add option to use less memory during regridding. Some more internal consistency checks. Some reformatting. darcs-hash:20040521161341-07bb3-de11e460fb175d3dbbd94708730c18a6e94e370a.gz
* remove debugging statementschnetter2004-04-19
| | | | darcs-hash:20040419115007-07bb3-6dbfa1995bc5376ae7106e05d6c525d009b9c3b6.gz
* Change the bbox iterators to be cyclic.schnetter2004-04-18
| | | | | | | Change the bbox iterators to be cyclic. Update ASCII output to use the new iterators. darcs-hash:20040418110344-07bb3-1ea594b79f3031dbc38101d15a65b9aafcf3b005.gz
* Remove old-style iteratorT types and routines.schnetter2004-03-11
| | | | | | | Remove old-style iteratorT types and routines. Add doxygen comments. darcs-hash:20040311110344-07bb3-ce9e356a02388278c8508946eac32a98b6cdafee.gz
* Use new bbox iterators in all places (missed some before).schnetter2004-02-27
| | | | darcs-hash:20040227144040-07bb3-a89704193701abcae95b27068427adc63cbc76b3.gz
* Change definition for the bbox iterators, so that they work withschnetter2004-02-18
| | | | | | | | | Change definition for the bbox iterators, so that they work with 0-dimensional bboxes as well. Instantiate the templates for 0 dimensions. darcs-hash:20040218141001-07bb3-df6baa90f8b8ae69a788d863ef663d55587d1d25.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
* Allow bboxes of CCTK_REALs.schnetter2003-11-13
| | | | darcs-hash:20031113150358-07bb3-427886aab7c861fe53bf7fef96ec2a31e1d155f5.gz
* bbox::size() and bboxset::size() return the number of grid points, notschnetter2003-09-19
| | | | | | | | | bbox::size() and bboxset::size() return the number of grid points, not the product of the shape. This makes larger grids possible. Mark necessary future changes for vector grid functions with VGF. darcs-hash:20030919140641-07bb3-94c1897464dcc159725618d611ac28f3f75a3011.gz
* Check for overflow in calculating bbox sizes.schnetter2003-08-15
| | | | darcs-hash:20030815073254-07bb3-d964703599463eb0657c0d6c6a00d3450fc3c31d.gz
* Handle empty grids.schnetter2003-05-13
| | | | | | | | | | Handle empty grids. Fix global and level mode handling of the interpolator. Allow local mode calls for the interpolator, reduction operator, and hyperslabber, assuming that people know what they are doing. darcs-hash:20030513101400-07bb3-42af7544c2ea98dbef5a7ad6d5112bea2dcc404f.gz
* Add iterator that traverses a bbox in transposed (i.e. C instead ofschnetter2003-03-17
| | | | | | | Add iterator that traverses a bbox in transposed (i.e. C instead of Fortran) order. darcs-hash:20030317092418-07bb3-8f6c6c877571615751c3c6edb875bc5436b6c390.gz
* Handle empty bboxes.schnetter2003-02-25
| | | | | | | | | | | | | | | | | | | | | | Handle empty bboxes. *.F77: Better error checking whether the active region is contained in the source and destination arrays. *.F77: Temporarily activated per-gridpoint checking of array accesses. bbox.cc bboxset.cc: Handle empty bboxes better -- either handle them correctly, or abort. gdata.cc: Recognise empty regions. ggf.cc: Remove line that was commented out for a long time. dh.cc: Choose send and recv regions for syncing and prolongation so that they don't overlap. dh.cc: Handle empty bboxes. darcs-hash:20030225215700-07bb3-a7296dd92353c003bc0bd3ff435e4939f8041eae.gz
* Forbid to expand and contract empty boxes. This exposed a few bugs inschnetter2003-02-24
| | | | | | | Forbid to expand and contract empty boxes. This exposed a few bugs in other places. darcs-hash:20030224161129-07bb3-41c06d9a0fa2e2d62e1785183fe55683c8a55808.gz
* Removed the "dimgeneric_*" data types from CarpetLib. They were neverschnetter2003-01-03
| | | | | | | | | | | | | Removed the "dimgeneric_*" data types from CarpetLib. They were never really used anyway. Changed "th" into "th<D>". Renamed "generic_*" to "g*". Propagated these changes to all other places. darcs-hash:20030103144936-07bb3-c4d74d2d94a56a898f9bb735666eefc01e2610e2.gz
* Fixed some compiler warnings. Mostly added C++ "typename" keywords.schnetter2002-08-30
| | | | darcs-hash:20020830140318-07bb3-061e0233bad17df8536c1dba820b560d6578f4df.gz
* Removed user choice of C++ template instantiation model. In myschnetter2002-05-05
| | | | | | | | | | | | | | | | | Removed user choice of C++ template instantiation model. In my experience, only one model works, namely explicit template instantiaion. No need to pretend that the other things work with Cactus. (Don't complain to me -- I also think it's a shame that something that calls itself "compiler" isn't able to do this automatically. Many other compilers for many other languages do this kind of thing without even mentioning it. So there's either something fundamentally wrong with the C++ standard, or with the C++ compiler writers, or with the perceived wishlists of C++ users. And I would bet an arm and a leg that it's not the second of these.) darcs-hash:20020505201656-07bb3-a1b8dfc5587d59c718ad25ce89d0c8973c2b3e6f.gz
* Added stream input routines for some CarpetLib containers.schnetter2002-03-11
| | | | | | | | | | | | | | | | | | | | Added stream input routines for some CarpetLib containers. The regridder now has to explicitly say which boundaries are outer, and which are internal. This will make outer boundaries on fine grid possible, and is also necessary when there are multiple grid patches. Started to add support for arbitrariliy many user-specified refinement regions. Not yet finished. The Carpet driver can now handle multiple grid patches. Added example files for multiple grid patches. They use initial data that does not "fit" the boundary conditions, and they don't use multiple refinement levels so far. Removed old and unused example files in CarpetLib. darcs-hash:20020311121709-07bb3-18594c42bd7a958ee0840d29e158a343208f5711.gz
* Second stab at having arrays with a dimension different than gridschnetter2001-07-02
| | | | | | | Second stab at having arrays with a dimension different than grid functions. Not yet tested. darcs-hash:20010702112209-07bb3-816053f629c333189a63014698d4b34c124168aa.gz
* Made Carpet compile on IRIX.eschnett2001-03-27
| | | | darcs-hash:20010327202631-f6438-d70466b15bf2224f3ce20968622c77a3cca37a73.gz
* Brought in latest differences from the SGI version. This is workeschnett2001-03-22
| | | | | | | Brought in latest differences from the SGI version. This is work towards a code that compiles on both architectures. darcs-hash:20010322174200-f6438-23ab5f26cf84d2666312791c6bdb5a0fc1d0390a.gz
* Make the Carpet WaveToy almost-work with two refinement levels. Theeschnett2001-03-12
| | | | | | | | | Make the Carpet WaveToy almost-work with two refinement levels. The basic error was that the Carpet time levels were set to the Cactus time levels, but they need to be different. In Carpet, level 0 is always the current level, and not so in Cactus. darcs-hash:20010312155417-f6438-7c09703fc594525f2d68d4f9da2e3f3eeaec9c57.gz