aboutsummaryrefslogtreecommitdiff
path: root/CarpetDev/CarpetIOF5/src/poison.cc
diff options
context:
space:
mode:
Diffstat (limited to 'CarpetDev/CarpetIOF5/src/poison.cc')
-rw-r--r--CarpetDev/CarpetIOF5/src/poison.cc77
1 files changed, 77 insertions, 0 deletions
diff --git a/CarpetDev/CarpetIOF5/src/poison.cc b/CarpetDev/CarpetIOF5/src/poison.cc
new file mode 100644
index 000000000..6029b55a8
--- /dev/null
+++ b/CarpetDev/CarpetIOF5/src/poison.cc
@@ -0,0 +1,77 @@
+#include <cctk.h>
+#include <cctk_Arguments.h>
+#include <cctk_Parameters.h>
+
+#include <carpet.hh>
+#include <loopcontrol.h>
+
+#include "iof5.hh"
+
+
+
+namespace CarpetIOF5 {
+
+ using namespace std;
+ using namespace Carpet;
+
+
+
+ extern "C"
+ void F5_Poison (CCTK_ARGUMENTS)
+ {
+ DECLARE_CCTK_PARAMETERS;
+
+ assert (is_global_mode());
+ CCTK_VInfo (CCTK_THORNSTRING,
+ "F5_Poison: iteration=%d", cctkGH->cctk_iteration);
+
+ BEGIN_REFLEVEL_LOOP(cctkGH) {
+ BEGIN_LOCAL_MAP_LOOP(cctkGH, CCTK_GF) {
+ BEGIN_LOCAL_COMPONENT_LOOP(cctkGH, CCTK_GF) {
+ DECLARE_CCTK_ARGUMENTS;
+ LC_LOOP3(F5_Poison, i,j,k,
+ 0,0,0, cctk_lsh[0],cctk_lsh[1],cctk_lsh[2],
+ cctk_lsh[0],cctk_lsh[1],cctk_lsh[2])
+ {
+ int const ind3d = CCTK_GFINDEX3D(cctkGH, i,j,k);
+ x[ind3d] = nan;
+ y[ind3d] = nan;
+ z[ind3d] = nan;
+ r[ind3d] = nan;
+ } LC_ENDLOOP3(F5_Poison);
+ } END_LOCAL_COMPONENT_LOOP;
+ } END_LOCAL_MAP_LOOP;
+ } END_REFLEVEL_LOOP;
+ }
+
+
+
+ extern "C"
+ void F5_Check (CCTK_ARGUMENTS)
+ {
+ DECLARE_CCTK_PARAMETERS;
+
+ assert (is_global_mode());
+ CCTK_VInfo (CCTK_THORNSTRING,
+ "F5_Check: iteration=%d", cctkGH->cctk_iteration);
+
+ BEGIN_REFLEVEL_LOOP(cctkGH) {
+ BEGIN_LOCAL_MAP_LOOP(cctkGH, CCTK_GF) {
+ BEGIN_LOCAL_COMPONENT_LOOP(cctkGH, CCTK_GF) {
+ DECLARE_CCTK_ARGUMENTS;
+ LC_LOOP3(F5_Check, i,j,k,
+ 0,0,0, cctk_lsh[0],cctk_lsh[1],cctk_lsh[2],
+ cctk_lsh[0],cctk_lsh[1],cctk_lsh[2])
+ {
+ int const ind3d = CCTK_GFINDEX3D(cctkGH, i,j,k);
+ assert (not isnan(x[ind3d]));
+ assert (not isnan(y[ind3d]));
+ assert (not isnan(z[ind3d]));
+ assert (not isnan(r[ind3d]));
+ } LC_ENDLOOP3(F5_Check);
+ } END_LOCAL_COMPONENT_LOOP;
+ } END_LOCAL_MAP_LOOP;
+ } END_REFLEVEL_LOOP;
+ }
+
+} // end namespace CarpetIOF5