[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