aboutsummaryrefslogtreecommitdiff
path: root/Carpet/CarpetLib/src/bboxset.cc
Commit message (Collapse)AuthorAge
* CarpetLib: New class bboxset2Erik Schnetter2013-05-26
| | | | | | | | | | Rename bboxset to bboxset1. Implement new class bboxset2, which uses a different internal datastructure than bboxset1. Make bboxset a typedef for either bboxset1 (default) or bboxset2, as selected by the compile-time macro CARPET_BBOXSET2. Disable all bboxset2 code if CARPET_NO_BBOXSET2 is given, since bboxset2 uses newer C++ constructs not available on some older compilers.
* CarpetLib: Implement bboxset::contains(vect)Erik Schnetter2012-09-16
|
* Remove all #warning statementsErik Schnetter2012-09-11
|
* CarpetLib: Use vectors instead of lists to store bboxset bboxesErik Schnetter2012-09-11
|
* CarpetLib: Cache end() iterator in bboxsetErik Schnetter2012-09-11
|
* CarpetLib: Ignore empty bboxes in bboxset::operator|=(bbox)Erik Schnetter2011-12-14
|
* CarpetLib: Improve bboxlib algorithmsErik Schnetter2011-12-14
| | | | | | | Modify the algorithm used to insert a new bbox into an existing bboxset. This reduces the computational complexity of this operation from O(n^2) to O(n), where n is the number of elements in the bboxset. This has the potential to speed up regridding significantly.
* CarpetLib: Allow bboxset to be shiftedErik Schnetter2011-12-14
| | | | | | Bboxsets can now be expanded and shifted, but not shrunk. Don't inline operator+= any more. Add compile-time warnings for some likely incorrect code.
* Backed out changeset 1b5c07de6243Erik Schnetter2011-12-14
|
* CarpetReduce: Remove unused variable "mask"Erik Schnetter2011-12-14
|
* CarpetLib: Generalise "expand" function. Implement "shift" function.Erik Schnetter2011-12-14
| | | | | Allow expanding bboxset by multiples of a fraction of the stride. Allow shifting bboxsets.
* CarpetLib: Add new bboxset functionsErik Schnetter2011-12-14
| | | | | | New functions: - construct a bboxset from a container of bboxes - expand or contract bboxsets
* CarpetLib: Normalize bboxsets automaticallyErik Schnetter2011-12-14
| | | | Disable explicit normalization.
* CarpetLib: Replace "class" by "template" in template arguments in bboxset.ccErik Schnetter2011-12-14
|
* Import CarpetErik Schnetter2011-12-14
| | | | Ignore-this: 309b4dd613f4af2b84aa5d6743fdb6b3
* CarpetLib: Add bboxset::intersectsErik Schnetter2007-08-09
| | | | darcs-hash:20070809203347-dae7b-af9e0bcb5bb419bf309d8eef12ed5cc52a9ba2a9.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: Use CARPET_DEBUG and CARPET_OPTIMISE instead of NDEBUGErik Schnetter2007-03-04
| | | | | | | | | Use CARPET_DEBUG and CARPET_OPTIMISE (instead of NDEBUG) to decide whether to perform or omit somewhat expensive self checks. When CARPET_DEBUG is defined, even expensive checks are performed. When CARPET_OPTIMISE is defined, even cheap checks are omitted. darcs-hash:20070304211311-dae7b-ae917b0f40496fedf4bb5d1c2a70ad31a5167ca3.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: Use better algorithm to combine bboxes in bboxset's normalize()Erik Schnetter2006-12-05
| | | | | | | | | The new algorithm always finds the same canonical configuration of bboxes, independent of how the bboxset is split into bboxes. There is no guarantee that the new representation uses the minimum number of bboxes, since that would be too difficult. darcs-hash:20061205211342-dae7b-2eee2ac16cea06b3ee4fc623deb086d380d5ed37.gz
* CarpetLib: Do not check invariant of bboxset classErik Schnetter2005-03-21
| | | | | | | | | Checking the invariant of the bboxset class is probably O(N^3) in the number of bboxes, possibly worse. It is a very slow operation when there are many components in a simulation, especially with AMR, and possibly also when running on many processors. darcs-hash:20050321020814-891bb-c5eb1cde6f3ac064e39a362b19bd20e15d03bc24.gz
* CarpetLib: Rename some variables to avoid shadowing class membersErik Schnetter2005-01-01
| | | | darcs-hash:20050101191615-891bb-20b262ff1a4468d5e1c5ac8626a3ead0727c2da9.gz
* CarpetLib: Try harder to normalise bboxsetsErik Schnetter2005-01-04
| | | | | | | | Try harder to normalise bboxsets. This is slower, but also more successful at finding the smalles possible number of bboxes. This improves e.g. recombined HDF5 I/O. darcs-hash:20050104214651-891bb-b6e00cf25685c8111472315f5fcdc37518db3700.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
* Simplify logic when evaluating the invariant.schnetter2004-06-13
| | | | | | | Simplify logic when evaluating the invariant. Evaluate the invariant after normalising. darcs-hash:20040613204648-07bb3-a87112f7ef0cde77040e6453947318cd4e8a7c99.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
* bboxset.cc: Output setsize as well.schnetter2003-03-26
| | | | | | | | | | | | | | | | | | | | | | bboxset.cc: Output setsize as well. dh.cc: Add #warning statements where future improvements might be necessary. dh.cc: Allow prolongation bbox set with more than one element. dh.cc: Normalise the bbox sets for the prolongation and boundary prolongation. dh.hh: Add a comment regarding what is synced and what not. ggf.cc: Add #warning statement where future improvements might be necessary. vect.cc: Instantiate vect<bool,3>. vect.hh: vect::replace is const. darcs-hash:20030326163443-07bb3-3b2f685d3fd928e5a0b75a633aff5a67bf54bf47.gz
* Add normalize routine to normalise bboxsets. This isn't perfect yet,schnetter2003-03-18
| | | | | | | | | | | Add normalize routine to normalise bboxsets. This isn't perfect yet, i.e. it still misses some cases. Fix bug in calculating the regions that should be restricted to: exclude all regions used as source for boundary prolongations, even if these prolongations go to a different processor. darcs-hash:20030318163025-07bb3-1cfed59a57c2db71d3dae5528e93a570ccb13101.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
* 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
* 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 a bit of convenient functionality.schnetter2001-12-14
| | | | | | | Added a bit of convenient functionality. Fixed a few bugs that were uncovered by dynamic regridding. darcs-hash:20011214153941-07bb3-c31c15cec651b5c3c992f529b7409c081fda5ba8.gz
* Broke the file "carpet.cc" into several files.schnetter2001-07-04
| | | | | | | | Broke the file "carpet.cc" into several files. Simplified support for arrays with a dimension different from 3. Added a testing thorn. darcs-hash:20010704102946-07bb3-82132f0c643e91f0de33bbaef93f9c693ce7227f.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
* Removed unnecessary instantiations.eschnett2001-03-19
| | | | darcs-hash:20010319203019-f6438-339bf469c6734d21a44ecb7475c7d5d05e6b13fd.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
* Carpet now passes the Cart3d test suite. This required a rewrite ofeschnett2001-03-10
| | | | | | | | | | | | | | | | | Carpet now passes the Cart3d test suite. This required a rewrite of CarpetSlabe, which now uses the data<> class instead of doing things its own way. This in turn required some updates to data<>. CarpetSlab now ignores (i. e. does not use) boundaries, except outer boundaries. For that to work, the dh<> class has been given the notion of an outer boundary. In order to increase performance, the cctk_bbox[] information in Carpet is not set correctly. As an approximation, it just reflects whether the current grid component lies at the outer boundary, as calculated using cctk_lbnd, cctk_ubnd, and cctk_gsh. darcs-hash:20010310195459-f6438-8ee874d722de4df717e5eb3002722ceb8d4a9bb7.gz
* Initial revisioneschnett2001-03-01
| | | | darcs-hash:20010301124010-f6438-fca5ed1e25f84efd816aa0d13fc23b58add7195d.gz
* Initial revisioneschnett2001-03-01
darcs-hash:20010301114010-f6438-12fb8a9ffcc80e86c0a97e37b5b0dae0dbc59b79.gz