aboutsummaryrefslogtreecommitdiff
path: root/Carpet/Carpet/src/modes.cc
Commit message (Collapse)AuthorAge
* Timers: Move all timer-related code into a new thorn TimersErik Schnetter2013-08-07
|
* Allow padding in transport operatorsErik Schnetter2012-11-22
| | | | | Rewrite padding infrastructure. Add padded array extents to transport operator APIs.
* Add a timer tree for measuring time spent in each Carpet modeIan Hinder2012-10-26
| | | | | | * This can be used for determining which mode, or which refinement level or map, is taking up a lot of time in a simulation * Add parameters to control whether local mode and each map are timed * Time the transitions between modes
* Carpet: Correct errors in adaptive step size handlingErik Schnetter2012-10-23
|
* Carpet: Correct errors with adaptive time steppingErik Schnetter2012-09-27
|
* Carpet: Remove unused variableErik Schnetter2012-09-11
|
* Introduce cctk_ash, retire cctk_lsshErik Schnetter2012-09-11
| | | | | | | | | Introduce cctk_ash, describing the process-local array shape that has been allocated. This may be larger than cctk_lsh, the process-local shape that should be used. Retire cctk_lssh and related infrastructure to handle staggered grid functions.
* CarpetLib: Change API to obtain pointer to grid function dataErik Schnetter2012-09-11
| | | | | | | | Change the API to obtain a pointer to grid function data: - Use a function "typed_data_pointer" instead of overloading the () operator (because this looks nicer) - Don't use a virtual function (because this isn't needed) - Update all uses
* Carpet: Set times of past timelevels correctlyErik Schnetter2011-12-14
| | | | Redesign the way in which the times of the past timelevels are set. If cctk_delta_time changes during initialisation, re-set the times of the past timelevels accordingly.
* Carpet: Introduce bbox and bboxset loop iteratorsErik Schnetter2011-12-14
| | | | | Introduce LOOP_OVER_BBOX and LOOP_OVER_BSET iterators. Introduce ibbox2iminimax function.
* Carpet: Update to new dh classesErik Schnetter2011-12-14
|
* Re-organise time level handlingErik Schnetter2011-12-14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Store the current Cactus time (and not a fake Carpet time) in the th "time hiearchy". This removes the now redundant "leveltimes" data structure in Carpet. Add past time levels to th, so that it can store the time for past time levels instead of assuming the time step size is constant. This allows changing the time step size during evolution. Share the time hierarchy between all maps, instead of having one time hierarchy per map. Simplify the time level cycling and time stepping code used during evolution. Improve structure of the code that loops over time levels for certain schedule bins. Introduce a new Carpet variable "timelevel", similar to "reflevel". This also makes it possible to avoid time interpolation for the past time levels during regridding. The past time levels of the fine grid then remain aligned (in time) with the past time levels of the coarse grid. This is controlled by a new parameter "time_interpolation_during_regridding", which defaults to "yes" for backwards compatibility. Simplify the three time level initialisation. Instead of initialising all three time levels by taking altogether three time steps (forwards and backwards), initialise only one past time level by taking one time step backwards. The remaining time level is initialised during the first time step of the evolution, which begins by cycling time levels, which drops the non-initialised last time level anyway. Update Carpet and the mode handling correspondingly. Update the CarpetIOHDF5 checkpoint format correspondingly. Update CarpetInterp, CarpetReduce, and CarpetRegrid2 correspondingly. Update CarpetJacobi and CarpetMG correspondingly.
* Carpet: Make whitespace look nicerErik Schnetter2011-12-14
|
* Carpet: Set cctkGH->cctk_mode if it existsErik Schnetter2011-12-14
| | | | | Set cctkGH->cctk_mode to the current mode, if this field exists in the cGH structure.
* Carpet: Don't set cGroupDynamicData::lssh, it does not exist yetErik Schnetter2011-12-14
|
* Carpet: Don't set cctkGH->cctk_mode, which is not standard yetErik Schnetter2011-12-14
|
* Carpet: Allow different numbers of ghost zones on different levelsErik Schnetter2011-12-14
| | | | | Allow different numbers of ghost zones and different spatial prolongation orders on different refinement levels.
* Carpet: Using cGroupDynamicData.lssh only if it existsErik Schnetter2011-12-14
| | | | | | | Ignore-this: 214a58aa02e8940d548cc4e6fca74df4 The flesh does not yet officially define the lssh field in cGroupDynamicData. Set this field only if it exists.
* Carpet: Implement padding from grid variablesErik Schnetter2011-12-14
| | | | | | | | | | | | Ignore-this: ac4962293cd7c0313a0f17f3ccd59e96 Set the cGH and cGroupDynamicData entries correctly if padding is used. cctk_lsh then contains the number of grid points that have been allocated, cctk_lssh contains the number of grid points that should be used. cctk_lssh is also used for staggered grid functions, although this kind of staggering is not supported by Carpet.
* Import CarpetErik Schnetter2011-12-14
| | | | Ignore-this: 309b4dd613f4af2b84aa5d6743fdb6b3
* Carpet: Correct error in local mode iteratorErik Schnetter2009-01-16
|
* Carpet: Handle looping over zero componentsErik Schnetter2008-12-18
| | | | | Correct component and local component iterators to handle the case when there are zero components present.
* Carpet: Use new "check" macroErik Schnetter2008-10-10
|
* CarpetLib: small fix for leave_XXX_mode() routines to print the "Leaving XXX ↵Thomas Radke2008-10-01
| | | | mode" debug message only if mode XXX was really active
* Carpet: Remove code that was commented outErik Schnetter2008-09-08
|
* Carpet: Set Carpet's internal grid spacing variables more oftenErik Schnetter2007-06-23
| | | | | | | | Set Carpet's internal grid spacing variables more often from the cctkGH entries. This means that the Carpet interpolator has access to the currenty grid spacing immediately. darcs-hash:20070623192026-dae7b-5c9a148cc8d84dbbced5742bb7900c30ebcd5519.gz
* Carpet: Correct error in forbiding accessing past timelevelsErik Schnetter2007-06-07
| | | | darcs-hash:20070607161759-dae7b-023c6b52b229f5ef2c8cc5a049ed1ed8c1e597d6.gz
* Carpet: Forbid accessing past timelevels in certain scheduling binsErik Schnetter2007-06-06
| | | | | | | Certain scheduling bins do not allow accessing past time levels. Set the grid function pointers to past time levels to null in these. darcs-hash:20070606203504-dae7b-df075bdeb5bea053b84d9e6f162796a5aac50540.gz
* Carpet: Update modes.ccErik Schnetter2007-04-19
| | | | darcs-hash:20070419020736-dae7b-26878d3a45008f37a69f1b2788712112bfa98ed7.gz
* Carpet: Calculate cctk_lbnd from dh, not from ghErik Schnetter2007-03-12
| | | | | | | Calculate cctk_lbnd from dh, which includes ghost and refinement zones, not from gh. darcs-hash:20070312161819-dae7b-ea8ae04642abbc5be41560392eea77d560e94e96.gz
* Carpet: Change regridding API to use region_tErik Schnetter2007-01-13
| | | | | | | | | | Change the regridding API to use region_t. This is a major API change. Use the information in region_t to correct the load balancing when outer buffer zones are used. darcs-hash:20070113014409-dae7b-33f78948a7b826ea7806513d7864730fe64c14a9.gz
* Carpet: Add grouptype state variable for traversing maps and componentsErik Schnetter2006-10-03
| | | | | | | | | | | | | | When looping over maps and components, remember whether to loop over grid arrays or grid functions. Grid arrays have 1 map and nprocs components, while grid functions can have many maps are many components per map. Add a corresponding grouptype argument to the mode handling functions and macros. Update all callers. darcs-hash:20061003233704-dae7b-d0d0bf914405821ceddfd0339fac7a640b23c42b.gz
* Carpet: Restructure and clean up modes.cc and modes.hhErik Schnetter2006-09-25
| | | | | | Restructure and clean up modes.cc and modes.hh. darcs-hash:20060925213356-dae7b-d07a28bcbf7bf4e606cd83c3da549b477a02bbfe.gz
* Carpet: Store number of active time levels per level instead of globallyErik Schnetter2006-04-13
| | | | | | | Store the number of active time levels explicitly for each refinement level and convergence level. darcs-hash:20060413192937-dae7b-579ddb7ae741d73bb8bf6e0c87a4bff1c18f7c46.gz
* Carpet: Define coarse grid spacing in global mode when there is only one mapErik Schnetter2006-03-28
| | | | | | | | | Different maps may have different coarse grid spacings, so that in general the coarse grid spacing cannot be set in global mode. Treat the case where there is only one map specially, and do define the coarse grid spacing in global mode in this case. darcs-hash:20060328161736-dae7b-b33ef56eb3db4e383cca283f53955972364fc49d.gz
* Carpet: Use a negative value to indicate an illegal grid spacingErik Schnetter2006-03-22
| | | | darcs-hash:20060322152927-dae7b-28ae0e94c77a4f07faa85185960cc21d5536de06.gz
* Carpet: [REDO 2] Store grid spacing per map instead of globallyErik Schnetter2006-03-04
| | | | | | | | | | Store the coarse grid spacing per individual map instead of globally. Set and unset the grid spacing when entering or leaving singlemap mode, not global mode. This breaks code that tries to access the coarse grid spacing in the cGH in global mode. darcs-hash:20060304173810-dae7b-2ee5d6bf3e9344b4a952d939ca0b97d120eecfdf.gz
* UNDO: Carpet: Store grid spacing per map instead of globallyErik Schnetter2005-11-19
| | | | | | | | | | Store the coarse grid spacing per individual map instead of globally. Set and unset the grid spacing when entering or leaving singlemap mode, not global mode. This breaks code that tries to access the coarse grid spacing in the cGH in global mode. darcs-hash:20051119212129-dae7b-ca0ccee9a08c988e44b9024b69e17da2d78d8cba.gz
* Carpet: Store grid spacing per map instead of globallyErik Schnetter2005-11-19
| | | | | | | | | | Store the coarse grid spacing per individual map instead of globally. Set and unset the grid spacing when entering or leaving singlemap mode, not global mode. This breaks code that tries to access the coarse grid spacing in the cGH in global mode. darcs-hash:20051119212129-dae7b-2bfe457a182d4e7e3229ede412aad8ecf450417a.gz
* Carpet: Do not set timereflevelfact to "deadbeef" in global modeErik Schnetter2005-10-10
| | | | | | | Do not set timereflevelfact to "deadbeef" in global mode. This helps time integration of grid arrays. darcs-hash:20051010225009-891bb-578f9e151551fd924fefaa372c89c1182e39fd74.gz
* Carpet: Use outer buffer zonesErik Schnetter2005-08-09
| | | | | | | | | | | | | | | | Deprecated the previous buffer zone mechanism. Introduce new parameters Carpet::use_outer_buffer_zones and Carpet::num_integrator_substeps. The number of buffer zones are then calculated automatically, and are added to the outer edge of the grid instead of reducing the domain. Adapt to the API change of the dh class. Both new and old style buffer zones can exist at the same time, although I would not do that. darcs-hash:20050809091707-891bb-c25d68de3b04b03c06078aaee39f389b67f1416a.gz
* Carpet: Allow zero-extent gridsErik Schnetter2005-07-14
| | | | | | | | | | | | Carpet extends 1D grids to 3D grids by giving them an extent of 1 in the additional directions. This assumption was erroneously checked later in certain places. However, when grids are distributed onto processors, the extent can become 0 in these additional directions as well if there are fewer grid points that processors. Remove this check. darcs-hash:20050714140029-891bb-f3ac62f54e25fb69130d0559e0f95ac4d1dd02dc.gz
* global: Add varying refinement factorsErik Schnetter2005-05-01
| | | | | | | | | | Add support for varying refinement factors. The spatial refinement factors can be different in different directions, can be different from the time refinement factor, and can be different on each level. (However, the underlying spatial transport operators do currently not handle any factors except two.) darcs-hash:20050501205010-891bb-8d3a74abaad55ee6c77ef18d51fca2a2b69740de.gz
* Carpet: Change some 0 to NULLErik Schnetter2005-03-03
| | | | darcs-hash:20050303101924-891bb-32d852a6fc338b52465ba0c29fed953eb4850e40.gz
* Carpet: Handle groups with all time levels active correctlyErik Schnetter2005-03-03
| | | | darcs-hash:20050303101914-891bb-4bd9006f6da972bb3a1d8d9a4a9127359bcf1a4d.gz
* global: Change the way in which the grid hierarchy is storedErik Schnetter2005-02-01
| | | | | | | | | | | | | | | | | | | | Change the way in which the grid hierarchy is stored. The new hierarchy is map mglevel reflevel component timelevel i.e., mglevel moved from the bottom to almost the top. This is because mglevel used to be a true multigrid level, but is now meant to be a convergence level. Do not allocate all storage all the time. Allow storage to be switched on an off per refinement level (and for a single mglevel, which prompted the change above). Handle storage management with CCTK_{In,De}creaseGroupStorage instead of CCTK_{En,Dis}ableGroupStorage. darcs-hash:20050201225827-891bb-eae3b6bd092ae8d6b5e49be84c6f09f0e882933e.gz
* global: Turn CarpetLib templates into classesErik Schnetter2005-01-01
| | | | | | | | | | | | | | | | | | | Turn most of the templates in CarpetLib, which used to have the form template<int D> class XXX into classes, i.e., into something like class XXX by setting D to the new global integer constant dim, which in turn is set to 3. The templates gf and data, which used to be of the form template<typename T, int D> class XXX are now of the form template<typename T> class XXX The templates vect, bbox, and bboxset remain templates. This change simplifies the code somewhat. darcs-hash:20050101182234-891bb-c3063528841f0d078b12cc506309ea27d8ce730d.gz
* global: Replace "&&" and "||" by "and" and "or"Erik Schnetter2005-02-01
| | | | darcs-hash:20050201214347-891bb-286c20316478d9f1c8384f94764174cab5adb9e0.gz
* Carpet: Allow varying time step sizesErik Schnetter2005-01-25
| | | | darcs-hash:20050125141850-891bb-c5d5f1d5d91502662bd959a0b4abe8ba249f318f.gz
* global: Remove $Header$ keywords from Carpet arrangementErik Schnetter2005-01-01
| | | | darcs-hash:20050101162121-891bb-ac9d070faecc19f91b4b57389d3507bfc6c6e5ee.gz