Erik
The patch I sent earlier was incomplete. I also realized that setting `-DCARPET_ALL_REAL` does not work.
A working version (i.e. a version that can be compiled) is now in the branch `https://bitbucket.org/eschnett/carpet/branch/eschnett/all-types%60.
-erik
On Wed, Jan 17, 2024 at 7:52 PM Erik Schnetter schnetter@gmail.com wrote:
Erik
The attached patch should correct the problems you're seeing. Please let me know if this works; if so, we will need to create a proper pull request.
-erik
On Wed, Jan 17, 2024 at 9:53 AM Erik Schnetter schnetter@gmail.com wrote:
Erik
In principle both CCTK_REAL4 and CCTK_REAL8 should be supported. CCTK_REAL16 never worked well because compilers disagree about its layout and size.
(Integer types other than CCTK_INT4 should also be supported.)
To reduce compile time we then added the flags to disable support for some of these types. It might be that this has bit-rotted and that some newer code doesn't support CCTK_REAL4. It should be "straightforward but tedious" to correct this.
I will have a brief look but might not have the time to correct all problems.
-erik
On Wed, Jan 17, 2024 at 9:41 AM Erik Keoni Wessel ekwessel@arizona.edu wrote:
Hi, I'm currently working on a thorn development project where it would be helpful to be able to have a mix of single-precision grid functions and double-precision grid functions (a very unusual need, I know).
When I had my thorn allocate a grid function of type CCTK_REAL4, I got a message upon running my configurations that I needed to enable support for this type in Carpet. After reading through the Carpet documentation and then digging deep into the source code for CarpetLib, I discovered that there seem to be flags to compile Carpet with support for different types. I passed -DCARPET_ALL_REAL in as part of CPPFLAGS in my optionlist, but attempting to compile with other real types leads to compile-time errors about undefined functions: apparently headers for prolongation functions for all the types are generated, but somehow the corresponding definitions aren't being be linked correctly.
I'm not sure what is going wrong, but I am also unable to find any examples of how support for other types is supposed to be enabled, so I am unsure if I am doing this right.
So my question is: what is the status of support for grid functions of types besides CCTK_REAL8 in Carpet? Does this feature work, and if so, how can I enable support for all Cactus-supported real types in Carpet?
Cheers,
— Erik Wessel Department of Physics University of Arizona _______________________________________________ Users mailing list Users@einsteintoolkit.org http://lists.einsteintoolkit.org/mailman/listinfo/users
-- Erik Schnetter schnetter@gmail.com http://www.perimeterinstitute.ca/personal/eschnetter/
-- Erik Schnetter schnetter@gmail.com http://www.perimeterinstitute.ca/personal/eschnetter/