diff options
author | jthorn <jthorn@6a3ddf76-46e1-4315-99d9-bc56cac1ef84> | 2003-03-24 13:31:01 +0000 |
---|---|---|
committer | jthorn <jthorn@6a3ddf76-46e1-4315-99d9-bc56cac1ef84> | 2003-03-24 13:31:01 +0000 |
commit | cb6d5b1e2cfd358471f5a3df47cc98b437eb49bb (patch) | |
tree | cc83cb0029ba14e0aee07a7255faf1f2dac8e6eb | |
parent | ceff4da9c00df3cf482cbbcfb2d447e9ee3eb7d0 (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.c | 32 | ||||
-rw-r--r-- | src/IDAnalyticBH.h | 11 | ||||
-rw-r--r-- | src/Kerr.c | 24 | ||||
-rw-r--r-- | src/Misner_multiple.c | 20 | ||||
-rw-r--r-- | src/Misner_standard.c | 38 | ||||
-rw-r--r-- | src/Schwarzschild.c | 14 | ||||
-rw-r--r-- | src/make.code.defn | 3 | ||||
-rw-r--r-- | src/misc.c | 37 |
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[]); @@ -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; + } +} |