[Commits] [svn:einsteintoolkit] GRHydro/trunk/src/ (Rev. 625)

rhaas at tapir.caltech.edu rhaas at tapir.caltech.edu
Tue Apr 15 14:49:28 CDT 2014


User: rhaas
Date: 2014/04/15 02:49 PM

Added:
 /trunk/src/
  GRHydro_TrivialReconstruct.cc, GRHydro_TrivialReconstruct.hh

Modified:
 /trunk/src/
  make.code.defn

Log:
 GRHydro: add Trivial (copy) reconstruct

File Changes:

Directory: /trunk/src/
======================

File [added]: GRHydro_TrivialReconstruct.cc
Delta lines: +34 -0
===================================================================
--- trunk/src/GRHydro_TrivialReconstruct.cc	                        (rev 0)
+++ trunk/src/GRHydro_TrivialReconstruct.cc	2014-04-15 19:49:28 UTC (rev 625)
@@ -0,0 +1,34 @@
+#include <cmath>
+#include "cctk.h"
+#include "cctk_Parameters.h"
+#include "cctk_Arguments.h"
+#include "cctk_Functions.h"
+
+#include "GRHydro_TrivialReconstruct.hh"
+#include "GRHydro_Reconstruct_drv_impl.hh"
+
+using namespace std;
+
+
+/**
+   Trivial first-order reconstruction operator.
+*/
+template <int dir>
+void GRHydro_TrivialReconstruct1d::
+apply(const int nx, const CCTK_REAL* const restrict a,
+      CCTK_REAL* const restrict aminus, CCTK_REAL* const restrict aplus,
+      const cGH* const cctkGH, const int j, const int k)
+{
+   for (int i=0; i < nx; ++i)
+   {
+      const int ijk = dir ==0 ? CCTK_GFINDEX3D(cctkGH, i  , j, k) : dir ==1 ? CCTK_GFINDEX3D(cctkGH, j, i  , k) : CCTK_GFINDEX3D(cctkGH, j, k, i  );
+
+      // Trivial reconstruction!
+      aminus[ijk] = a[ijk];
+      aplus[ijk]  = a[ijk];
+   }
+}
+
+// instantiate all copies we need, this way different operators can be compiled
+// in parallel. This must match the select routine in GRHydro_Reconstruct.cc
+INSTANTIATE_RECONSTRUCTION_OPERATOR(GRHydro_TrivialReconstruct1d)

File [added]: GRHydro_TrivialReconstruct.hh
Delta lines: +20 -0
===================================================================
--- trunk/src/GRHydro_TrivialReconstruct.hh	                        (rev 0)
+++ trunk/src/GRHydro_TrivialReconstruct.hh	2014-04-15 19:49:28 UTC (rev 625)
@@ -0,0 +1,20 @@
+#ifndef _GRHYDRO_TRIVIALRECONSTRUCT_HH
+#define _GRHYDRO_TRIVIALRECONSTRUCT_HH
+
+#include "cctk.h"
+
+/**
+   Trivial first-order reconstruction operator.
+*/
+struct GRHydro_TrivialReconstruct1d {
+template <int dir>
+static inline void apply(const int nx,
+                         const CCTK_REAL* const restrict a,
+                         CCTK_REAL* const restrict aminus,
+                         CCTK_REAL* const restrict aplus,
+                         const cGH* const cctkGH,
+                         const int j, const int k
+                        );
+}; // end struct
+
+#endif // _GRHYDRO_TRIVIALRECONSTRUCT_HH

File [modified]: make.code.defn
Delta lines: +1 -0
===================================================================
--- trunk/src/make.code.defn	2014-04-15 19:49:25 UTC (rev 624)
+++ trunk/src/make.code.defn	2014-04-15 19:49:28 UTC (rev 625)
@@ -88,6 +88,7 @@
 	GRHydro_ePPM.cc \
         GRHydro_PPMReconstruct_drv_opt.cc \
         GRHydro_WENOReconstruct.cc \
+        GRHydro_TrivialReconstruct.cc \
         GRHydro_MP5Reconstruct.cc \
         GRHydro_Wrappers.F90 \
 	GRHydro_HLLE.cc



More information about the Commits mailing list