aboutsummaryrefslogtreecommitdiff
path: root/Carpet/Carpet
diff options
context:
space:
mode:
authorRoland Haas <roland.haas@physics.gatech.edu>2012-09-24 16:38:47 -0700
committerRoland Haas <roland.haas@physics.gatech.edu>2012-11-20 09:51:15 -0800
commit6fd24e995050a7ef9c167bdf8f34e8a1366dfd37 (patch)
tree16f645301c52cad9837d6c278c57a620d4580ddc /Carpet/Carpet
parent4306806ad6d517f4e9b675d3cd541c95db3ea7fa (diff)
CarpetLib: add volume averaged cc eno operator
Diffstat (limited to 'Carpet/Carpet')
-rw-r--r--Carpet/Carpet/param.ccl6
-rw-r--r--Carpet/Carpet/src/SetupGH.cc8
2 files changed, 13 insertions, 1 deletions
diff --git a/Carpet/Carpet/param.ccl b/Carpet/Carpet/param.ccl
index cfda801a2..41061c90c 100644
--- a/Carpet/Carpet/param.ccl
+++ b/Carpet/Carpet/param.ccl
@@ -120,6 +120,12 @@ KEYWORD refinement_centering "Centering"
"cell" :: "use a cell centred grid structure"
} "vertex"
+KEYWORD eno_interpolation_type "What is represented by values in cells"
+{
+ "samples" :: "grid values a sample values of the solution"
+ "averages" :: "grid values are cell averages of the solution"
+} "samples"
+
CCTK_INT max_refinement_levels "Maximum number of refinement levels (including the base level)"
{
1:* :: "must be positive"
diff --git a/Carpet/Carpet/src/SetupGH.cc b/Carpet/Carpet/src/SetupGH.cc
index 7372cf948..6e8225894 100644
--- a/Carpet/Carpet/src/SetupGH.cc
+++ b/Carpet/Carpet/src/SetupGH.cc
@@ -2261,6 +2261,8 @@ namespace Carpet {
int const group,
cGroup const & gdata)
{
+ DECLARE_CCTK_PARAMETERS
+
assert (group>=0 and group<CCTK_NumGroups());
if (gdata.grouptype != CCTK_GF) {
@@ -2415,8 +2417,12 @@ namespace Carpet {
return op_copy;
} else if (CCTK_Equals(prolong_string, "Lagrange")) {
return op_Lagrange;
- } else if (CCTK_Equals(prolong_string, "ENO")) {
+ } else if (CCTK_Equals(prolong_string, "ENO") and
+ CCTK_Equals(eno_interpolation_type, "samples")) {
return op_ENO;
+ } else if (CCTK_Equals(prolong_string, "ENO") and
+ CCTK_Equals(eno_interpolation_type, "averages")) {
+ return op_ENOVOL;
} else if (CCTK_Equals(prolong_string, "WENO")) {
return op_WENO;
} else if (CCTK_Equals(prolong_string, "TVD")) {