[Users] Help with Spritz + external FUKA/Kadath
Konrad Topolski
topolski at itp.uni-frankfurt.de
Fri Sep 5 01:04:31 CDT 2025
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 at 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>.cfg
KADATH_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: Error: Thorn kadathimporter not found
Error: Thorn kadaththorn not found
Activation failed - 2 errors in activation sequence
The confusing part is that my ActiveThorns line in the .par file does not explicitly list KadathThorn or KadathImporter: ActiveThorns = "volomnia bnstrackergen bnsanalysis pizzanumutils"
Yet Spritz fails because those thorns are missing. From what I understand, some of the thorns I’m using (like volomnia, bnstrackergen, or bnsanalysis) depend on KadathThorn and KadathImporter, so they are indirectly required.
The core problem:
- I need to keep KadathThorn and KadathImporter active, 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 KadathThorn and KadathImporter use my external Kadath library? Is there a recommended workflow for this?
Thanks in advance for your help!
Bests,
Fatemeh Nouri
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.einsteintoolkit.org/pipermail/users/attachments/20250905/d8f848a0/attachment.htm>
More information about the Users
mailing list