Modify

Opened 2 years ago

Last modified 2 years ago

#1932 reopened defect

ML_BSSN: other_timelevels Parameter Not Respected

Reported by: zachetie@… Owned by:
Priority: major Milestone:
Component: Other Version: development version
Keywords: Cc:

Description

At the Jun 27, 2016 ET telecon, we found the following bug in McLachlan/ML_BSSN:

Inside the ET_2016_05 ML_BSSN/schedule.ccl, you'll notice the following lines:
STORAGE: ML_Ham[timelevels]
STORAGE: ML_mom[timelevels]
STORAGE: ML_cons_detg[timelevels]
STORAGE: ML_cons_Gamma[timelevels]
STORAGE: ML_cons_traceA[timelevels]

in all of these lines, "timelevels" should be replaced by "other_timelevels".

This should result in significantly increased memory usage in the latest ML_BSSN (possibly at the 10-20% level), particularly in vacuum evolutions.

Related to this problem, I noticed that in a previous version of McLachlan (2015_05, where the above issue does not exist), all constraints are being stored in checkpoint files, despite having only one timelevel. ML_BSSN_Helper is supposed to overwrite the ML_BSSN/interface.ccl request to set the Checkpoint="no" tag.

Attachments (6)

qc0-mclachlan.par (16.2 KB) - added by Roland Haas 2 years ago.
summary.log (49.0 KB) - added by Roland Haas 2 years ago.
ml-gw1d-small-amr.log (62.1 KB) - added by Roland Haas 2 years ago.
ml-gw1d-small.log (60.3 KB) - added by Roland Haas 2 years ago.
testperiodicinterp.log (38.4 KB) - added by Roland Haas 2 years ago.
magnetizedTOV.log (89.8 KB) - added by Roland Haas 2 years ago.

Download all attachments as: .zip

Change History (16)

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

#1960 was marked as duplicate of this bug. It looks like a reasonable proposal to me to replace 'timelevels' by 'other_timelevels' in these cases. Concerning checkpointing: if other_timelevels is indeed 1, there is no need to store them. Would it be conceivable that someone might actually want to store them (and other_timelevels is set to a high enough value)?

comment:2 Changed 2 years ago by Roland Haas

Currently, when other_timelevels is 1 the code in ML_BSSN_Helper will disable checkpointing, prolongation and persistency. Though looking at the code at least the prolongation part is stated to be handled by Kranc itself (Erik and Ian would know details it seems).

comment:3 Changed 2 years ago by Erik Schnetter

Kranc should use other_timelevels for some grid functions, but it doesn't. This broke at some point, and should be corrected. Kranc's logic for which parameter to use for which grid functions is located at a rather low-level place, and I don't know how to pass the respective information there.

comment:4 Changed 2 years ago by Roland Haas

Status: newreview

comment:5 Changed 2 years ago by Erik Schnetter

This looks good; we should merge this. There might be fall-out in terms of parameter files that don't set other_timelevels correctly, so we should merge this now, not before the release.

comment:6 Changed 2 years ago by Roland Haas

Resolution: fixed
Status: reviewclosed

Applied as git hash fb4b813 of McLachlan.

comment:7 in reply to:  2 Changed 2 years ago by Roland Haas

Replying to rhaas:

Currently, when other_timelevels is 1 the code in ML_BSSN_Helper will disable checkpointing, prolongation and persistency. Though looking at the code at least the prolongation part is stated to be handled by Kranc itself (Erik and Ian would know details it seems).

I just tried this with the attached qc0_mclachlan.par file and Kranc (at least in the release branch where the comment appears) does not seem to turn off prolongation:

ERROR from host 127.0.0.1 process 0
  while executing schedule bin (none), routine (no thorn)::(no routine)
  in thorn CarpetLib, file configs/sim/build/CarpetLib/ggf.cc:334:
  -> The variable "ML_BSSN::cS" has only 1 active time levels, which is not enough for boundary prolongation of order 2

for this to happen one has to by hand modify schedule.ccl (for the release branch) and use "other_timelevels" for ML_Ham etc.

Last edited 2 years ago by Roland Haas (previous) (diff)

Changed 2 years ago by Roland Haas

Attachment: qc0-mclachlan.par added

comment:8 Changed 2 years ago by Roland Haas

Resolution: fixed
Status: closedreopened

comment:9 Changed 2 years ago by Erik Schnetter

Apparently Kranc does not yet handle this. We need to remove the respective "#if 0" in "mclachlan/m/prototype/ML_BSSN_Helper/src/SetGroupTags.c" to re-activate the mechanism there, then regenerate McLachlan.

Changed 2 years ago by Roland Haas

Attachment: summary.log added

Changed 2 years ago by Roland Haas

Attachment: ml-gw1d-small-amr.log added

Changed 2 years ago by Roland Haas

Attachment: ml-gw1d-small.log added

Changed 2 years ago by Roland Haas

Attachment: testperiodicinterp.log added

Changed 2 years ago by Roland Haas

Attachment: magnetizedTOV.log added

comment:10 Changed 2 years ago by Roland Haas

Hmm it seems https://bitbucket.org/einsteintoolkit/mclachlan/pull-requests/3/ml_bssn-use-other_timelevels-parameter-for/diff has already been applied (by me? I don't think I intended to).

Using it and the reactivated code in ML_BSSN_Helper the testsuite fails in four tests:

  • magnetizedTOV (from IllinoisGRMHD)
  • ml-gw1d-small (from PeriodicCarpet)
  • ml-gw1d-small-amr (from PeriodicCarpet)
  • testperiodicinterp (from PeriodicCarpet)

The CarpetPeriodic ones fail with a SEGFAULT while the IllinoisGRMHD one fails reporting missing time levels for time prolongation. I attach the log files of the 4 tests.

Modify Ticket

Change Properties
Set your email in Preferences
Action
as reopened The ticket will remain with no owner.
Next status will be 'review'.
as The resolution will be set.
to The owner will be changed from (none) to the specified user.
The owner will be changed from (none) to anonymous.

Add Comment


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

 
Note: See TracTickets for help on using tickets.