@@ -12,11 +12,10 @@ void interp_face_reg (int i, int j, int k, IntVect const& rr, Array4<Real> const
1212 int jc = amrex::coarsen (j,rr[1 ]);
1313 int kc = amrex::coarsen (k,rr[2 ]);
1414 if (idim == 0 ) {
15- if (jc == domface.smallEnd (1 ) || jc == domface.bigEnd (1 )) {
16- for (int n = 0 ; n < ncomp; ++n) {
17- fine (i,j,k,n+scomp) = crse (ic,jc,kc,n);
18- }
19- } else {
15+ for (int n = 0 ; n < ncomp; ++n) {
16+ fine (i,j,k,n+scomp) = crse (ic,jc,kc,n);
17+ }
18+ if (jc != domface.smallEnd (1 ) && jc != domface.bigEnd (1 ) && rr[1 ] > 1 ) {
2019 Real sfy = Real (1.0 );
2120 for (int n = 0 ; n < ncomp; ++n) {
2221 Real dc = Real (0.5 ) * (crse (ic,jc+1 ,kc,n) - crse (ic,jc-1 ,kc,n));
@@ -32,11 +31,11 @@ void interp_face_reg (int i, int j, int k, IntVect const& rr, Array4<Real> const
3231 }
3332 Real yoff = (static_cast <Real>(j - jc*rr[1 ]) + Real (0.5 )) / Real (rr[1 ]) - Real (0.5 );
3433 for (int n = 0 ; n < ncomp; ++n) {
35- fine (i,j,k,n+scomp) = crse (ic,jc,kc,n) + yoff * slope (i,j,k,n) * sfy;
34+ fine (i,j,k,n+scomp) += yoff * slope (i,j,k,n) * sfy;
3635 }
3736 }
3837
39- if (kc != domface.smallEnd (2 ) && kc != domface.bigEnd (2 )) {
38+ if (kc != domface.smallEnd (2 ) && kc != domface.bigEnd (2 ) && rr[ 2 ] > 1 ) {
4039 Real sfz = Real (1.0 );
4140 for (int n = 0 ; n < ncomp; ++n) {
4241 Real dc = Real (0.5 ) * (crse (ic,jc,kc+1 ,n) - crse (ic,jc,kc-1 ,n));
@@ -56,11 +55,10 @@ void interp_face_reg (int i, int j, int k, IntVect const& rr, Array4<Real> const
5655 }
5756 }
5857 } else if (idim == 1 ) {
59- if (ic == domface.smallEnd (0 ) || ic == domface.bigEnd (0 )) {
60- for (int n = 0 ; n < ncomp; ++n) {
61- fine (i,j,k,n+scomp) = crse (ic,jc,kc,n);
62- }
63- } else {
58+ for (int n = 0 ; n < ncomp; ++n) {
59+ fine (i,j,k,n+scomp) = crse (ic,jc,kc,n);
60+ }
61+ if (ic != domface.smallEnd (0 ) && ic != domface.bigEnd (0 ) && rr[0 ] > 1 ) {
6462 Real sfx = Real (1.0 );
6563 for (int n = 0 ; n < ncomp; ++n) {
6664 Real dc = Real (0.5 ) * (crse (ic+1 ,jc,kc,n) - crse (ic-1 ,jc,kc,n));
@@ -76,11 +74,11 @@ void interp_face_reg (int i, int j, int k, IntVect const& rr, Array4<Real> const
7674 }
7775 Real xoff = (static_cast <Real>(i - ic*rr[0 ]) + Real (0.5 )) / Real (rr[0 ]) - Real (0.5 );
7876 for (int n = 0 ; n < ncomp; ++n) {
79- fine (i,j,k,n+scomp) = crse (ic,jc,kc,n) + xoff * slope (i,j,k,n) * sfx;
77+ fine (i,j,k,n+scomp) += xoff * slope (i,j,k,n) * sfx;
8078 }
8179 }
8280
83- if (kc != domface.smallEnd (2 ) && kc != domface.bigEnd (2 )) {
81+ if (kc != domface.smallEnd (2 ) && kc != domface.bigEnd (2 ) && rr[ 2 ] > 1 ) {
8482 Real sfz = Real (1.0 );
8583 for (int n = 0 ; n < ncomp; ++n) {
8684 Real dc = Real (0.5 ) * (crse (ic,jc,kc+1 ,n) - crse (ic,jc,kc-1 ,n));
@@ -100,11 +98,10 @@ void interp_face_reg (int i, int j, int k, IntVect const& rr, Array4<Real> const
10098 }
10199 }
102100 } else {
103- if (ic == domface.smallEnd (0 ) || ic == domface.bigEnd (0 )) {
104- for (int n = 0 ; n < ncomp; ++n) {
105- fine (i,j,k,n+scomp) = crse (ic,jc,kc,n);
106- }
107- } else {
101+ for (int n = 0 ; n < ncomp; ++n) {
102+ fine (i,j,k,n+scomp) = crse (ic,jc,kc,n);
103+ }
104+ if (ic != domface.smallEnd (0 ) && ic != domface.bigEnd (0 ) && rr[0 ] > 1 ) {
108105 Real sfx = Real (1.0 );
109106 for (int n = 0 ; n < ncomp; ++n) {
110107 Real dc = Real (0.5 ) * (crse (ic+1 ,jc,kc,n) - crse (ic-1 ,jc,kc,n));
@@ -120,11 +117,11 @@ void interp_face_reg (int i, int j, int k, IntVect const& rr, Array4<Real> const
120117 }
121118 Real xoff = (static_cast <Real>(i - ic*rr[0 ]) + Real (0.5 )) / Real (rr[0 ]) - Real (0.5 );
122119 for (int n = 0 ; n < ncomp; ++n) {
123- fine (i,j,k,n+scomp) = crse (ic,jc,kc,n) + xoff * slope (i,j,k,n) * sfx;
120+ fine (i,j,k,n+scomp) += xoff * slope (i,j,k,n) * sfx;
124121 }
125122 }
126123
127- if (jc != domface.smallEnd (1 ) && jc != domface.bigEnd (1 )) {
124+ if (jc != domface.smallEnd (1 ) && jc != domface.bigEnd (1 ) && rr[ 1 ] > 1 ) {
128125 Real sfy = Real (1.0 );
129126 for (int n = 0 ; n < ncomp; ++n) {
130127 Real dc = Real (0.5 ) * (crse (ic,jc+1 ,kc,n) - crse (ic,jc-1 ,kc,n));
0 commit comments