@@ -129,21 +129,31 @@ void set_eb_data (const int i, const int j, const int k,
129129 bcent (i,j,k,1 ) = (By + ny*vfrac (i,j,k)) * apnorminv * dx[0 ] * dx[2 ];
130130 bcent (i,j,k,2 ) = (Bz + nz*vfrac (i,j,k)) * apnorminv * dx[0 ] * dx[1 ];
131131
132- Real b1 = 0 .5_rt*(axp-axm) + 0 .5_rt*(ayp*fcy (i,j+1 ,k,0 ) + aym*fcy (i,j,k,0 )) + 0 .5_rt*(azp*fcz (i,j,k+1 ,0 ) + azm*fcz (i,j,k,0 ));
133- Real b2 = 0 .5_rt*(axp*fcx (i+1 ,j,k,0 ) + axm*fcx (i,j,k,0 )) + 0 .5_rt*(ayp-aym) + 0 .5_rt*(azp*fcz (i,j,k+1 ,1 ) + azm*fcz (i,j,k,1 ));
134- Real b3 = 0 .5_rt*(axp*fcx (i+1 ,j,k,1 ) + axm*fcx (i,j,k,1 )) + 0 .5_rt*(ayp*fcy (i,j+1 ,k,1 ) + aym*fcy (i,j,k,1 )) + 0 .5_rt*(azp-azm);
135- Real b4 = -nx*0 .25_rt*(axp-axm) - ny*(m2y (i,j+1 ,k,0 ) - m2y (i,j,k,0 )) - nz*(m2z (i,j,k+1 ,0 ) - m2z (i,j,k,0 ));
136- Real b5 = -nx*(m2x (i+1 ,j,k,0 ) - m2x (i,j,k,0 )) - ny*0 .25_rt*(ayp-aym) - nz*(m2z (i,j,k+1 ,1 ) - m2z (i,j,k,1 ));
137- Real b6 = -nx*(m2x (i+1 ,j,k,1 ) - m2x (i,j,k,1 )) - ny*(m2y (i,j+1 ,k,1 ) - m2y (i,j,k,1 )) - nz*0 .25_rt*(azp-azm);
138- Real b7 = -nx*0 .5_rt*(axp*fcx (i+1 ,j,k,0 ) + axm*fcx (i,j,k,0 ))
139- -ny*0 .5_rt*(ayp*fcy (i,j+1 ,k,0 ) + aym*fcy (i,j,k,0 ))
140- -nz*(m2z (i,j,k+1 ,2 ) - m2z (i,j,k,2 ));
141- Real b8 = -nx*0 .5_rt*(axp*fcx (i+1 ,j,k,1 ) + axm*fcx (i,j,k,1 ))
142- -ny*(m2y (i,j+1 ,k,2 ) - m2y (i,j,k,2 ))
143- -nz*0 .5_rt*(azp*fcz (i,j,k+1 ,0 ) + azm*fcz (i,j,k,0 ));
144- Real b9 = -nx*(m2x (i+1 ,j,k,2 ) - m2x (i,j,k,2 ))
145- -ny*0 .5_rt*(ayp*fcy (i,j+1 ,k,1 ) + aym*fcy (i,j,k,1 ))
146- -nz*0 .5_rt*(azp*fcz (i,j,k+1 ,1 ) + azm*fcz (i,j,k,1 ));
132+ Real dx1 = dx[0 ];
133+ Real dx2 = dx1*dx1;
134+ Real dx3 = dx2*dx1;
135+ Real dy1 = dx[1 ];
136+ Real dy2 = dy1*dy1;
137+ Real dy3 = dy2*dy1;
138+ Real dz1 = dx[2 ];
139+ Real dz2 = dz1*dz1;
140+ Real dz3 = dz2*dz1;
141+
142+ Real b1 = 0 .5_rt*(axp-axm)*dx2*dy1*dz1 + 0 .5_rt*(ayp*fcy (i,j+1 ,k,0 ) + aym*fcy (i,j,k,0 ))*dx1*dy2*dz1 + 0 .5_rt*(azp*fcz (i,j,k+1 ,0 ) + azm*fcz (i,j,k,0 ))*dx1*dy1*dz2;
143+ Real b2 = 0 .5_rt*(axp*fcx (i+1 ,j,k,0 ) + axm*fcx (i,j,k,0 ))*dx2*dy1*dz1 + 0 .5_rt*(ayp-aym)*dx1*dy2*dz1 + 0 .5_rt*(azp*fcz (i,j,k+1 ,1 ) + azm*fcz (i,j,k,1 ))*dx1*dy1*dz2;
144+ Real b3 = 0 .5_rt*(axp*fcx (i+1 ,j,k,1 ) + axm*fcx (i,j,k,1 ))*dx2*dy1*dz1 + 0 .5_rt*(ayp*fcy (i,j+1 ,k,1 ) + aym*fcy (i,j,k,1 ))*dx1*dy2*dz1 + 0 .5_rt*(azp-azm)*dx1*dy1*dz2;
145+ Real b4 = -nx*0 .25_rt*(axp-axm)*dx2*dy1*dz1 - ny*(m2y (i,j+1 ,k,0 ) - m2y (i,j,k,0 ))*dx3*dz1 - nz*(m2z (i,j,k+1 ,0 ) - m2z (i,j,k,0 ))*dx3*dy1;
146+ Real b5 = -nx*(m2x (i+1 ,j,k,0 ) - m2x (i,j,k,0 ))*dy3*dz1 - ny*0 .25_rt*(ayp-aym)*dx1*dy2*dz1 - nz*(m2z (i,j,k+1 ,1 ) - m2z (i,j,k,1 ))*dx1*dy3;
147+ Real b6 = -nx*(m2x (i+1 ,j,k,1 ) - m2x (i,j,k,1 ))*dy1*dz3 - ny*(m2y (i,j+1 ,k,1 ) - m2y (i,j,k,1 ))*dx1*dz3 - nz*0 .25_rt*(azp-azm)*dx1*dy1*dz2;
148+ Real b7 = -nx*0 .5_rt*(axp*fcx (i+1 ,j,k,0 ) + axm*fcx (i,j,k,0 ))*dx2*dy1*dz1
149+ -ny*0 .5_rt*(ayp*fcy (i,j+1 ,k,0 ) + aym*fcy (i,j,k,0 ))*dx1*dy2*dz1
150+ -nz*(m2z (i,j,k+1 ,2 ) - m2z (i,j,k,2 ))*dx2*dy2;
151+ Real b8 = -nx*0 .5_rt*(axp*fcx (i+1 ,j,k,1 ) + axm*fcx (i,j,k,1 ))*dx2*dy1*dz1
152+ -ny*(m2y (i,j+1 ,k,2 ) - m2y (i,j,k,2 ))*dx2*dz2
153+ -nz*0 .5_rt*(azp*fcz (i,j,k+1 ,0 ) + azm*fcz (i,j,k,0 ))*dx1*dy1*dz2;
154+ Real b9 = -nx*(m2x (i+1 ,j,k,2 ) - m2x (i,j,k,2 ))*dy2*dz2
155+ -ny*0 .5_rt*(ayp*fcy (i,j+1 ,k,1 ) + aym*fcy (i,j,k,1 ))*dx1*dy2*dz1
156+ -nz*0 .5_rt*(azp*fcz (i,j,k+1 ,1 ) + azm*fcz (i,j,k,1 ))*dx1*dy1*dz2;
147157
148158 Real ny2 = ny *ny;
149159 Real ny3 = ny2*ny;
@@ -186,9 +196,9 @@ void set_eb_data (const int i, const int j, const int k,
186196 Real den = 1 ._rt / (10 ._rt *(5 ._rt + 4 ._rt *nz2 - 4 ._rt *nz4 + 2 ._rt *ny4*(-2 ._rt + nz2) +
187197 2 ._rt *ny2*(2 ._rt - 3 ._rt *nz2 + nz4)) * (vfrac (i,j,k)+1 .e -30_rt) );
188198
189- vcent (i,j,k,0 ) = Sx * den;
190- vcent (i,j,k,1 ) = Sy * den;
191- vcent (i,j,k,2 ) = Sz * den;
199+ vcent (i,j,k,0 ) = Sx * den / (dx2*dy1*dz1) ;
200+ vcent (i,j,k,1 ) = Sy * den / (dx1*dy2*dz1) ;
201+ vcent (i,j,k,2 ) = Sz * den / (dx1*dy1*dz2) ;
192202}
193203
194204AMREX_GPU_HOST_DEVICE AMREX_FORCE_INLINE
0 commit comments