[Cactuseinstein] IDAnalyticBH -- making Kerr.c a bit more robust
Bernard Kelly
kelly at phys.utb.edu
Thu Dec 16 15:03:32 CST 2004
Hi.
This may be something that only affects me, but would it be possible to
alter the analytic BH data thorns to protect against pathological values
on the coordinate origin and axes?
In particular, I have "Kerr.c" in mind. I've been using it with
"avoid_origin = 'no'", and it doesn't like on-axis points. This could be
fixed by adding a minimum (small) to a particular variable -- "rho_2" --
which would then propagate through the remaining values. Later
calculations of analytic derivatives (of the conformal factor) would
have to be slightly rewritten to avoid pathologies.
To be specific, the few changes below allow me to work on-axis and do
pointwise convergence tests. Could something like this be implemented in
CactusEinstein? It should have no adverse effects on existing off-axis
calculations.
Bernard
******************** suggested code changes in Kerr.c ***************
#define Max(x,y) (x>y)? x:y // NEW CODE
[...]
CCTK_REAL tmp2; // NEW CODE
[...]
rho_2=xx*xx+yy*yy;
rho_2 = Max(1.e-10,rho_2); // NEW CODE
[...]
if(make_conformal_derivs)
{
[...]
tmp2 = zz/rho/R_2; // NEW CODE
tmp=2/R_2+1/rho_2;
// OLD CODE: d2qdxx=dqdx*(1/xx-xx*tmp);
d2qdxx=tmp_BEAN * ( 1. - xx * xx * tmp); // NEW
d2qdxy=-dqdx*yy*tmp;
// OLD CODE: d2qdyy=dqdy*(1/yy-yy*tmp);
d2qdyy=tmp_BEAN * ( 1. - yy * yy * tmp); // NEW
d2qdzz=-2*dqdz*zz/R_2;
// OLD CODE: tmp=2/R_2-1/zz/zz;
// OLD CODE: d2qdxz=-zz*dqdx*tmp;
d2qdxz= (xx/rho/R_2) * (1. - 2.*zz*zz/R_2); // NEW
// OLD CODE: d2qdyz=-zz*dqdy*tmp;
d2qdyz= (yy/rho/R_2) * (1. - 2.*zz*zz/R_2); // NEW
--
------------------------------------------------------------------------
Bernard Kelly * C.G.W.A. * University of Texas at Brownsville
Hedley Lamarr: My mind is a raging torrent, flooded with rivulets of
thought cascading into a waterfall of creative alternatives.
-- Blazing Saddles (1974)
------------------------------------------------------------------------
More information about the Cactuseinstein
mailing list