| Commit message (Collapse) | Author | Age |
... | |
|
|
|
|
|
|
|
|
| |
Rename the datatypes pseudoregion and sendrecv_pseudoregion to
pseudoregion_t and sendrecv_pseudoregion_t, respectively. Move their
declaration and definition to region.hh and region.cc, respectively.
Instantiate templates for stream output.
darcs-hash:20080130221653-dae7b-8eb25cacc8f7750ac470179c9575785bdb32b575.gz
|
|
|
|
| |
darcs-hash:20080130220753-dae7b-8e3e204338e67e187e11bd0997c8a967f364dc83.gz
|
|
|
|
|
|
|
|
|
|
| |
Store the communication schedule more efficiently: store only the
non-zero parts. This saves much time when traversing the schedule.
Add new communication routines which communicate not between only two
individual components, but between all components.
darcs-hash:20080114152229-dae7b-7b7ba51bd8b5de0a0009ea236f4a894667b0281b.gz
|
|
|
|
| |
darcs-hash:20070928155050-dae7b-dd2712aec2215d4e79fedac8a1205a4791900d98.gz
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Use CCTK_WARN instead of assert to report errors in the grid
hierarchy.
Continue the consistency checks even if errors are found, so that
multiple errors can be diagnosed at the same time.
Output the grid hierarchy even when it is not consistent, so that
errors can be diagnosed without core dumps.
darcs-hash:20070905000356-dae7b-4f55bff9af10e0a53f4bb1b3702a6f169dda35c2.gz
|
|
|
|
|
|
|
|
| |
Do not require that regridding fills all grid points if the previous
grid hierarchy is completely empty, i.e, if this is the first
regridding.
darcs-hash:20070513034129-dae7b-7c838458c107d6873665eeb3e92d2a4c72565f30.gz
|
|
|
|
|
|
|
| |
Correct a logic error that left newly created refinement levels
uninitialised.
darcs-hash:20070511202803-dae7b-29c68c95feced54dc9d9ac8e027c241bec82e0ee.gz
|
|
|
|
| |
darcs-hash:20070510222457-dae7b-63f0ce31174188709611001c19feb58f3c516862.gz
|
|
|
|
| |
darcs-hash:20070421031755-dae7b-5c3b1adbca478900cae6e98ec7ea792ee7ec976d.gz
|
|
|
|
|
|
|
|
|
| |
Redesign storing and calculating the communication schedule in dh
class.
Remove bases from dh class; bases are now stored in gh class.
darcs-hash:20070419014553-dae7b-254c932eac39cf73e538dbfcf5a07470639e6f2c.gz
|
|
|
|
| |
darcs-hash:20070319225457-dae7b-05ea19292cd557ac86ea79f2263ecc951ec3c1aa.gz
|
|
|
|
| |
darcs-hash:20070319225404-dae7b-ee7e374b0595d873b5e82b5b7ae457abb6a1a2a5.gz
|
|
|
|
| |
darcs-hash:20070319225327-dae7b-e189114bdb1e915732540fc55d5b2e1e6de0eae5.gz
|
|
|
|
| |
darcs-hash:20070319225244-dae7b-e371c54bfc8ca1126e4060b0cb5697f74a779766.gz
|
|
|
|
|
|
| |
Correct an error in calculating the boundary prolongation bboxes.
darcs-hash:20070319224958-dae7b-a3c5097cc52085c4eacd34dea05b05b85d1a097c.gz
|
|
|
|
|
|
| |
Correct an error in the way the restriction bboxes were calculated.
darcs-hash:20070317160521-dae7b-35b39c6c2034eb6ee235c95ffb08137067ae3a51.gz
|
|
|
|
|
|
|
| |
Output bboxes in class dh before checking them, so that the wrong
bboxes are printed before the programme is aborted.
darcs-hash:20070317160423-dae7b-7ee774f4e46610b73e9f3b06f71dbd778910b37d.gz
|
|
|
|
|
|
|
| |
Regridding when the previous grid hierarchy had fewer levels was not
handled correctly.
darcs-hash:20070312161246-dae7b-f9bdb2990fcbd1bc9f245aaef35398b1a25b60d3.gz
|
|
|
|
|
|
|
|
|
|
|
|
| |
Calculate the communication schedule for recomposing in advance. This
is the schedule which decides which parts of the old grid hierarchy
are used to fill what parts of the new grid hierarchy. Previously,
this schedule was calculate for every grid function anew.
Omit synchronisation and boundary prolongation after recomposing.
This must now happen by scheduled routines in the postregrid bin.
darcs-hash:20070307231156-dae7b-a9fc9a40a88dc7c5b459de8118fc3d4b6c66ffac.gz
|
|
|
|
|
|
|
| |
Do not assume that a region's owned grid points are disjoint from its
boundary.
darcs-hash:20070306190322-dae7b-57357dcc1bb915b19d9d945eb82d553e88468e14.gz
|
|
|
|
|
|
|
|
|
|
|
| |
Reduce the number of bbox operations while setting up the
communication schedule. Cache some results. Introduce timers
throughout.
Introduce a parameter CarpetLib::check_bboxes, defaulting to "yes",
which can be used to disable the self-checks.
darcs-hash:20070304210744-dae7b-1a2756dc0aa2f30b2f1311a9475c2a35513f2cfc.gz
|
|
|
|
| |
darcs-hash:20070228022758-dae7b-331a83039930f08faff78ab5f732ebd036c1afbb.gz
|
|
|
|
| |
darcs-hash:20070209053449-dae7b-3a9c6b25f4c8001110d7040f481f6d981d5ce95c.gz
|
|
|
|
| |
darcs-hash:20070209052313-dae7b-6af38a5ffdd16b5a8fa529533baac8c9f9e7074f.gz
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
A pseudoregion is almost a region; it is a bbox that lives on a
certain processor. Pseudoregions are a compact way to store
information about what processors needs to send data to what other
processor during synchronisation or regridding.
Introduce a class pseudoregion. Add additional pseudoregion fields to
the dh class. Use these fields when communicating; this is faster
than walking the original data structures.
darcs-hash:20070204184339-dae7b-3bd90a48b77cf0623e3df3a7ca4edd9d5c7053f8.gz
|
|
|
|
|
|
|
| |
Rename ggf::recompose_free to ggf::recompose_free_old.
Remove code that was commented out.
darcs-hash:20070204180937-dae7b-0c0c9f5b5007d416ec16da8a6781950a4f1406e5.gz
|
|
|
|
|
|
|
|
| |
Define a macro AT() to index into std::vector. Depending on the macro
NDEBUG, AT() is defined either as at(), providing index checking, or
as operator[], providing no checking.
darcs-hash:20070203205854-dae7b-a1999c88c95ba12b1ee66505f712aefdd67d7e6f.gz
|
|
|
|
|
|
| |
Ensure that the bboxes are aligned with the base extent in the dh class.
darcs-hash:20070112210924-dae7b-b0cd213087916602753565ecb6317692d65139e0.gz
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The new datatype region_t combines an extent (a bbox), an outer
boundary descriptor, a refinement descriptor, and a processor number:
struct region_t {
ibbox extent; // extent
b2vect outer_boundaries; // outer boundaries
b2vect refinement_boundaries; // refinement boundaries
int map; // map to which this
// region belongs
int processor; // processor number
};
These quantities are often used together, and combining them into a
single datatype simplifies the code significantly.
Adapt gh, dh, etc. to use this new datatype.
This is a major API change.
darcs-hash:20070112204130-dae7b-92cad546187b0fe499e8cfc38b2e26614a4f608c.gz
|
|
|
|
| |
darcs-hash:20061206165743-dae7b-00a12e7ebcf48f2f54ee439ea662ab0018485915.gz
|
|
|
|
|
|
|
|
|
|
|
| |
Correc the way in which it is determined which points are boundary
prolongated and which are synchronised.
For this, introduce a new field "owned" to the dh class that
determines which grid points a processor owns for interprocessor
communication.
darcs-hash:20061113214128-dae7b-34a520f7e461173d0042acde68cb48cd670b167a.gz
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Split recompose functions into two stages, regrid and recompose. The
first stage, regrid, changes the grid structure in the gh and dh
classes. The second stage, recompose, changes the values of the
actual grid functions, i.e., changes the gf<T> and data<T> objects.
The second stage has to be called individually for every refinement
level.
This is necessary since the boundary conditions need to be applied
after recomposing one refinement level, before the next fine
refinement level can be recomposed.
darcs-hash:20060904230433-dae7b-3ba1982460f57b34da11a6fbb6b4b524dc5b348f.gz
|
|
|
|
| |
darcs-hash:20060904020213-dae7b-778fdfeb662280630d1c5af50fcedde2a78e9137.gz
|
|
|
|
|
|
|
|
| |
If two refinement boxes sit next to each other in an L (ell) shape,
then the region where the boxes have prolongation boundaries may not
have the shape of a single box. Therefore allow arbitrary many boxes.
darcs-hash:20060613170952-dae7b-a1579f5ec53ad4a36bd44c9ab1d4f07f46a1160e.gz
|
|
|
|
| |
darcs-hash:20060508154323-dae7b-30f14d75440c10774cd9f386bcfaca77fe3e704d.gz
|
|
|
|
|
|
|
| |
Correct the logic error when omit_prolongation_points_when_restricting
is used. It remains off by default.
darcs-hash:20060504231609-dae7b-d2b89530463b9c67e120426f20e86e6f21211a3d.gz
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Add a parameter "omit_prolongation_points_when_restricting" that
controls whether to restrict to points that are used for boundary
prolongation. The default is "no", restoring Carpet's behaviour from
before the patch "CarpetLib: Do not restrict to points that are used
for boundary prolongation".
When set to yes, then there is still a logic error in the code on
multiple processors, leading to different restriction regions on
different numbers of processors.
darcs-hash:20060503235940-dae7b-4c124e68e4c2519c0f97d416e0a7fa3489c1441d.gz
|
|
|
|
|
|
|
| |
Allow a processor's domain to be empty. This needs special treatment,
because such a domain must not have ghost zones added to it.
darcs-hash:20060227001303-dae7b-e0c0f4d2455add31f0b1f7d1366e0090d31c9fff.gz
|
|
|
|
|
|
|
|
|
| |
Correct an error in the patch "CarpetLib: Do not restrict to points
they are used for boundary prolongation".
Rename some iterators to more meaningful names.
darcs-hash:20060227001417-dae7b-65ada5d5357fef71b162163ee3f1ef74e55403db.gz
|
|
|
|
|
|
|
|
| |
Do not restrict to points they are used for boundary prolongation.
Check this condition.
darcs-hash:20060226002735-dae7b-36da19d1be45a8db8a2af194873cd8a3e64c8a86.gz
|
|
|
|
| |
darcs-hash:20060226002647-dae7b-120cbc31f8e3caf9dcf1e996844268749a954d57.gz
|
|
|
|
| |
darcs-hash:20060225172723-dae7b-27a2d88ad612cd88b33b83095760a55dd03d2dc4.gz
|
|
|
|
|
|
|
| |
Rename some local variables in dh.cc and gdata.cc so that their names
don't clash with global variables.
darcs-hash:20051119203248-dae7b-c371dfbf1e43fbd95577a17201d7cee45e5c8400.gz
|
|
|
|
|
|
|
|
|
| |
CarpetLib's comm_state class (actually, it's still just a struct) has been
extended to handle collective buffer communications for all possible C datatypes
at the same time. This makes it unnecessary for the higher-level communication
routines to loop over each individual datatype separately.
darcs-hash:20050815150023-776a0-dddc1aca7ccaebae872f9f451b2c3595cd951fed.gz
|
|
|
|
|
|
|
|
| |
For each refinement level that is to be recomposed, check whether it
has the same structure as before, and if so, do nothing. This is
controlled by a new flag CarpetLib::fast_recomposing.
darcs-hash:20050811120347-891bb-f937c21ddeac7d909cae41d487e9fd74a5ce8cc8.gz
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Rename the previous buffer zones to "inner buffer zones". Introduce
additional "outer buffer zones". Their meaning is the same, except
that inner buffer zones are taken from the computational domain,
making it smaller, while outer buffer zones are added to the outside,
similar to ghost zones. This makes them easier to handle, both
internally in Carpet and for the end user.
This changes the API of the dh class.
There is a new field "is_interproc" in the "dboxes" structure; it
specifies whether the whole boundary is an interprocessor boundary.
(Note that boundaries can be partly interprocessor and partly
refinement boundaries.)
Both kinds of buffer zones can exist at the same time, although I
would not do that.
darcs-hash:20050808200647-891bb-9d9a8eefaf7bcb665d09869a8b564f3769d2ecc2.gz
|
|
|
|
| |
darcs-hash:20050808132501-891bb-e03ca26e0adfe32f01065ecae0b987785855190a.gz
|
|
|
|
| |
darcs-hash:20050411203309-891bb-5b74d6135f6cd6995f1eed6cc74dd2f29c42f8a8.gz
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The code to minimise the number of outstanding communication requests is
superseded by the collective buffers communication code. Therefore the
corresponding parameter has been deactivated (but not removed in order to keep
backwards compatibility with older checkpoints).
It is marked as deprecated in the param.ccl file and should not be used anymore
(use CarpetLib::use_collective_communication_buffers instead).
A level-2 warning of that meaning is printed at startup if the parameter is
still set in a user's parfile.
darcs-hash:20050411155524-776a0-ed9919869cc1f2821ab8b2fa23b4abea203b72ed.gz
|
|
|
|
|
|
|
|
| |
Resolve the conflict that exists between the patches that introduce
the mem<T> class conflicts and the option
CarpetLib::use_collective_communication_buffers.
darcs-hash:20050410175106-891bb-a66f3783fd8c897d65ed07f55b812e346b406baa.gz
|