[Users] Help with Spritz + external FUKA/Kadath
Samuel Tootle
tootle at itp.uni-frankfurt.de
Fri Sep 5 01:21:23 CDT 2025
Hi Fatemeh,
In addition to Konrad's correct notes, I want to addresd the build issues:
> "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"
You are likely correct if there is a pre compiled version of Fuka with spritz. If the data was generated with the latest release (since June 25), there is a discrepancy with how the numerical domains are constructed and stored as noted in the Readme. Linking against the latest library should resolve the ndim error.
Regarding your cfg, I believe you have to use brackets, not parentheses, e.g. ${HOME_KADATH}, for the etk config parser to recognize environment variables.
All the best,
Samuel
Volunteer Physicist
Sep 5, 2025 08:04:51 Konrad Topolski <topolski at itp.uni-frankfurt.de>:
> 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/f6ea2f57/attachment-0001.htm>
More information about the Users
mailing list