Hi Miguel,

There is also the CartesianCoordinate thorn, which implements "Coordinates", 
but which just provides a Cartesian grid.  Would this be sufficient?

On 9 May 2019, at 00:31, Haas, Roland 
<[email protected]<mailto:[email protected]>> wrote:

Hello Miguel,

There may be two issues:

1. You do not have to inherit from Coordinates to use functions
provided by Coordinates.

2. You do however need to inherit to get easy access to the Jacobian
though. To avoid this you need to call the (low level) function
CCTK_VarDataPtr to get access to the Jacobian at runtime depending on
whether you want to use it. Then when you need an if statement based on
this decision to apply / not apply the Jacobian. This then is a bit
more complex.

Basically (this is inspired by McLachlan):

const CCTK_REAL *J11 = use_jacobian ?
 CCTK_VarDataPtr(cctkGH, 0, "Coordinates::J11") : NULL;
for(ijk) {
 CCTK_REAL phi_x = phi[i+1] - phi[i-1];
 CCTK_REAL phi_y = phi[j+1] - phi[j-1];
 if (use_jacobian) {
   // apply jacobian to derivatives (or so)
   CCTK_REAL Jac_phi_x = J11 * phi_x + J12 * phi_y;
   CCTK_REAL Jac_phi_y = J12 * phi_x + J22 * phi_y;
   phi_x = Jac_phi_x;
   phi_y = Jac_phi_y;
 }
}

Yours,
Roland

hi again,

i have a follow-up question regarding this. i'm following Roland's 
implementation of the WaveToy code with Llama, and i'm running into the 
following issue.

when i inherit the Coordinates thorn, the function 
MultiPatch_GetDomainSpecification becomes aliased, and this becomes a problem 
if i want to use the same thorn and *not* use Llama. in order words, when adding

 inherits: Coordinates

to a thorn's interface.ccl file, one then needs to activate the Coordinates 
thorn in the parfile upon running the code whether or not one wants to use 
Llama. but then, if multipatch is not used (ie, with 
Carpet::domain_from_coordbase = yes), the following error occurs:

  void Carpet::get_domain_specification(const cGH*, int, const ivect&,
  CarpetLib::rvect&, CarpetLib::rvect&, CarpetLib::rvect&): Assertion `not
  CCTK_IsFunctionAliased("MultiPatch_GetDomainSpecification")' failed.

is there a simple way of having a Llama-aware thorn which can also run without 
multipatch if so desired?

i've found a previous discussion with a similar issue 
(http://lists.einsteintoolkit.org/pipermail/users/2015-December/004656.html)
when using CTGamma, where the suggestion was to activate the thorn 
CTGamma/CartesianCoordinates when not using multipatch. i'm guessing that this 
thorn provides all the grid functions that Coordinates provides?

is this then the only solution, ie, creating a helper thorn with a "trivial" 
Coordinates implementation?

thanks,
Miguel

On 22/04/19 21:45, Miguel Zilhão wrote:
thanks Roland!
this should be enough to get me started. i'll report back if i run into any 
difficulty.

cheers,
Miguel

On 22/04/19 13:32, Haas, Roland wrote:
Hello Miguel,

I gave a tutorial on this (for a WaveToy code) at the NCSA ET meeting:

https://drive.google.com/open?id=0B4gNfWainf-5dGcxQzNuOUtEUFk

The code is (likely, given its name) in the the "rhaas/llama" branch of
the cactusexample repo:

cd repos/cactusexamples
git checkout rhaas/llama

should get them for you.

Yours,
Roland

hi all,

i have a few evolution codes that i would like to make Llama-aware. one of them 
would be the
LeanBSSNMoL thorn, that was included in the latest ET release.

is there a canonical procedure to do this, or any documentation that i should 
follow? i understand
that the main thing to change are the finite differencing operations... is 
there a standard way of
performing this change? or anything else i should be aware of?

thanks,
Miguel
_______________________________________________
Users mailing list
[email protected]
http://lists.einsteintoolkit.org/mailman/listinfo/users



_______________________________________________
Users mailing list
[email protected]<mailto:[email protected]>
http://lists.einsteintoolkit.org/mailman/listinfo/users




--
My email is as private as my paper mail. I therefore support encrypting
and signing email messages. Get my PGP key from http://pgp.mit.edu .
_______________________________________________
Users mailing list
[email protected]<mailto:[email protected]>
http://lists.einsteintoolkit.org/mailman/listinfo/users

--
Ian Hinder
Research Software Engineer
University of Manchester, UK

_______________________________________________
Users mailing list
[email protected]
http://lists.einsteintoolkit.org/mailman/listinfo/users

Reply via email to