Hidden hard-coded limits on max_l_modes and max_vars in Multipole

Issue #1481 resolved
Bernard Kelly created an issue

The EinsteinAnalysis/Multipole thorn has hard-coded limits (in src/multipole.cc) on the number of grid functions that can be decomposed (max_vars) and how high in polar quantum number this decomposition can go (max_l_modes). However, these are not reflected in the thorn's param.ccl.

In fact, param.ccl contains a parameter "l_max", allowing it to be any positive value, and doesn't test this against max_l_modes until execution of this source. Wouldn't it make more sense to impose max_l_modes immediately at PARAMCHECK?

To make the actual limit on interpolated functions explicit, a number of desired interpolants could be set in param.ccl (like "n_variables") --- limited if necessary to a hard-coded number that appears as a limit in the range. If the user tries to set n_variables too high, it gets caught at PARAMCHECK; if (s)he accidentally includes too many entries in the "variables" parameter, the extra ones would just be silently ignored.

Keyword: Multipole

Comments (14)

  1. Roland Haas

    I have added a limit of at most 10 modes to param.ccl and a comment about the fact that one 10 variables are allowed in git hash d4f9f9d8 "Multipole: add information about hard-coded limits" of einsteinanalysis

    Related to #2195 which has some comments on how to partially fix it.

  2. Roland Haas

    @Bernard Kelly are you interested in reviewing this? It would give you unlimited modes and variables in Multipole.

  3. Log in to comment