#2735: EinsteinBase: storage declaration simplification
Reporter: Samuel Cupp
Status: new
Milestone: ET_2023_11
Version:
Type: enhancement
Priority: trivial
Component: EinsteinToolkit thorn
Comment (by Samuel Cupp):
The only question is whether we want to preserve the \(imo strange\) behavior of ADMBase and TmunuBase which ignores the requested timelevels if they aren’t initialized to zero. Zeroing can be an option, but to me it seems like enforcing it prevents people from using poisoning to notice bad behavior.
--
Ticket URL: https://bitbucket.org/einsteintoolkit/tickets/issues/2735/einsteinbase-stor…
#2735: EinsteinBase: storage declaration simplification
Reporter: Samuel Cupp
Status: new
Milestone: ET_2023_11
Version:
Type: enhancement
Priority: trivial
Component: EinsteinToolkit thorn
Currently, the various \*Base thorns declare storage like
```
if (timelevels == 1)
{
STORAGE: stress_energy_scalar[1]
STORAGE: stress_energy_vector[1]
STORAGE: stress_energy_tensor[1]
}
else if (timelevels == 2)
{
STORAGE: stress_energy_scalar[2]
STORAGE: stress_energy_vector[2]
STORAGE: stress_energy_tensor[2]
}
else if (timelevels == 3)
{
STORAGE: stress_energy_scalar[3]
STORAGE: stress_energy_vector[3]
STORAGE: stress_energy_tensor[3]
}
```
We can instead just say
```
STORAGE: stress_energy_scalar[timelevels]
STORAGE: stress_energy_vector[timelevels]
STORAGE: stress_energy_tensor[timelevels]
```
This, of course, will properly declare the storage depending on the parameter at runtime. As I understand the behavior, this also works for timelevels = 0.
--
Ticket URL: https://bitbucket.org/einsteintoolkit/tickets/issues/2735/einsteinbase-stor…
#2669: math is not rendered correctly in online docs
Reporter: Roland Haas
Status: new
Milestone:
Version: development version
Type: bug
Priority: major
Component: EinsteinToolkit website
Changes (by Roland Haas):
The mathjax \(so one hopes\) rendered math in thorndocs eg in [http://einsteintoolkit.org/thornguide/CactusNumerical/LocalReduce/documenta… is not being shown correctly. I \(firefox 102.5.0esr, Debian Linux/GNU\) am shown:

instead of the correct \(when I run `make LocalReduce-ThornDocHTML` on my laptop\):

This most likely is due to different tex4html engines in Ubuntu 20.04 \(the github documentation runner\) and Debian bullseye.
--
Ticket URL: https://bitbucket.org/einsteintoolkit/tickets/issues/2669/math-is-not-rende…
#2669: math is not rendered correctly in online docs
Reporter: Roland Haas
Status: new
Milestone:
Version: development version
Type: bug
Priority: major
Component: EinsteinToolkit website
Changes (by Roland Haas):
The mathjax \(so one hopes\) rendered math in thorndocs eg in [http://einsteintoolkit.org/thornguide/CactusNumerical/LocalReduce/documenta… is not being shown correctly. I \(firefox 102.5.0esr, Debian Linux/GNU\) am shown:

instead of the correct \(when I run `make LocalReduce-ThornDocHTML` on my laptop\):

This most likely is due to different tex4html engines in Ubuntu 20.04 \(the github documentation runner\) and Debian bullseye.
--
Ticket URL: https://bitbucket.org/einsteintoolkit/tickets/issues/2669/math-is-not-rende…
#1334: CCTK_CHECK_HEADER_LIB_FUNC adds library multiple times to $LIBS
Reporter: Frank Löffler
Status: new
Milestone:
Version: development version
Type: bug
Priority: minor
Component: Cactus
Comment (by Roland Haas):
One could try and beautify the library list by removing consecutive identical libraries `m m m` or similar, which may help a bit but is not guaranteed to remove all possible redundant duplicates.
--
Ticket URL: https://bitbucket.org/einsteintoolkit/tickets/issues/1334/cctk_check_header…
#1334: CCTK_CHECK_HEADER_LIB_FUNC adds library multiple times to $LIBS
Reporter: Frank Löffler
Status: new
Milestone:
Version: development version
Type: bug
Priority: minor
Component: Cactus
Comment (by Roland Haas):
As @{557058:cf051f66-042f-4a92-a2c7-f2be5a7912de} mentions, adding a library multiple times is harmless. Sometimes, for static linking, it is even required if there are two libraries that require functions from each other.
Eg. `libA` contains `funcA1` and `funcA2`. `funcA1` calls `funcB1` in `libB` which itself calls `funcA2` in `libA`. The way to link these correctly for static linking is `-lA -lB -lA` that is one has to repeat one \(or the other\) of the libraries since the linker acts on the library list only once and does so sequentially and will only include objects from a library that if it _already_ knows that the object is required when it processes the library file.
This may not be an issue for `CCTK_CHECK_HEADER_LIB_FUNC` if it only ever uses a single library, but would be an issue if it ever added two libraries since `-lA -lB -lA -lB` is not the same as `-lA -lB`.
--
Ticket URL: https://bitbucket.org/einsteintoolkit/tickets/issues/1334/cctk_check_header…