Carpet treats prolongation_operator=none as prolongation_operator=sync

Create issue
Issue #1961 new
Roland Haas created an issue

Currently Carpet treats a user set prolongation operator of "none" the same as "sync" (see line 2187 of SetupGH.cc in the get_transport_operator routine:

  if (CCTK_Equals(prolong_string, "none")) {
    // This would surprise too many people
    // return op_none;
    return op_sync;
  } else if (CCTK_Equals(prolong_string, "sync")) {
    return op_sync;

It would however sometimes be useful to actually have a prolongation operator that does nothing so that one can leave in the SYNC statements in the schedule (which cannot be made conditional) and switch a variable from being correctly computed everywhere to being correct only in the interior of the components if this variable is eg only for diagnostics and one can avoid inspecting the incorrect values at the borders.

I would thus like to introduce a new prolongation operator string "no_synchronization" that should do what "none" claimed to do and would internally actually be translated into op_none. Or alternative make "none" map to "op_none" again but then this may surprise people once more.

Keyword:

Comments (6)

  1. Frank Löffler
    • removed comment

    I think this is a good idea, just make the name 'no_sync' to be in sync with 'sync'. :)

    On another note: if 'none' and 'sync' are the same, we should deprecate one of them.

    btw: you left out a line in your quote (the return op_sync; in the first if branch).

  2. Roland Haas reporter
    • removed comment

    I fixed the quote. I want a very descriptive operator that makes it clear that there is no communication whatsoever. Apparently "none" did not convey that information since probably people assumed "no prolongation". So maybe even "no_communication" or "no_sync_or_prolongation_or_restriction". All are awkward or possibly misleading. There is no need to deprecate any of them since they are all undocumented anyway :-).

  3. Erik Schnetter
    • removed comment

    Use no_prolongation_and_no_restriction_and_no_sync_and_i_really_mean_it_so_dont_change_the_meaning_of_this_setting_just_to_appease_some_people_ever.

  4. Frank Löffler
    • removed comment

    Replying to [comment:4 eschnett]:

    Use no_prolongation_and_no_restriction_and_no_sync_and_i_really_mean_it_so_dont_change_the_meaning_of_this_setting_just_to_appease_some_people_ever.

    Now I really wish there would be a "like" button in trac.

  5. Roland Haas reporter
    • removed comment

    Very good. Since Erik is the main author we now have a name for the new parameter and I will go ahead and implement this.

  6. Log in to comment