aboutsummaryrefslogtreecommitdiff
path: root/Carpet/CarpetLib/src/restrict_3d_cc_rf2.cc
diff options
context:
space:
mode:
Diffstat (limited to 'Carpet/CarpetLib/src/restrict_3d_cc_rf2.cc')
-rw-r--r--Carpet/CarpetLib/src/restrict_3d_cc_rf2.cc41
1 files changed, 21 insertions, 20 deletions
diff --git a/Carpet/CarpetLib/src/restrict_3d_cc_rf2.cc b/Carpet/CarpetLib/src/restrict_3d_cc_rf2.cc
index ee3fafc18..e186cbced 100644
--- a/Carpet/CarpetLib/src/restrict_3d_cc_rf2.cc
+++ b/Carpet/CarpetLib/src/restrict_3d_cc_rf2.cc
@@ -1,6 +1,8 @@
#include <cctk.h>
#include <cctk_Parameters.h>
+#include <loopcontrol.h>
+
#include <algorithm>
#include <cassert>
#include <cmath>
@@ -127,26 +129,25 @@ namespace CarpetLib {
// Loop over coarse region
-#pragma omp parallel for collapse(3)
- for (int k=0; k<regkext; ++k) {
- for (int j=0; j<regjext; ++j) {
- for (int i=0; i<regiext; ++i) {
-
- // TODO: Introduce higher-order restriction operators (but
- // don't use these for hydro!)
- dst [DSTIND3(i, j, k)] =
- + f1*f1*f1 * src [SRCIND3(2*i , 2*j , 2*k )]
- + f2*f1*f1 * src [SRCIND3(2*i+1, 2*j , 2*k )]
- + f1*f2*f1 * src [SRCIND3(2*i , 2*j+1, 2*k )]
- + f2*f2*f1 * src [SRCIND3(2*i+1, 2*j+1, 2*k )]
- + f1*f1*f2 * src [SRCIND3(2*i , 2*j , 2*k+1)]
- + f2*f1*f2 * src [SRCIND3(2*i+1, 2*j , 2*k+1)]
- + f1*f2*f2 * src [SRCIND3(2*i , 2*j+1, 2*k+1)]
- + f2*f2*f2 * src [SRCIND3(2*i+1, 2*j+1, 2*k+1)];
-
- }
- }
- }
+#pragma omp parallel
+ CCTK_LOOP3(restrict_3d_cc_rf2,
+ i,j,k, 0,0,0, regiext,regjext,regkext,
+ dstipadext,dstjpadext,dstkpadext)
+ {
+
+ // TODO: Introduce higher-order restriction operators (but
+ // don't use these for hydro!)
+ dst [DSTIND3(i, j, k)] =
+ + f1*f1*f1 * src [SRCIND3(2*i , 2*j , 2*k )]
+ + f2*f1*f1 * src [SRCIND3(2*i+1, 2*j , 2*k )]
+ + f1*f2*f1 * src [SRCIND3(2*i , 2*j+1, 2*k )]
+ + f2*f2*f1 * src [SRCIND3(2*i+1, 2*j+1, 2*k )]
+ + f1*f1*f2 * src [SRCIND3(2*i , 2*j , 2*k+1)]
+ + f2*f1*f2 * src [SRCIND3(2*i+1, 2*j , 2*k+1)]
+ + f1*f2*f2 * src [SRCIND3(2*i , 2*j+1, 2*k+1)]
+ + f2*f2*f2 * src [SRCIND3(2*i+1, 2*j+1, 2*k+1)];
+
+ } CCTK_ENDLOOP3(restrict_3d_cc_rf2);
}