| Commit message (Collapse) | Author | Age |
| |
|
|
|
|
| |
anti_contracted_for is the exact opposite of contracted for. It is similar to expanded_for, but may return different results in corner cases.
|
| |
|
| |
|
|
|
|
|
| |
Remove CarpetLib's "equals" method.
Implement equal_to, less, greater, greater_equal, less_equal, not_equal for vect and bbox classes.
|
|
|
|
|
|
|
| |
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.
|
| |
|
| |
|
| |
|
|
|
|
| |
Allow expanding bboxes by fractions of the stride.
|
| |
|
|
|
|
| |
Ignore-this: 309b4dd613f4af2b84aa5d6743fdb6b3
|
| |
|
| |
|
| |
|
|
|
|
|
|
| |
Use CCTK_WARN instead of assert to test bbox sizes for integer overflow.
darcs-hash:20070905000256-dae7b-6eaab530356ba3dcb1909b75840743bf39f5b20f.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
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
| |
darcs-hash:20070207044227-dae7b-0d81f6729bfdc85b8541c6690eaedef7a5f24212.gz
|
|
|
|
| |
darcs-hash:20070203204005-dae7b-dc38364001baecd4b7073e6dc92077cf1f756b70.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
|
|
|
|
| |
darcs-hash:20060606003856-dae7b-b1bbd7219113bee246898626c6652e1df5a8db65.gz
|
|
|
|
| |
darcs-hash:20050101191615-891bb-20b262ff1a4468d5e1c5ac8626a3ead0727c2da9.gz
|
|
|
|
| |
darcs-hash:20050127104948-891bb-214d1033924b4db7a215a624eb337f8a619ac82d.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
|
|
|
|
| |
darcs-hash:20040626130809-07bb3-14d132fa6dd6c3fbbba9582f4e7f0f2e78dc9586.gz
|
|
|
|
|
|
|
|
|
| |
Add option to use less memory during regridding.
Some more internal consistency checks.
Some reformatting.
darcs-hash:20040521161341-07bb3-de11e460fb175d3dbbd94708730c18a6e94e370a.gz
|
|
|
|
| |
darcs-hash:20040419115007-07bb3-6dbfa1995bc5376ae7106e05d6c525d009b9c3b6.gz
|
|
|
|
|
|
|
| |
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.
Add doxygen comments.
darcs-hash:20040311110344-07bb3-ce9e356a02388278c8508946eac32a98b6cdafee.gz
|
|
|
|
| |
darcs-hash:20040227144040-07bb3-a89704193701abcae95b27068427adc63cbc76b3.gz
|
|
|
|
|
|
|
|
|
| |
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:
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
|
|
|
|
| |
darcs-hash:20031113150358-07bb3-427886aab7c861fe53bf7fef96ec2a31e1d155f5.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
|
|
|
|
| |
darcs-hash:20030815073254-07bb3-d964703599463eb0657c0d6c6a00d3450fc3c31d.gz
|
|
|
|
|
|
|
|
|
|
| |
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 of
Fortran) order.
darcs-hash:20030317092418-07bb3-8f6c6c877571615751c3c6edb875bc5436b6c390.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
|
|
|
|
|
|
|
| |
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 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
|
|
|
|
| |
darcs-hash:20020830140318-07bb3-061e0233bad17df8536c1dba820b560d6578f4df.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 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 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
|
|
|
|
|
|
|
|
|
| |
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
|