| Commit message (Collapse) | Author | Age |
| |
|
| |
|
| |
|
| |
|
|
|
|
|
| |
Use level regridding epoch to determine whether the interpolation
communication scheme has to be recreated.
|
| |
|
|
|
|
| |
Output initial grid structure in the same way as after regridding.
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
current request does not exist for one_file_per_group output
this is re #410:
--8<-- by Erik Schnetter --8<--
The corresponding code in CarpetIOHDF5.cc, which outputs data that are not
slices, uses the same algorithm. However, it contains an additional check
ensuring that a default request is used if the corresponding request does not
exist. Look for calls to IOUtil_DefaultIORequest to find this code. I believe
that an equivalent logic would correct this problem in OutputSlice.cc.
--8<-- by Erik Schnetter --8<--
|
|
|
|
|
|
| |
Keep track of the volume that is masked out by CarpetMask, and take
this volume into account when checking in CarpetReduce that the
integral over the simulation domain equals the domain volume.
|
|
|
|
|
|
|
| |
Modify the algorithm used to insert a new bbox into an existing
bboxset. This reduces the computational complexity of this operation
from O(n^2) to O(n), where n is the number of elements in the bboxset.
This has the potential to speed up regridding significantly.
|
| |
|
| |
|
|
|
|
|
|
|
|
|
| |
---
Carpet/CarpetIOASCII/doc/documentation.tex | 2 +-
Carpet/CarpetIOHDF5/doc/documentation.tex | 2 +-
Carpet/CarpetInterp/doc/documentation.tex | 2 +-
Carpet/CarpetReduce/doc/documentation.tex | 2 +-
4 files changed, 4 insertions(+), 4 deletions(-)
|
| |
|
|
|
|
|
|
|
|
| |
This parameter was removed in the past and is not used in current
Carpet. However, to stop old parameter files from breaking, we
reintroduce it. There is a warning in the param.ccl file that the
parameter is unused, but no warning at runtime. This is not a big
problem since poison is only used for debugging.
|
|
|
|
|
|
|
|
|
| |
The script CarpetIOASCII/src/util/Carpet2ygraph.pl (it is the same
both in the git and hg versions of Carpet) is not working anymore. I
modified it in order to be able again to produce different output for
the different refinement levels and now it can also work with more
than 9 refinement levels. I have attached my version and the diff with
the version in the repository.
|
| |
|
|
|
|
|
|
| |
Disable random-restart hill climbing by default, as this makes a
certain segfault vanish. (We don't know the cause of the segfault
yet.)
|
|
|
|
|
|
| |
this is analogous to b4429f4006e5 and makes sure that all restrictions happen
before routines in POSTRESTRICTINITIAL are called (which might trigger
prolongation when doing a SYNC, thus pulling data from coarser levels.)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Doxygen is a program which generates HTML documentation describing all
the files, functions and classes of a program based on the C++ source.
It uses comments in a particular format in the code. There is a search
box and a tree view for the classes, as well as links to HTML versions
of the source files. An example of the output is at
http://damiana2.aei.mpg.de/~ianhin/carpet-doc/
To generate the documentation, go into the root Carpet directory and
type "doxygen", assuming that doxygen is installed on the local
system. The documentation will be generated in a new carpet-doc
directory. Open the file carpet-doc/html/index.html to browse the
documentation.
It would be convenient to have the documentation generated in this way
made available on the Carpet web site and updated after each commit to
the repository. This patch provides a doxygen configuration file and a
header file for the main documentation page.
|
|
|
|
| |
prolongate_3d_cc_eno_rf2<T,3>
|
|
|
|
| |
also include explicit cast to int from pid_t
|
| |
|
|
|
|
|
|
|
| |
During regridding, there are two sets of component indices and process
numbers, namely those of the old and of the new grid structure.
Previously, Carpet would erroneously always use those of the new grid
structure; this fails when the number of components changes.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Modified version of Ian Hinder's and Justin Luitjens' code.
When a Cactus simulation aborts with a signal, it is often difficult to
determine which part of the code led to the problem. The attached patch
registers a signal handler on Carpet startup for signals 11 and 6
(segmentation fault and abort, e.g. from assert()) which outputs a stack
backtrace from each process to a file, including demangling symbol names. It
uses some low-level and possibly unofficial APIs, and is likely not completely
portable. However, I have tested it on Mac OS (gcc) and Linux (intel) and it
works in those places.
Part of this code was contributed by Justin Luitjens at the Carpet developers'
workshop in summer 2010.
|
|
|
|
|
|
| |
CarpetIOHDF5 already prints the iteration and time for periodic
checkpoints. This patch adds this to both of initial data checkpoints
(also after restart) and termination checkpoints.
|
| |
|
|
|
|
|
|
| |
map number
this hopefully fixes ticket #446
|
|
|
|
|
|
| |
* add warning to identify the faulty timer if a non-current timer is tried
to be stopped
* when stopping timer make sure it is the current one (by name)
|
| |
|
|
|
|
|
| |
Correct communication schedule for regridding prolongation for
cell-centred mesh refinement.
|
|
|
|
|
|
| |
For consistency reasons, CarpetReduce sets up the reduction mask
(weight function) partly using an integer bit field, partly using a
real-values mask. Introduce separate groups for each.
|
|
|
|
|
|
| |
Add new parameters Carpet::granularity and
Carpet::granularity_boundary to choose a certain granularity for the
process decomposition.
|
|
|
|
|
|
|
|
|
|
| |
Traverse postrestrict bin in correct order (i.e. coarsest to finest),
so that prolongation boundaries are applied consistently.
Traverse post_recover_variables in only for current timelevel (not for
all timelevels). Variables on past timelevels cannot have their
boundary conditions applied consistently, because time interpolation
for these may requires even older timelevels that are not available.
|
|
|
|
|
|
| |
When looping over timelevels, loop from past to future. In this way,
the values "left over" in variables that do not have timelevels are
the current values, which is more likely to be correct.
|
|
|
|
|
|
| |
When testing whether refined region has a rotating-90 or rotating-180
symmetry, ignore non-symmetries that are outside of the simulation
domain (because these are irrelevant).
|
|
|
|
| |
* added new cp/recovery par files for cell-centered case
|
|
|
|
|
|
|
|
|
|
| |
Correct the OpenMP parallelisation: Previously, when the loop size is
not a multiple of the block size assigned to each OpenMP thread, some
grid points would be traversed multiple times.
Add new parameter do_selftest that enables (somewhat expensive)
self-tests to ensure in each loop that each grid point is traversed
exactly once.
|
|
|
|
|
| |
Make selftest conditional on a new parameter do_selftest.
Use atomic OpenMP statements in selftest.
|
| |
|
| |
|
|
|
|
|
| |
Add a self-test that ensure that all loops cover each grid point
exactly once.
|
|
|
|
|
|
| |
Output CPU affinity at startup.
Output thread statistics at startup.
Output host name at startup.
|
| |
|
|
|
|
|
| |
Introduce a new parameter skip_recover_variables that skips recovery
on a set of variables.
|
| |
|
| |
|
|
|
|
| |
The previous commit had an error.
|