aboutsummaryrefslogtreecommitdiff
path: root/Carpet/CarpetLib/src/dh.cc
Commit message (Collapse)AuthorAge
...
* CarpetLib: Move pseudoregion datatypes to region.hhErik Schnetter2008-01-30
| | | | | | | | | 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
* CarpetLib: Remove commented out calls to optimise2_fieldErik Schnetter2008-01-30
| | | | darcs-hash:20080130220753-dae7b-8e3e204338e67e187e11bd0997c8a967f364dc83.gz
* CarpetLib: Introduce new communication scheduleErik Schnetter2008-01-14
| | | | | | | | | | 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
* CarpetLib: Always output the grid structure if there was an errorErik Schnetter2007-09-28
| | | | darcs-hash:20070928155050-dae7b-dd2712aec2215d4e79fedac8a1205a4791900d98.gz
* CarpetLib: Improve error messages for grid hierarchy consistency checksErik Schnetter2007-09-05
| | | | | | | | | | | | | 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
* CarpetLib: Handle first regridding correctly.Erik Schnetter2007-05-13
| | | | | | | | 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
* CarpetLib: Fill new refinement levels even if it is newly createdErik Schnetter2007-05-11
| | | | | | | Correct a logic error that left newly created refinement levels uninitialised. darcs-hash:20070511202803-dae7b-29c68c95feced54dc9d9ac8e027c241bec82e0ee.gz
* CarpetLib: Allow empty domainsErik Schnetter2007-05-10
| | | | darcs-hash:20070510222457-dae7b-63f0ce31174188709611001c19feb58f3c516862.gz
* CarpetLib: Synchronise outer boundary points as wellErik Schnetter2007-04-21
| | | | darcs-hash:20070421031755-dae7b-5c3b1adbca478900cae6e98ec7ea792ee7ec976d.gz
* CarpetLib: Various dh changesErik Schnetter2007-04-19
| | | | | | | | | 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
* CarpetLib: Beautify dh::setup_refinement_restriction_boxesErik Schnetter2007-03-19
| | | | darcs-hash:20070319225457-dae7b-05ea19292cd557ac86ea79f2263ecc951ec3c1aa.gz
* CarpetLib: Beautify dh::setup_refinement_prolongation_boxesErik Schnetter2007-03-19
| | | | darcs-hash:20070319225404-dae7b-ee7e374b0595d873b5e82b5b7ae457abb6a1a2a5.gz
* CarpetLib: Beautify dh::setup_sync_boxesErik Schnetter2007-03-19
| | | | darcs-hash:20070319225327-dae7b-e189114bdb1e915732540fc55d5b2e1e6de0eae5.gz
* CarpetLib: Whitespace changes in dh.ccErik Schnetter2007-03-19
| | | | darcs-hash:20070319225244-dae7b-e371c54bfc8ca1126e4060b0cb5697f74a779766.gz
* CarpetLib: Correct error in boundary prolongationErik Schnetter2007-03-19
| | | | | | Correct an error in calculating the boundary prolongation bboxes. darcs-hash:20070319224958-dae7b-a3c5097cc52085c4eacd34dea05b05b85d1a097c.gz
* CarpetLib: Correct error in calculation of restriction bboxesErik Schnetter2007-03-17
| | | | | | Correct an error in the way the restriction bboxes were calculated. darcs-hash:20070317160521-dae7b-35b39c6c2034eb6ee235c95ffb08137067ae3a51.gz
* CarpetLib: Output bboxes in class dh before checking themErik Schnetter2007-03-17
| | | | | | | 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
* CarpetLib: Correct error in calculating regridding scheduleErik Schnetter2007-03-12
| | | | | | | Regridding when the previous grid hierarchy had fewer levels was not handled correctly. darcs-hash:20070312161246-dae7b-f9bdb2990fcbd1bc9f245aaef35398b1a25b60d3.gz
* CarpetLib: Pre-calculate the communication schedule for recomposingErik Schnetter2007-03-07
| | | | | | | | | | | | 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
* CarpetLib: Remove erroneous self-checkErik Schnetter2007-03-06
| | | | | | | Do not assume that a region's owned grid points are disjoint from its boundary. darcs-hash:20070306190322-dae7b-57357dcc1bb915b19d9d945eb82d553e88468e14.gz
* CarpetLib: Optimise dh class furtherErik Schnetter2007-03-04
| | | | | | | | | | | 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
* CarpetLib: Reformat comment in dh.ccErik Schnetter2007-02-28
| | | | darcs-hash:20070228022758-dae7b-331a83039930f08faff78ab5f732ebd036c1afbb.gz
* CarpetLib: Handle empty bbox vectors when setting up the optimised dh fieldsErik Schnetter2007-02-09
| | | | darcs-hash:20070209053449-dae7b-3a9c6b25f4c8001110d7040f481f6d981d5ce95c.gz
* CarpetLib: Correct error that disabled all communicationErik Schnetter2007-02-09
| | | | darcs-hash:20070209052313-dae7b-6af38a5ffdd16b5a8fa529533baac8c9f9e7074f.gz
* CarpetLib: Introduce pseudoregion classErik Schnetter2007-02-04
| | | | | | | | | | | | | 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
* CarpetLib: Rename ggf::recompose_free to ggf::recompose_free_oldErik Schnetter2007-02-04
| | | | | | | Rename ggf::recompose_free to ggf::recompose_free_old. Remove code that was commented out. darcs-hash:20070204180937-dae7b-0c0c9f5b5007d416ec16da8a6781950a4f1406e5.gz
* CarpetLib: Use AT to index std::vectorErik Schnetter2007-02-03
| | | | | | | | 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
* CarpetLib: Ensure that the bboxes are aligned with the base extentErik Schnetter2007-01-12
| | | | | | Ensure that the bboxes are aligned with the base extent in the dh class. darcs-hash:20070112210924-dae7b-b0cd213087916602753565ecb6317692d65139e0.gz
* CarpetLib: Add new datatype region_tErik Schnetter2007-01-12
| | | | | | | | | | | | | | | | | | | | | | | 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
* CarpetLib: Initialise dh::is_interproc correctlyErik Schnetter2006-12-06
| | | | darcs-hash:20061206165743-dae7b-00a12e7ebcf48f2f54ee439ea662ab0018485915.gz
* CarpetLib: Correct the way prolongation boundaries are determinedErik Schnetter2006-11-13
| | | | | | | | | | | 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
* CarpetLib: Split recompose functions into regrid and recomposeErik Schnetter2006-09-04
| | | | | | | | | | | | | | | 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
* CarpetLib: Replace "!" by "not"Erik Schnetter2006-09-04
| | | | darcs-hash:20060904020213-dae7b-778fdfeb662280630d1c5af50fcedde2a78e9137.gz
* CarpetLib: Allow more than one prolongation source boxesErik Schnetter2006-06-13
| | | | | | | | 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
* CarpetLib: Check for proper nestingErik Schnetter2006-05-08
| | | | darcs-hash:20060508154323-dae7b-30f14d75440c10774cd9f386bcfaca77fe3e704d.gz
* CarpetLib: Correct error in omit_prolongation_points_when_restrictingErik Schnetter2006-05-04
| | | | | | | Correct the logic error when omit_prolongation_points_when_restricting is used. It remains off by default. darcs-hash:20060504231609-dae7b-d2b89530463b9c67e120426f20e86e6f21211a3d.gz
* CarpetLib: Add boolean parameter "omit_prolongation_points_when_restricting"Erik Schnetter2006-05-03
| | | | | | | | | | | | | | 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
* CarpetLib: Handle empty domains correctlyErik Schnetter2006-02-27
| | | | | | | 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
* CarpetLib: Correct error in handling recent change to restrictionErik Schnetter2006-02-27
| | | | | | | | | 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
* CarpetLib: Do not restrict to points they are used for boundary prolongationErik Schnetter2006-02-26
| | | | | | | | Do not restrict to points they are used for boundary prolongation. Check this condition. darcs-hash:20060226002735-dae7b-36da19d1be45a8db8a2af194873cd8a3e64c8a86.gz
* CarpetLib: Rename function in dh, add const qualifiersErik Schnetter2006-02-26
| | | | darcs-hash:20060226002647-dae7b-120cbc31f8e3caf9dcf1e996844268749a954d57.gz
* CarpetLib: Rename the dh setup functionsErik Schnetter2006-02-25
| | | | darcs-hash:20060225172723-dae7b-27a2d88ad612cd88b33b83095760a55dd03d2dc4.gz
* CarpetLib: Rename some local variablesErik Schnetter2005-11-19
| | | | | | | 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
* Carpet*: generalise the comm_state class for collective buffer communicationsThomas Radke2005-08-15
| | | | | | | | | 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
* CarpetLib: Implement fast recomposingErik Schnetter2005-08-11
| | | | | | | | 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
* CarpetLib: Add outer buffer zonesErik Schnetter2005-08-08
| | | | | | | | | | | | | | | | | | | | | 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
* CarpetLib: Correct typo in commentErik Schnetter2005-08-08
| | | | darcs-hash:20050808132501-891bb-e03ca26e0adfe32f01065ecae0b987785855190a.gz
* CarpetLib: resolve conflict between collective communication and mem<T>Erik Schnetter2005-04-11
| | | | darcs-hash:20050411203309-891bb-5b74d6135f6cd6995f1eed6cc74dd2f29c42f8a8.gz
* Carpet/CarpetLib: deactivate CarpetLib::minimise_outstanding_communicationsThomas Radke2005-04-11
| | | | | | | | | | | | | | 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
* CarpetLib: Resolve conflict after introducing mem<T> classErik Schnetter2005-04-10
| | | | | | | | 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