[Users] segfault with kerr initial data using IDAnalyticBH
Yosef Zlochower
yosef at astro.rit.edu
Thu Feb 24 08:58:33 CST 2011
Hi,
If initial_data=kerr and metric_type=physical, IDAnalyticBH
writes to psi[x-z] and psi[x-z][x-z] (it tries to set these
GFs to zero) even if no storage is
allocated. The problem is with the code
IDAnalyticBH_zero_CCTK_REAL_array(npoints, psix);
etc.., which is only executed when the metric is
physical.
I was able to use the Kerr data with the following patch,
but just deleting the offending lines should be sufficient.
--- Kerr.c 2011-02-10 09:08:58.000000000 -0500
+++ /tmp/Kerr.c 2011-02-23 18:15:38.000000000 -0500
@@ -103,6 +103,10 @@
conformal_storage); /*NOTREACHED*/
}
}
+ else
+ {
+ *conformal_state = 0;
+ }
/* printf("npoints: %i\n",npoints); */
@@ -311,15 +315,22 @@
}
IDAnalyticBH_zero_CCTK_REAL_array(npoints, gxz);
IDAnalyticBH_zero_CCTK_REAL_array(npoints, gyz);
- IDAnalyticBH_zero_CCTK_REAL_array(npoints, psix);
- IDAnalyticBH_zero_CCTK_REAL_array(npoints, psiy);
- IDAnalyticBH_zero_CCTK_REAL_array(npoints, psiz);
- IDAnalyticBH_zero_CCTK_REAL_array(npoints, psixx);
- IDAnalyticBH_zero_CCTK_REAL_array(npoints, psixy);
- IDAnalyticBH_zero_CCTK_REAL_array(npoints, psixz);
- IDAnalyticBH_zero_CCTK_REAL_array(npoints, psiyy);
- IDAnalyticBH_zero_CCTK_REAL_array(npoints, psiyz);
- IDAnalyticBH_zero_CCTK_REAL_array(npoints, psizz);
+
+ if (psix && *conformal_state < 2)
+ {
+ IDAnalyticBH_zero_CCTK_REAL_array(npoints, psix);
+ IDAnalyticBH_zero_CCTK_REAL_array(npoints, psiy);
+ IDAnalyticBH_zero_CCTK_REAL_array(npoints, psiz);
+ }
+ if (psixx && *conformal_state < 3)
+ {
+ IDAnalyticBH_zero_CCTK_REAL_array(npoints, psixx);
+ IDAnalyticBH_zero_CCTK_REAL_array(npoints, psixy);
+ IDAnalyticBH_zero_CCTK_REAL_array(npoints, psixz);
+ IDAnalyticBH_zero_CCTK_REAL_array(npoints, psiyy);
+ IDAnalyticBH_zero_CCTK_REAL_array(npoints, psiyz);
+ IDAnalyticBH_zero_CCTK_REAL_array(npoints, psizz);
+ }
}
return;
More information about the Users
mailing list