| Commit message (Collapse) | Author | Age |
|
|
|
|
|
|
|
|
|
| |
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.
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
| |
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.
|
| |
|
| |
|
|
|
|
|
| |
Allow expanding bboxset by multiples of a fraction of the stride.
Allow shifting bboxsets.
|
|
|
|
|
|
| |
New functions:
- construct a bboxset from a container of bboxes
- expand or contract bboxsets
|
|
|
|
| |
Disable explicit normalization.
|
| |
|
|
|
|
| |
Ignore-this: 309b4dd613f4af2b84aa5d6743fdb6b3
|
|
|
|
| |
darcs-hash:20070809203347-dae7b-af9e0bcb5bb419bf309d8eef12ed5cc52a9ba2a9.gz
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
| |
darcs-hash:20050101191615-891bb-20b262ff1a4468d5e1c5ac8626a3ead0727c2da9.gz
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
| |
darcs-hash:20050101162121-891bb-ac9d070faecc19f91b4b57389d3507bfc6c6e5ee.gz
|
|
|
|
|
|
| |
That is, say e.g. <cmath> instead of <math.h>.
darcs-hash:20041225182902-891bb-2a4502d6a76ed830ab978030fc4e4765b183509f.gz
|
|
|
|
|
|
| |
Replace all CVS header tags with the standard "$Header:$".
darcs-hash:20040918132147-891bb-dea889bdd94a479ec412d14d08e9efca63e5c24d.gz
|
|
|
|
|
|
|
| |
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, 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.
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,
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.
*.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 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 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.
Fixed a few bugs that were uncovered by dynamic regridding.
darcs-hash:20011214153941-07bb3-c31c15cec651b5c3c992f529b7409c081fda5ba8.gz
|
|
|
|
|
|
|
|
| |
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 grid
functions. Not yet tested.
darcs-hash:20010702112209-07bb3-816053f629c333189a63014698d4b34c124168aa.gz
|
|
|
|
| |
darcs-hash:20010327202631-f6438-d70466b15bf2224f3ce20968622c77a3cca37a73.gz
|
|
|
|
|
|
|
| |
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
|
|
|
|
| |
darcs-hash:20010319203019-f6438-339bf469c6734d21a44ecb7475c7d5d05e6b13fd.gz
|
|
|
|
|
|
|
|
|
| |
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 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
|
|
|
|
| |
darcs-hash:20010301124010-f6438-fca5ed1e25f84efd816aa0d13fc23b58add7195d.gz
|
|
darcs-hash:20010301114010-f6438-12fb8a9ffcc80e86c0a97e37b5b0dae0dbc59b79.gz
|