aboutsummaryrefslogtreecommitdiff
path: root/src/gr
diff options
context:
space:
mode:
authorjthorn <jthorn@f88db872-0e4f-0410-b76b-b9085cfa78c5>2003-03-12 20:07:08 +0000
committerjthorn <jthorn@f88db872-0e4f-0410-b76b-b9085cfa78c5>2003-03-12 20:07:08 +0000
commitf5c2b4167c558ff8b2fc85cee27a90609fb8f71c (patch)
treea07a0134b1e1690fcc318af45954ba26ac7c28bc /src/gr
parentf300a7dc763ecb661a61bd93f0a5f9ab154d0f25 (diff)
add expansion_status_string()
git-svn-id: http://svn.einsteintoolkit.org/cactus/EinsteinAnalysis/AHFinderDirect/trunk@969 f88db872-0e4f-0410-b76b-b9085cfa78c5
Diffstat (limited to 'src/gr')
-rw-r--r--src/gr/gr.hh1
-rw-r--r--src/gr/misc.cc36
2 files changed, 37 insertions, 0 deletions
diff --git a/src/gr/gr.hh b/src/gr/gr.hh
index daf233e..8b66482 100644
--- a/src/gr/gr.hh
+++ b/src/gr/gr.hh
@@ -239,3 +239,4 @@ bool geometry_method_is_interp(enum geometry_method geometry_method);
#endif
enum Jacobian_compute_method
decode_Jacobian_compute_method(const char Jacobian_compute_method_string[]);
+const char* expansion_status_string(enum expansion_status status);
diff --git a/src/gr/misc.cc b/src/gr/misc.cc
index 846ee5d..1b0536b 100644
--- a/src/gr/misc.cc
+++ b/src/gr/misc.cc
@@ -6,6 +6,7 @@
// geomery_method_is_interp - does enum geometry_method specify interpolation?
#endif
// decode_geometry_method - decode the geometry_method parameter
+// expansion_status_string - string describing expansion_status
//
#include <stdio.h>
@@ -109,3 +110,38 @@ else CCTK_VWarn(FATAL_ERROR, __LINE__, __FILE__, CCTK_THORNSTRING,
" unknown Jacobian_compute_method_string=\"%s\"!",
Jacobian_compute_method_string); /*NOTREACHED*/
}
+
+//******************************************************************************
+
+//
+// This function returns (a pointer to) a C-style string describing
+// an expansion_status value.
+//
+const char* expansion_status_string(enum expansion_status status)
+{
+switch (status)
+ {
+case expansion_success:
+ return "success";
+ break;
+case expansion_failure__surface_nonfinite:
+ return "infinity/NaN in surface shape!";
+ break;
+case expansion_failure__surface_outside_grid:
+ return "surface outside grid";
+ break;
+case expansion_failure__surface_in_excised_region:
+ return "surface in excised region";
+ break;
+case expansion_failure__geometry_nonfinite:
+ return "infinity/NaN in 3-geometry!";
+ break;
+case expansion_failure__gij_not_positive_definite:
+ return "g_ij not positive definite!";
+ break;
+default:
+ CCTK_VWarn(FATAL_ERROR, __LINE__, __FILE__, CCTK_THORNSTRING,
+ "expansion_status_string(): unknown status=(int)%d!",
+ status); /*NOTREACHED*/
+ }
+}