Modify

Opened 2 years ago

Last modified 2 years ago

#1961 new enhancement

Carpet treats prolongation_operator=none as prolongation_operator=sync

Reported by: Roland Haas Owned by: Erik Schnetter
Priority: minor Milestone:
Component: Carpet Version: development version
Keywords: Cc:

Description (last modified by Roland Haas)

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.

Attachments (0)

Change History (6)

comment:1 Changed 2 years ago by Frank Löffler

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).

comment:2 Changed 2 years ago by Roland Haas

Description: modified (diff)

comment:3 Changed 2 years ago by Roland Haas

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 :-).

comment:4 Changed 2 years ago by Erik Schnetter

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.

comment:5 in reply to:  4 Changed 2 years ago by Frank Löffler

Replying to 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.

comment:6 Changed 2 years ago by Roland Haas

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.

Modify Ticket

Change Properties
Set your email in Preferences
Action
as new The owner will remain Erik Schnetter.
Next status will be 'review'.
as The resolution will be set.
to The owner will be changed from Erik Schnetter to the specified user.
Next status will be 'confirmed'.
The owner will be changed from Erik Schnetter to anonymous.

Add Comment


E-mail address and name can be saved in the Preferences.

 
Note: See TracTickets for help on using tickets.