diff options
author | Roland Haas <roland.haas@physics.gatech.edu> | 2012-09-24 16:38:47 -0700 |
---|---|---|
committer | Roland Haas <roland.haas@physics.gatech.edu> | 2012-11-20 09:51:15 -0800 |
commit | 6fd24e995050a7ef9c167bdf8f34e8a1366dfd37 (patch) | |
tree | 16f645301c52cad9837d6c278c57a620d4580ddc /Carpet/Carpet | |
parent | 4306806ad6d517f4e9b675d3cd541c95db3ea7fa (diff) |
CarpetLib: add volume averaged cc eno operator
Diffstat (limited to 'Carpet/Carpet')
-rw-r--r-- | Carpet/Carpet/param.ccl | 6 | ||||
-rw-r--r-- | Carpet/Carpet/src/SetupGH.cc | 8 |
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")) { |