[ET Trac] #2902: CarpetX: interpolation with z-reflection symmetry only works for Psi4

Miren Radia trac-noreply at einsteintoolkit.org
Tue Nov 18 10:40:50 CST 2025


#2902: CarpetX: interpolation with z-reflection symmetry only works for Psi4

 Reporter: Miren Radia
   Status: submitted
Milestone: 
  Version: development version
     Type: bug
 Priority: major
Component: CarpetX

Currently the end of `CarpetX::interpolate` looks like this:

```c++
  // Apply symmetries to interpolated values
  assert(!reflection_x);
  assert(!reflection_y);
  assert(!reflection_upper_x);
  assert(!reflection_upper_y);
  assert(!reflection_upper_z);
  if (reflection_z) {
    // The code below is only valid for Psi4
    assert(nvars == 2);
    assert(varinds[0] == CCTK_VarIndex("Weyl::Psi4re"));
    assert(varinds[1] == CCTK_VarIndex("Weyl::Psi4im"));
    // l^a = et^a + er^a
    // n^a = et^a - er^a
    // m^a = etheta^a + i ephi^a
    // Psi4 = C_abcd m-bar^b n^b m-bar^c n^d
    for (int n = 0; n < npoints; ++n) {
      if (symmetry_reflected_z[n]) {
        resultptrs[0][n] = -resultptrs[0][n];
        resultptrs[1][n] = +resultptrs[1][n];
      }
    }
  }
```

\([link to source](https://github.com/EinsteinToolkit/CarpetX/blob/2cba1e969badbe8e6a11bacd6ac8b24595815b4b/CarpetX/src/interpolate.cxx#L891-L912)\)

These assertions are failed when you have z-reflection symmetry and try to interpolate different variables.

Note that has already been reported in [an issue in the CarpetX GitHub repo](https://github.com/EinsteinToolkit/CarpetX/issues/146) but I thought I’d open a ticket here given the lack of activity there.

--
Ticket URL: https://bitbucket.org/einsteintoolkit/tickets/issues/2902/carpetx-interpolation-with-z-reflection
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.einsteintoolkit.org/pipermail/trac/attachments/20251118/33ed9acb/attachment.htm>


More information about the Trac mailing list