| Commit message (Collapse) | Author | Age |
| |
|
|
|
|
|
| |
Rewrite padding infrastructure.
Add padded array extents to transport operator APIs.
|
|
|
|
|
|
| |
* 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
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
| |
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.
|
|
|
|
|
| |
Introduce LOOP_OVER_BBOX and LOOP_OVER_BSET iterators.
Introduce ibbox2iminimax function.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
| |
|
|
|
|
|
| |
Set cctkGH->cctk_mode to the current mode, if this field exists in the
cGH structure.
|
| |
|
| |
|
|
|
|
|
| |
Allow different numbers of ghost zones and different spatial
prolongation orders on different refinement levels.
|
|
|
|
|
|
|
| |
Ignore-this: 214a58aa02e8940d548cc4e6fca74df4
The flesh does not yet officially define the lssh field in
cGroupDynamicData. Set this field only if it exists.
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
| |
Ignore-this: 309b4dd613f4af2b84aa5d6743fdb6b3
|
| |
|
|
|
|
|
| |
Correct component and local component iterators to handle the case when
there are zero components present.
|
| |
|
|
|
|
| |
mode" debug message only if mode XXX was really active
|
| |
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
| |
darcs-hash:20070607161759-dae7b-023c6b52b229f5ef2c8cc5a049ed1ed8c1e597d6.gz
|
|
|
|
|
|
|
| |
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
|
|
|
|
| |
darcs-hash:20070419020736-dae7b-26878d3a45008f37a69f1b2788712112bfa98ed7.gz
|
|
|
|
|
|
|
| |
Calculate cctk_lbnd from dh, which includes ghost and refinement
zones, not from gh.
darcs-hash:20070312161819-dae7b-ea8ae04642abbc5be41560392eea77d560e94e96.gz
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
| |
Restructure and clean up modes.cc and modes.hh.
darcs-hash:20060925213356-dae7b-d07a28bcbf7bf4e606cd83c3da549b477a02bbfe.gz
|
|
|
|
|
|
|
| |
Store the number of active time levels explicitly for each refinement
level and convergence level.
darcs-hash:20060413192937-dae7b-579ddb7ae741d73bb8bf6e0c87a4bff1c18f7c46.gz
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
| |
darcs-hash:20060322152927-dae7b-28ae0e94c77a4f07faa85185960cc21d5536de06.gz
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
| |
Do not set timereflevelfact to "deadbeef" in global mode. This helps
time integration of grid arrays.
darcs-hash:20051010225009-891bb-578f9e151551fd924fefaa372c89c1182e39fd74.gz
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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 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
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
| |
darcs-hash:20050303101924-891bb-32d852a6fc338b52465ba0c29fed953eb4850e40.gz
|
|
|
|
| |
darcs-hash:20050303101914-891bb-4bd9006f6da972bb3a1d8d9a4a9127359bcf1a4d.gz
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
| |
darcs-hash:20050201214347-891bb-286c20316478d9f1c8384f94764174cab5adb9e0.gz
|
|
|
|
| |
darcs-hash:20050125141850-891bb-c5d5f1d5d91502662bd959a0b4abe8ba249f318f.gz
|
|
|
|
| |
darcs-hash:20050101162121-891bb-ac9d070faecc19f91b4b57389d3507bfc6c6e5ee.gz
|