Hi All,
I am working with some piece of code based on a multipatch coordinate system (llama, http://dx.doi.org/10.1103/PhysRevD.83.044045). Currently, I'm interested in doing a test in a cubical kind of domain, that is, without the multipatch system. Closely following the qc0-mclachlan.par parameter file (ET_2014_05), I converted my multipatch parameter file to use the following: Carpet::domain_from_multipatch = "no" Carpet::domain_from_coordbase = yes CartGrid3D::type = "coordbase"
Unlike when using a multipatch sysytem, I've had to add the ReflectionSymmetry thorn in my thornlist for running on a cubical grid. The simulation is able to build successfully. But when running, it breaks with the following error from Carpet: cactus/arrangements/Carpet/Carpet/src/SetupGH.cc:1744: void Carpet::get_domain_specification(const cGH*, int, const ivect&, rvect&, rvect&, rvect&): Assertion `not CCTK_IsFunctionAliased ("MultiPatch_GetDomainSpecification")' failed.
Looking at the function that fails and a few ideas I got from the user mailing list, my naive thought is that this might possibly be an issue of cctk_lsh vs cctk_ash in Carpet. (e.g. http://lists.einsteintoolkit.org/pipermail/users/2014-October/003849.html). But I'm yet to test this idea. The code I'm working with uses cctk_lsh.
I would gladly appreciate help from anyone who could have an idea about this.
I'm using ET_2014_05 release of the EinsteinToolkit/Cactus. I have attached my test parameter file for viewing in case it will be useful in diagnosing the problem(s).
Thank you in advance for your kind assistance.
Regards, Dumsani
On 14 Dec 2015, at 17:14, dumsani g14n8326@campus.ru.ac.za wrote:
Hi All,
I am working with some piece of code based on a multipatch coordinate system (llama, http://dx.doi.org/10.1103/PhysRevD.83.044045). Currently, I'm interested in doing a test in a cubical kind of domain, that is, without the multipatch system. Closely following the qc0-mclachlan.par parameter file (ET_2014_05), I converted my multipatch parameter file to use the following: Carpet::domain_from_multipatch = "no" Carpet::domain_from_coordbase = yes CartGrid3D::type = "coordbase"
Unlike when using a multipatch sysytem, I've had to add the ReflectionSymmetry thorn in my thornlist for running on a cubical grid. The simulation is able to build successfully. But when running, it breaks with the following error from Carpet: cactus/arrangements/Carpet/Carpet/src/SetupGH.cc:1744: void Carpet::get_domain_specification(const cGH*, int, const ivect&, rvect&, rvect&, rvect&): Assertion `not CCTK_IsFunctionAliased ("MultiPatch_GetDomainSpecification")' failed.
Looking at the function that fails and a few ideas I got from the user mailing list, my naive thought is that this might possibly be an issue of cctk_lsh vs cctk_ash in Carpet. (e.g. http://lists.einsteintoolkit.org/pipermail/users/2014-October/003849.html). But I'm yet to test this idea. The code I'm working with uses cctk_lsh.
I would gladly appreciate help from anyone who could have an idea about this.
I'm using ET_2014_05 release of the EinsteinToolkit/Cactus. I have attached my test parameter file for viewing in case it will be useful in diagnosing the problem(s).
Thank you in advance for your kind assistance.
Hi Dumsani,
The relevant lines in Carpet, in SetupGH.c/get_domain_specification, require that if you set domain_from_coordbase, then you must not have the function MultiPatch_GetDomainSpecification available in an active thorn. In other words, you can't activate a thorn which provides multipatch at the same time as getting the domain from CoordBase. You have the Coordinates thorn active, which provides multipatch (or more specifically, it provides the aliased function MultiPatch_GetDomainSpecification), hence this error. You will need to remove Coordinates from your ActiveThorns.
At that point, it's possible that CTGamma will complain, because I think it requires some basic multipatch functionality. The thorn CTGamma/CartesianCoordinates is provided for this case, so if you run into problems after deactivating Coordinates, try activating CartesianCoordinates.
I attach an old parameter file which uses CTGamma on a Cartesian grid. I have not run this with the current version of the code, but it used to work at some point!
Hi Ian,
Thanks for your reply, the particularly the last portion of it.
I had already figured out that the assertion failure was due to requesting CoordBase to set the domain and at the same time have an aliased multipatch function trying to do the same. Removing the CTGamma/Coordinates thorn lead to a whole host of errors since most CTGamma thorns depend on (inherit) it. Hence I was also wondering which thorn to replace it with that provides a similar implementation. Your suggestion of CartesianCoordinates just provides the answer! I will try it and get back with feedback.
Regards, Dumsani
On 17/12/2015 12:55, Ian Hinder wrote:
On 14 Dec 2015, at 17:14, dumsani <g14n8326@campus.ru.ac.za mailto:g14n8326@campus.ru.ac.za> wrote:
Hi All,
I am working with some piece of code based on a multipatch coordinate system (llama, http://dx.doi.org/10.1103/PhysRevD.83.044045). Currently, I'm interested in doing a test in a cubical kind of domain, that is, without the multipatch system. Closely following the qc0-mclachlan.par parameter file (ET_2014_05), I converted my multipatch parameter file to use the following: Carpet::domain_from_multipatch = "no" Carpet::domain_from_coordbase = yes CartGrid3D::type = "coordbase"
Unlike when using a multipatch sysytem, I've had to add the ReflectionSymmetry thorn in my thornlist for running on a cubical grid. The simulation is able to build successfully. But when running, it breaks with the following error from Carpet: cactus/arrangements/Carpet/Carpet/src/SetupGH.cc http://SetupGH.cc:1744: void Carpet::get_domain_specification(const cGH*, int, const ivect&, rvect&, rvect&, rvect&): Assertion `not CCTK_IsFunctionAliased ("MultiPatch_GetDomainSpecification")' failed.
Looking at the function that fails and a few ideas I got from the user mailing list, my naive thought is that this might possibly be an issue of cctk_lsh vs cctk_ash in Carpet. (e.g. http://lists.einsteintoolkit.org/pipermail/users/2014-October/003849.html). But I'm yet to test this idea. The code I'm working with uses cctk_lsh.
I would gladly appreciate help from anyone who could have an idea about this.
I'm using ET_2014_05 release of the EinsteinToolkit/Cactus. I have attached my test parameter file for viewing in case it will be useful in diagnosing the problem(s).
Thank you in advance for your kind assistance.
Hi Dumsani,
The relevant lines in Carpet, in SetupGH.c/get_domain_specification, require that if you set domain_from_coordbase, then you must not have the function MultiPatch_GetDomainSpecification available in an active thorn. In other words, you can't activate a thorn which provides multipatch at the same time as getting the domain from CoordBase. You have the Coordinates thorn active, which provides multipatch (or more specifically, it provides the aliased function MultiPatch_GetDomainSpecification), hence this error. You will need to remove Coordinates from your ActiveThorns.
At that point, it's possible that CTGamma will complain, because I think it requires some basic multipatch functionality. The thorn CTGamma/CartesianCoordinates is provided for this case, so if you run into problems after deactivating Coordinates, try activating CartesianCoordinates.
I attach an old parameter file which uses CTGamma on a Cartesian grid. I have not run this with the current version of the code, but it used to work at some point!
-- Ian Hinder http://members.aei.mpg.de/ianhin
users@lists.einsteintoolkit.org