aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorjthorn <jthorn@6a3ddf76-46e1-4315-99d9-bc56cac1ef84>2003-03-24 13:31:01 +0000
committerjthorn <jthorn@6a3ddf76-46e1-4315-99d9-bc56cac1ef84>2003-03-24 13:31:01 +0000
commitcb6d5b1e2cfd358471f5a3df47cc98b437eb49bb (patch)
treecc83cb0029ba14e0aee07a7255faf1f2dac8e6eb
parentceff4da9c00df3cf482cbbcfb2d447e9ee3eb7d0 (diff)
Change from using memset() to using a new function
IDAnalyticBH_zero_CCTK_REAL_array() when setting a grid array to all zeros. This is necessary because memset() gives all bits 0, but we want floating point (CCTK_REAL) 0.0, which might be a different bit pattern. git-svn-id: http://svn.einsteintoolkit.org/cactus/EinsteinInitialData/IDAnalyticBH/trunk@126 6a3ddf76-46e1-4315-99d9-bc56cac1ef84
-rw-r--r--src/BrillLindquist.c32
-rw-r--r--src/IDAnalyticBH.h11
-rw-r--r--src/Kerr.c24
-rw-r--r--src/Misner_multiple.c20
-rw-r--r--src/Misner_standard.c38
-rw-r--r--src/Schwarzschild.c14
-rw-r--r--src/make.code.defn3
-rw-r--r--src/misc.c37
8 files changed, 119 insertions, 60 deletions
diff --git a/src/BrillLindquist.c b/src/BrillLindquist.c
index f0ecacd..74b56e6 100644
--- a/src/BrillLindquist.c
+++ b/src/BrillLindquist.c
@@ -16,6 +16,8 @@
#include "cctk_Arguments.h"
#include "cctk_Parameters.h"
+#include "IDAnalyticBH.h"
+
static const char *rcsid = "$Header$";
CCTK_FILEVERSION(CactusEinstein_IDAnalyticBH_BrillLindquist_c)
@@ -102,18 +104,18 @@ void BrillLindquist(CCTK_ARGUMENTS)
if (make_conformal_derivs == 1)
{
- memset (psix, 0, npoints * sizeof (CCTK_REAL));
- memset (psiy, 0, npoints * sizeof (CCTK_REAL));
- memset (psiz, 0, npoints * sizeof (CCTK_REAL));
+ IDAnalyticBH_zero_CCTK_REAL_array(npoints, psix);
+ IDAnalyticBH_zero_CCTK_REAL_array(npoints, psiy);
+ IDAnalyticBH_zero_CCTK_REAL_array(npoints, psiz);
if(*conformal_state > 2)
{
- memset (psixx, 0, npoints * sizeof (CCTK_REAL));
- memset (psixy, 0, npoints * sizeof (CCTK_REAL));
- memset (psixz, 0, npoints * sizeof (CCTK_REAL));
- memset (psiyy, 0, npoints * sizeof (CCTK_REAL));
- memset (psiyz, 0, npoints * sizeof (CCTK_REAL));
- memset (psizz, 0, npoints * sizeof (CCTK_REAL));
+ 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);
}
}
@@ -231,10 +233,10 @@ void BrillLindquist(CCTK_ARGUMENTS)
/* Time-symmetric data
* -------------------
*/
- memset (kxx, 0, npoints * sizeof (CCTK_REAL));
- memset (kyy, 0, npoints * sizeof (CCTK_REAL));
- memset (kzz, 0, npoints * sizeof (CCTK_REAL));
- memset (kxy, 0, npoints * sizeof (CCTK_REAL));
- memset (kxz, 0, npoints * sizeof (CCTK_REAL));
- memset (kyz, 0, npoints * sizeof (CCTK_REAL));
+ IDAnalyticBH_zero_CCTK_REAL_array(npoints, kxx);
+ IDAnalyticBH_zero_CCTK_REAL_array(npoints, kxy);
+ IDAnalyticBH_zero_CCTK_REAL_array(npoints, kxz);
+ IDAnalyticBH_zero_CCTK_REAL_array(npoints, kyy);
+ IDAnalyticBH_zero_CCTK_REAL_array(npoints, kyz);
+ IDAnalyticBH_zero_CCTK_REAL_array(npoints, kzz);
}
diff --git a/src/IDAnalyticBH.h b/src/IDAnalyticBH.h
new file mode 100644
index 0000000..79dfe44
--- /dev/null
+++ b/src/IDAnalyticBH.h
@@ -0,0 +1,11 @@
+ /*@@
+ @file IDAnalyticBH.h
+ @date 23.Mar.2003
+ @author Jonathan Thornburg <jthorn@aei.mpg.de>
+ @desc Overall header file for this thorn; defines prototypes
+ externally visible routines.
+ @enddesc
+ @version $Header$
+ @@*/
+
+void IDAnalyticBH_zero_CCTK_REAL_array(int N, CCTK_REAL A[]);
diff --git a/src/Kerr.c b/src/Kerr.c
index 4854224..7527552 100644
--- a/src/Kerr.c
+++ b/src/Kerr.c
@@ -17,6 +17,8 @@
#include "cctk_Arguments.h"
#include "cctk_Parameters.h"
+#include "IDAnalyticBH.h"
+
static const char *rcsid = "$Header$";
CCTK_FILEVERSION(CactusEinstein_IDAnalyticBH_Kerr_c)
@@ -299,17 +301,17 @@ void KerrID(CCTK_ARGUMENTS)
gzz[i] *= tmp;
psi[i] = 1;
}
- memset (gxz, 0, npoints * sizeof (CCTK_REAL));
- memset (gyz, 0, npoints * sizeof (CCTK_REAL));
- memset (psix, 0, npoints * sizeof (CCTK_REAL));
- memset (psiy, 0, npoints * sizeof (CCTK_REAL));
- memset (psiz, 0, npoints * sizeof (CCTK_REAL));
- memset (psixx, 0, npoints * sizeof (CCTK_REAL));
- memset (psixy, 0, npoints * sizeof (CCTK_REAL));
- memset (psixz, 0, npoints * sizeof (CCTK_REAL));
- memset (psiyy, 0, npoints * sizeof (CCTK_REAL));
- memset (psiyz, 0, npoints * sizeof (CCTK_REAL));
- memset (psizz, 0, npoints * sizeof (CCTK_REAL));
+ 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);
}
return;
diff --git a/src/Misner_multiple.c b/src/Misner_multiple.c
index 531040e..ebb7c34 100644
--- a/src/Misner_multiple.c
+++ b/src/Misner_multiple.c
@@ -15,6 +15,8 @@
#include "cctk_Arguments.h"
#include "cctk_Parameters.h"
+#include "IDAnalyticBH.h"
+
static const char *rcsid = "$Header$";
CCTK_FILEVERSION(CactusEinstein_IDAnalyticBH_Misner_multiple_c)
@@ -198,19 +200,19 @@ void Misner_multiple(CCTK_ARGUMENTS)
gzz[i] = gxx[i];
}
}
- memset (gxy, 0, npoints * sizeof (gxy [0]));
- memset (gxz, 0, npoints * sizeof (gxz [0]));
- memset (gyz, 0, npoints * sizeof (gyz [0]));
+ IDAnalyticBH_zero_CCTK_REAL_array(npoints, gxy);
+ IDAnalyticBH_zero_CCTK_REAL_array(npoints, gxz);
+ IDAnalyticBH_zero_CCTK_REAL_array(npoints, gyz);
/* Time-symmetric data
* -------------------
*/
- memset (kxx, 0, npoints * sizeof (kxx [0]));
- memset (kyy, 0, npoints * sizeof (kyy [0]));
- memset (kzz, 0, npoints * sizeof (kzz [0]));
- memset (kxy, 0, npoints * sizeof (kxy [0]));
- memset (kxz, 0, npoints * sizeof (kxz [0]));
- memset (kyz, 0, npoints * sizeof (kyz [0]));
+ IDAnalyticBH_zero_CCTK_REAL_array(npoints, kxx);
+ IDAnalyticBH_zero_CCTK_REAL_array(npoints, kxy);
+ IDAnalyticBH_zero_CCTK_REAL_array(npoints, kxz);
+ IDAnalyticBH_zero_CCTK_REAL_array(npoints, kyy);
+ IDAnalyticBH_zero_CCTK_REAL_array(npoints, kyz);
+ IDAnalyticBH_zero_CCTK_REAL_array(npoints, kzz);
}
diff --git a/src/Misner_standard.c b/src/Misner_standard.c
index adde16b..cb14618 100644
--- a/src/Misner_standard.c
+++ b/src/Misner_standard.c
@@ -21,6 +21,8 @@
#include "cctk_Arguments.h"
#include "cctk_Parameters.h"
+#include "IDAnalyticBH.h"
+
static const char *rcsid = "$Header$";
CCTK_FILEVERSION(CactusEinstein_IDAnalyticBH_Misner_standard_c)
@@ -111,18 +113,18 @@ void Misner_standard(CCTK_ARGUMENTS)
*/
if (make_conformal_derivs)
{
- memset (psix, 0, npoints * sizeof (CCTK_REAL));
- memset (psiy, 0, npoints * sizeof (CCTK_REAL));
- memset (psiz, 0, npoints * sizeof (CCTK_REAL));
+ IDAnalyticBH_zero_CCTK_REAL_array(npoints, psix);
+ IDAnalyticBH_zero_CCTK_REAL_array(npoints, psiy);
+ IDAnalyticBH_zero_CCTK_REAL_array(npoints, psiz);
if(*conformal_state > 2)
{
- memset (psixx, 0, npoints * sizeof (CCTK_REAL));
- memset (psixy, 0, npoints * sizeof (CCTK_REAL));
- memset (psixz, 0, npoints * sizeof (CCTK_REAL));
- memset (psiyy, 0, npoints * sizeof (CCTK_REAL));
- memset (psiyz, 0, npoints * sizeof (CCTK_REAL));
- memset (psizz, 0, npoints * sizeof (CCTK_REAL));
+ 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);
}
}
@@ -259,19 +261,19 @@ void Misner_standard(CCTK_ARGUMENTS)
gzz[i] = gxx[i];
}
}
- memset (gxy, 0, npoints * sizeof (CCTK_REAL));
- memset (gxz, 0, npoints * sizeof (CCTK_REAL));
- memset (gyz, 0, npoints * sizeof (CCTK_REAL));
+ IDAnalyticBH_zero_CCTK_REAL_array(npoints, gxy);
+ IDAnalyticBH_zero_CCTK_REAL_array(npoints, gxz);
+ IDAnalyticBH_zero_CCTK_REAL_array(npoints, gyz);
/* Time-symmetric data
* -------------------
*/
- memset (kxx, 0, npoints * sizeof (CCTK_REAL));
- memset (kyy, 0, npoints * sizeof (CCTK_REAL));
- memset (kzz, 0, npoints * sizeof (CCTK_REAL));
- memset (kxy, 0, npoints * sizeof (CCTK_REAL));
- memset (kxz, 0, npoints * sizeof (CCTK_REAL));
- memset (kyz, 0, npoints * sizeof (CCTK_REAL));
+ IDAnalyticBH_zero_CCTK_REAL_array(npoints, kxx);
+ IDAnalyticBH_zero_CCTK_REAL_array(npoints, kxy);
+ IDAnalyticBH_zero_CCTK_REAL_array(npoints, kxz);
+ IDAnalyticBH_zero_CCTK_REAL_array(npoints, kyy);
+ IDAnalyticBH_zero_CCTK_REAL_array(npoints, kyz);
+ IDAnalyticBH_zero_CCTK_REAL_array(npoints, kzz);
if (csch)
{
diff --git a/src/Schwarzschild.c b/src/Schwarzschild.c
index 4fc33dd..a29d4b7 100644
--- a/src/Schwarzschild.c
+++ b/src/Schwarzschild.c
@@ -15,6 +15,8 @@
#include "cctk_Arguments.h"
#include "cctk_Parameters.h"
+#include "IDAnalyticBH.h"
+
static const char *rcsid = "$Header$";
CCTK_FILEVERSION(CactusEinstein_IDAnalyticBH_Schwarzschild_c)
@@ -113,10 +115,10 @@ void Schwarzschild(CCTK_ARGUMENTS)
}
/* time symmetric initial slice */
- memset (kxx, 0, npoints * sizeof (CCTK_REAL));
- memset (kxy, 0, npoints * sizeof (CCTK_REAL));
- memset (kxz, 0, npoints * sizeof (CCTK_REAL));
- memset (kyy, 0, npoints * sizeof (CCTK_REAL));
- memset (kyz, 0, npoints * sizeof (CCTK_REAL));
- memset (kzz, 0, npoints * sizeof (CCTK_REAL));
+ IDAnalyticBH_zero_CCTK_REAL_array(npoints, kxx);
+ IDAnalyticBH_zero_CCTK_REAL_array(npoints, kxy);
+ IDAnalyticBH_zero_CCTK_REAL_array(npoints, kxz);
+ IDAnalyticBH_zero_CCTK_REAL_array(npoints, kyy);
+ IDAnalyticBH_zero_CCTK_REAL_array(npoints, kyz);
+ IDAnalyticBH_zero_CCTK_REAL_array(npoints, kzz);
}
diff --git a/src/make.code.defn b/src/make.code.defn
index 6cb6870..f3a60c2 100644
--- a/src/make.code.defn
+++ b/src/make.code.defn
@@ -8,7 +8,8 @@ SRCS = ParamChecker.c\
BrillLindquist.c\
Misner_standard.c\
Misner_multiple.c\
- Misner_points.c
+ Misner_points.c \
+ misc.c
# Subdirectories containing source files
SUBDIRS =
diff --git a/src/misc.c b/src/misc.c
new file mode 100644
index 0000000..695fc49
--- /dev/null
+++ b/src/misc.c
@@ -0,0 +1,37 @@
+ /*@@
+ @file misc.c
+ @date 23.Mar.2003
+ @author Jonathan Thornburg <jthorn@aei.mpg.de>
+ @desc
+ Misc support routines for this thorn.
+ @enddesc
+ @version $Header$
+ @@*/
+
+#include "cctk.h"
+
+#include "cctk_Arguments.h"
+#include "cctk_Parameters.h"
+
+#include "IDAnalyticBH.h"
+
+static const char *rcsid = "$Header$";
+
+CCTK_FILEVERSION(CactusEinstein_IDAnalyticBH_Misc_c)
+
+
+/*@@
+ @routine IDAnalyticBH_zero_CCTK_REAL_array
+ @date 23.Mar.2003
+ @author Jonathan Thornburg <jthorn@aei.mpg.de>
+ @desc Sets a CCTK_REAL array to all (floating-point) zeros.
+ @enddesc
+ @@*/
+void IDAnalyticBH_zero_CCTK_REAL_array(int N, CCTK_REAL A[])
+{
+int i;
+ for (i = 0 ; i < N ; ++i)
+ {
+ A[i] = 0.0;
+ }
+}