Hi Fatemeh,
The thorns you've disabled in the thornlist are responsible for the import of the data in the ADMBase / Hydrobase variables and interact directly with the FUKA exporters (in the bundled/separate FUKA installation). As such, they are necessary to import FUKA ID and simultaneously independent of the thorns you use for subsequent evolution.
The kadathimport thorn provides the headers for the import functions for specific initial data, whose implementation is then linked from libkadath.a.
I would recommend that you uncomment the thorns in the thornlist, recompile (kadath library linking is still governed by the .cfg file, which shouldn't change) and re-enable the thorns in the parameter file so that they're active and the ETK can schedule the import routines in the appropriate bins.
I was actually unaware that bnsanalysis and related analysis thorns depend on the kadath importer thorns. Is this a custom extension or is it possible that some other thorn lists them as depencencies?
In any case, doing the above should help.
Best regards
Konrad
W dniu: Czwartek, Wrzesień 04, 2025 17:02 CEST, Fatemeh Hossein Nouri <f.h.noori@gmail.com> napisał(a):
Hi all,
I’ve been trying to run Spritz using initial data generated by the latest version of FUKA for a BNS simulation, but I’ve run into issues related to the Kadath libraries.
At first, I was getting a mismatch error (
Assertion ndim==nbr_points.get_ndim()), which suggests an incompatibility between Spritz’s bundled Kadath and the external version of FUKA/Kadath I used to generate the initial data.To fix this, I tried to build Spritz against my own external Kadath installation (
~/fuka/lib/libkadath.a) instead of the one bundled in the Einstein Toolkit. I did this by disabling these thorns in my thornlist: Fuka/kadath_pizza, Fuka/KadathImporter and Fuka/KadathThorn. I also added the following lines to my ET_2024_05/Cactus/simfactory/mdb/optionlists/<machine>.cfgKADATH_DIR = $(HOME)/fuka
KADATH_INC_DIRS = $(KADATH_DIR)/include
KADATH_LIB_DIRS = $(KADATH_DIR)/lib
One question so far: Did I do things correctly?
Then I removed the old Kadath:
rm -rf configs/Spritz_LORENE/build/Kadath
The code compiles fine, but when I try to run the executable with my parameter file, using the '-S' option, I get:
The confusing part is that my
ActiveThornsline in the.parfile does not explicitly listKadathThornorKadathImporter:Yet Spritz fails because those thorns are missing. From what I understand, some of the thorns I’m using (like
volomnia,bnstrackergen, orbnsanalysis) depend onKadathThornandKadathImporter, so they are indirectly required.The core problem:
- I need to keep
KadathThornandKadathImporteractive, since my parameter file requires them through dependencies.- But I also need them to link against my external Kadath (
~/fuka/lib/libkadath.a) so that the FUKA initial data is compatible.Would you have suggestions on the cleanest way to make the ET
KadathThornandKadathImporteruse my external Kadath library? Is there a recommended workflow for this?Thanks in advance for your help!
Bests,
Fatemeh Nouri