handle vector groups of vectors correctly in Periodic, RotatingSymmetry90, RotatingSymmetry180, etc.

Create issue
Issue #1371 resolved
Roland Haas created an issue

I think only the RotatingSymmetry ones need work since Peridic does not need to know what type of object it acts on. See #1236

Keyword: RotatingSymmetry180RotatingSymmetry90

Comments (21)

  1. Roland Haas reporter
    • changed status to open
    • removed comment

    I attach in vectors90.patch a patch to support groups of vectors the same way reflectionsymmetry does. The parfile tests this with Luke Robert's thorn. It requires access to Zelmani. Please ignore the no_local_reductions90.patch file as I only uploaded that one accidentally.

    Please comment on whether this is an acceptable way of implementing the functionality (or whether we want a separate variable "tensorcomponent" rather than all the "/ tensorlength").

  2. Roland Haas reporter
    • changed status to open
    • removed comment

    A patch for rotatingsymmetry 180 is missing. The implementation for roatingsymmety90 has a bug in the symmetry interpolation code (boundary condition work fine).

  3. Roland Haas reporter
    • changed status to open
    • removed comment

    I added a patch to correct interpolation in rotatingsymmetry90, before it would have failed (triggered an assert) if multiple vector components were interpolated at the same time. There is a very helpful comment in the code just above the assert (interpolate.c lin 886) , many thanks to whoever put the comment there.

  4. Roland Haas reporter
    • marked as
    • removed comment

    bump priority since people are actually hit by this and I am no longer sure if the assert() catches all usage cases (eg it might not catch the case where only vel[1] is interpolated). The bug manifests itself as always interpolating the x component of vel[] even if vel[1] is requested.

  5. Roland Haas reporter
    • changed status to open
    • removed comment

    applied as rev90 of RotatingSymmetry90. Leaving ticket open to remind someone to implement the same code in RotatingSymmetry180.

  6. Roland Haas reporter

    A pull request for RotatingSymmetry180 is here the pull request also fixes a bug that made the "4scalar" tensortype unusable b/c the type was spelled as "4-scalar" in interpolate.c (it is spelled "4scalar" in RotatingSymmetry90 and in rotatingsymmetry180.c).

  7. Roland Haas reporter
    • changed status to open

    This breaks Hydro_Analysis which contains a group like this:

    CCTK_REAL foo[4] tags="tensortypealis='4u'"

  8. Log in to comment