[Users] debugging kranc .m

Ian Hinder ian.hinder at aei.mpg.de
Tue Aug 11 09:45:13 CDT 2015


On 11 Aug 2015, at 15:07, Comer Duncan <comer.duncan at gmail.com> wrote:

> Hi Ian,
> 
> Yes, I have a recurring error which I can't track down. In fact there are probably several things wrong with the script.  I am attaching the script BrillAnalytic.m and BrillAnalytic.err.  I can not seem to locate a missing paren or bracket or brace.  vi tells me that there is a mismatch of 1 in the occurrence of a '[' and a ']' .  Also I am not at all sure that I have configured the calculation of TrRicci correctly.  On one hand I specify gxx,gxy,gxz, etc but never associate these expressions with g[la,lb].  I guess I don't understand well enough the working of Kranc.  Thanks for taking a look!

Hi Comer,

Observations in the order I have them:

You can't define q[rho1_,zcyl_] in the way that you have, inside the calculation.  The mathematica expression f[x_] := y has the effect of defining the function f, but returns Null.  So you effectively have 

    epsi -> one,
    Null,
    rho1 -> Sqrt[x*x + y*y],

in your calculation.  Just move this to outside the calculation.

Get["KrancThorn`]"; should be Get["KrancThorn`"];  *that* was a subtle mistake!  I commented out the whole of the rest of the file before I found it! The issue is that the closing parenthesis is inside the string (before the ") so Mathematica thinks the whole of the rest of the file is inside the Get[], and when it reaches the end of the file, it complains that the Get hasn't been terminated.  This is your main error.

1/detg detgExpr is indeed 1.  However, detg is calculated from g only once, rather than in every component of gu, so it is more efficient.

You need to define g as a tensor.  Anything which is used as a tensor in the .m file needs to be defined as a tensor with DefineTensor.  This is the cause of the RecursionLimit errors, which happen in MatrixInverse.  Kranc could in fact detect this; I am thinking about how to add such a check.

The standard 3+1 metric variables are defined in the ADMBase thorn, and are called gxx, gxy, etc.  Kranc needs tensors to be called g11, g12, etc, so we usually just redefine these components: g11=gxx; g21=gxy; g22=gyy; g31=gxz; g32=gyz; g33=gzz

You might want to take a look at 

https://bitbucket.org/einsteintoolkit/einsteinanalysis/src/master/WeylScal4/m/WeylScal4.m

which is a thorn for computing the Weyl scalars from the ADMBase variables, which is similar to what you are trying to do in TrRicciCalc.

-- 
Ian Hinder
http://members.aei.mpg.de/ianhin

-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.einsteintoolkit.org/pipermail/users/attachments/20150811/8438f96e/attachment.html 


More information about the Users mailing list