#1516: using GRHydro::reconstruct_Wv with recon_method = WENO segfaults
-----------------------------------+----------------------------------------
Reporter: rhaas | Owner:
Type: defect | Status: new
Priority: major | Milestone:
Component: EinsteinToolkit thorn | Version: development version
Keywords: GRhydro backport |
-----------------------------------+----------------------------------------
revision 587 of GRHydro intoruced a regression and causes the code to
abort with a segfault if GRHydro::reconstruct_Wv = yes and
GRHydro:recon_method = WENO are both set.
The problem is access to an uninitialized pointer. The attached patch
removes the pointers and moves the function call using the pointer inside
of a set of if statements which makes the usage of pointer unnecessary.
--
Ticket URL: <https://trac.einsteintoolkit.org/ticket/1516>
Einstein Toolkit <http://einsteintoolkit.org>
The Einstein Toolkit
#1457: m=2 ftp coefficient for teukolsky waves in IDLinearWaves missing
-----------------------------------+----------------------------------------
Reporter: rhaas | Owner:
Type: defect | Status: new
Priority: major | Milestone:
Component: EinsteinToolkit thorn | Version: development version
Keywords: |
-----------------------------------+----------------------------------------
the theta-phi coefficient was not set at all and contained random data.
The patch implements the coefficient as found in Eq. 7 of PRD 26:745
(1982) which is the paper referenced in the docs.
--
Ticket URL: <https://trac.einsteintoolkit.org/ticket/1457>
Einstein Toolkit <http://einsteintoolkit.org>
The Einstein Toolkit
#1515: support Intel compilers in OpenSSL configure.sh
-----------------------------------+----------------------------------------
Reporter: rhaas | Owner:
Type: defect | Status: new
Priority: minor | Milestone:
Component: EinsteinToolkit thorn | Version: development version
Keywords: OpenSSL backport |
-----------------------------------+----------------------------------------
the configure script actively remove OpenMP flags from CFLAGS etc but only
searches for -fopenmp but not for -openmp as used by (older) intel
compilers.
The attached patch changes the used regular expression to fix this.
--
Ticket URL: <https://trac.einsteintoolkit.org/ticket/1515>
Einstein Toolkit <http://einsteintoolkit.org>
The Einstein Toolkit
#1291: Boundary does not check for storage
-----------------------------------+----------------------------------------
Reporter: eschnett | Owner:
Type: defect | Status: new
Priority: major | Milestone:
Component: EinsteinToolkit thorn | Version:
Keywords: |
-----------------------------------+----------------------------------------
I accidentally selected a variable for a flat boundary condition (with
thorn Boundary) without storage. This led to a segfault. Instead, thorn
Boundary should output an error message or a warning.
--
Ticket URL: <https://trac.einsteintoolkit.org/ticket/1291>
Einstein Toolkit <http://einsteintoolkit.org>
The Einstein Toolkit
#1514: Kranc's Differencing.h fails to compile if KRANC_DIFF_FUNCTIONS is defined
--------------------+-------------------------------------------------------
Reporter: rhaas | Owner: hinder
Type: defect | Status: new
Priority: minor | Milestone:
Component: Kranc | Version: development version
Keywords: |
--------------------+-------------------------------------------------------
the error is not passing the correct number of arguments:
{{{
In file included from
/mnt/data/rhaas/postdoc/gr/ET_trunk/configs/sim/build/ML_BSSN/ML_BSSN_Advect.cc:14:0:
/mnt/data/rhaas/postdoc/gr/ET_trunk/arrangements/McLachlan/ML_BSSN/src/Differencing.h:
In function 'double PDupwindNthfdOrder23_impl(const double*, double,
ptrdiff_t, ptrdiff_t, ptrdiff_t, ptrdiff_t, ptrdiff_t)':
/mnt/data/rhaas/postdoc/gr/ET_trunk/arrangements/McLachlan/ML_BSSN/src/Differencing.h:1043:56:
error: too few arguments to function 'double
PDupwindNthfdOrder22_impl(const double*, double, ptrdiff_t, ptrdiff_t,
ptrdiff_t, ptrdiff_t, ptrdiff_t)'
return PDupwindNthfdOrder22_impl(u, pm1o2dz, cdk, cdj);
^
/mnt/data/rhaas/postdoc/gr/ET_trunk/arrangements/McLachlan/ML_BSSN/src/Differencing.h:884:18:
note: declared here
static CCTK_REAL PDupwindNthfdOrder22_impl(const CCTK_REAL* restrict
const u, const CCTK_REAL pm1o2dy, const ptrdiff_t cdj, const ptrdiff_t
cdk, const ptrdiff_t dir1, const ptrdiff_t dir2, const ptrdiff_t dir3)
^
}}}
which indeed does not pass any of dir1 -- dir3.
Nothing currently uses KRANC_DIFF_FUNCTIONS however so this is a bug in
unused code.
To reproduce disable UseVectors in McLachlan_BSSN.m and add
{{{
#define KRANC_DIFF_FUNCTIONS
}}}
at the top of arrangements/McLachlan/ML_BSSN/src/Differencing.h once Kranc
finishes.
--
Ticket URL: <https://trac.einsteintoolkit.org/ticket/1514>
Einstein Toolkit <http://einsteintoolkit.org>
The Einstein Toolkit
#1513: git complains about old repo configuration
--------------------+-------------------------------------------------------
Reporter: knarf | Owner: eschnett
Type: defect | Status: new
Priority: minor | Milestone:
Component: Carpet | Version: development version
Keywords: |
--------------------+-------------------------------------------------------
On git push I see some warnings every time (see below). A short google
search suggested that this is a repository configuration problem (on the
remote side)
{{{
remote: WARNING: git repo-config is deprecated in favor of git config.
remote: WARNING: git repo-config is deprecated in favor of git config.
remote: WARNING: git repo-config is deprecated in favor of git config.
remote: WARNING: git repo-config is deprecated in favor of git config.
}}}
--
Ticket URL: <https://trac.einsteintoolkit.org/ticket/1513>
Einstein Toolkit <http://einsteintoolkit.org>
The Einstein Toolkit
#1469: Invalid integer parameters cause a confusing error message
--------------------+-------------------------------------------------------
Reporter: hinder | Owner:
Type: defect | Status: new
Priority: major | Milestone:
Component: Cactus | Version: development version
Keywords: |
--------------------+-------------------------------------------------------
If an integer-valued parameter is assigned a value such as
100000000000000000000000 which is too large to fit into an integer, the
Piraha parameter parser interprets it as a real and complains
{{{
(line 15 of sim.par):
-> Parameter type mismatch INT != REAL
}}}
This message is not very helpful. A better error message might be:
{{{
(line 15 of sim.par):
-> Parameter MyThorn::mypar cannot be set to the value
10000000000000000000 as this is not a valid INT value
}}}
--
Ticket URL: <https://trac.einsteintoolkit.org/ticket/1469>
Einstein Toolkit <http://einsteintoolkit.org>
The Einstein Toolkit
#1499: Error in synchronisation after restriction
--------------------+-------------------------------------------------------
Reporter: hinder | Owner: eschnett
Type: defect | Status: new
Priority: major | Milestone: ET_2014_05
Component: Carpet | Version: development version
Keywords: |
--------------------+-------------------------------------------------------
Carpet does not currently restrict into ghost points, and it does not
synchronise after restricting, as synchronisation is expected to be
performed by user thorns in MoL_PostStep at the same time as application
of boundary conditions, and MoL_PostStep is scheduled by MoL in
CCTK_POSTRESTRICT, which occurs after restriction.
Unfortunately, CCTK_POSTRESTRICT is traversed in the order coarse to fine,
whereas restriction happens fine to coarse, so the synchronisation applied
by the user thorns does not occur in the correct order. This leads to
incorrect data on the coarse grid. I noticed this when comparing output
in 3D between identical simulations run on different numbers of processes.
The simple fix is to synchronise after restricting on each level; this
ensures that the result is correct, but introduces a performance penalty
due to the additional sync. One optimisation is possible. Carpet
currently does not restrict into ghost zones, leading to the requirement
of a synchronisation after restriction. Carpet can be made to restrict
into ghost zones, but only if the restriction operator has a single-point
stencil (e.g. point-copying used in vertex-centered mesh refinement). If
this is the case, the sync after restriction is no longer necessary.
The branch
[[http://git.carpetcode.org/carpet.git/log/refs/heads/master..refs/heads/ianh…
| ianhinder/restrictsync]] implements these changes.
(aside: the CSS styling on git.carpetcode.org has been broken for a while)
1. Carpet: Add restriction sync test
Test data generated on 1 process. Test fails on 2 processes due to
lack of synchronisation in Carpet after restriction.
2. Carpet: Sync after restriction on each level
Synchronising in POSTRESTRICT (e.g. in MoL_PostStep) is not
sufficient, as there it happens coarse-to-fine, whereas it needs to
happen fine-to-coarse, like restriction.
This introduces an additional sync of all restricted variables, which
will have a performance impact. The coarse grid was, however,
incorrect before.
test_restrict_sync now passes on 1, 2 and 4 processes. It fails on 8
processes due to an additional blank line in the output which the test
system does not tolerate.
3. Carpet, CarpetLib: Restrict into ghost zones and skip sync after
restrict if not using higher order restriction
test_restrict_sync still passes on 1 and 2 processes
Notes:
* We could enable (3) via a parameter since it is an optimisation.
However, Erik believes the optimisation is always correct, and all the
tests continue to pass, so I am tentatively proposing that no additional
parameter is required.
* Can we make this sort of problem easier to detect? e.g. by poisoning
the ghost points which are not set by restriction? When relying on user
thorns to do something, can we poison the corresponding points first?
Thanks to Erik for helping to diagnose the problem and suggesting possible
fixes. ET test results unchanged on 1 and 2 processes.
Comments on the commits?
--
Ticket URL: <https://trac.einsteintoolkit.org/ticket/1499>
Einstein Toolkit <http://einsteintoolkit.org>
The Einstein Toolkit
#1369: Error link doesn't work on Mac
---------------------+------------------------------------------------------
Reporter: sbrandt | Owner: sbrandt
Type: defect | Status: new
Priority: major | Milestone: Cactus_4.3.0
Component: Mojave | Version:
Keywords: |
---------------------+------------------------------------------------------
Error link doesn't work on Mac
--
Ticket URL: <https://trac.einsteintoolkit.org/ticket/1369>
Einstein Toolkit <http://einsteintoolkit.org>
The Einstein Toolkit
#1498: GRHydro_InitData: add parameter for pressure term in poloidal field
configuration
-----------------------------------+----------------------------------------
Reporter: knarf | Owner:
Type: enhancement | Status: new
Priority: minor | Milestone:
Component: EinsteinToolkit thorn | Version: development version
Keywords: |
-----------------------------------+----------------------------------------
The attached patch adds a parameter for an exponent of the pressure term
in a poloidal magnetic field configuration. The default is set to 1,
maintaining current status. The testsuite using this still passes after
applying this patch, with identical files. Once this patch has been
applied, there will be a second testsuite added setting the new parameter
to something else than the default (but otherwise similar to the now
existing one).
--
Ticket URL: <https://trac.einsteintoolkit.org/ticket/1498>
Einstein Toolkit <http://einsteintoolkit.org>
The Einstein Toolkit