Skip to content

Commit c90e2c8

Browse files
authored
make y state consistent with x state wrt limiting before imposing bcs (#168)
1 parent 5998256 commit c90e2c8

File tree

1 file changed

+42
-45
lines changed

1 file changed

+42
-45
lines changed

EBMOL/hydro_ebmol_edge_state_K.H

Lines changed: 42 additions & 45 deletions
Original file line numberDiff line numberDiff line change
@@ -53,12 +53,12 @@ amrex::Real hydro_ebmol_xedge_state_extdir ( AMREX_D_DECL(int i, int j, int k),
5353
else
5454
{
5555
const int domain_ilo = domain.smallEnd(0);
56-
const int domain_ihi = domain.bigEnd(0);
57-
const int domain_jlo = domain.smallEnd(1);
58-
const int domain_jhi = domain.bigEnd(1);
56+
const int domain_ihi = domain.bigEnd(0);
57+
const int domain_jlo = domain.smallEnd(1);
58+
const int domain_jhi = domain.bigEnd(1);
5959
#if (AMREX_SPACEDIM == 3)
60-
const int domain_klo = domain.smallEnd(2);
61-
const int domain_khi = domain.bigEnd(2);
60+
const int domain_klo = domain.smallEnd(2);
61+
const int domain_khi = domain.bigEnd(2);
6262
#endif
6363

6464
amrex::Real yf = fcx(i,j,k,0); // local (y,z) of centroid of z-face we are extrapolating to
@@ -71,27 +71,27 @@ amrex::Real hydro_ebmol_xedge_state_extdir ( AMREX_D_DECL(int i, int j, int k),
7171
amrex::Real zc = ccc(i,j,k,2););
7272

7373
AMREX_D_TERM(amrex::Real delta_x = amrex::Real(0.5) + xc;,
74-
amrex::Real delta_y = yf - yc;,
75-
amrex::Real delta_z = zf - zc;);
74+
amrex::Real delta_y = yf - yc;,
75+
amrex::Real delta_z = zf - zc;);
7676

7777
amrex::Real cc_qmax = amrex::max(q(i,j,k,n),q(i-1,j,k,n));
7878
amrex::Real cc_qmin = amrex::min(q(i,j,k,n),q(i-1,j,k,n));
7979

80-
AMREX_D_TERM(bool extdir_or_ho_ilo = (d_bcrec[n].lo(0) == amrex::BCType::ext_dir) ||
81-
(d_bcrec[n].lo(0) == amrex::BCType::hoextrap);,
82-
bool extdir_or_ho_jlo = (d_bcrec[n].lo(1) == amrex::BCType::ext_dir) ||
80+
AMREX_D_TERM(bool extdir_or_ho_ilo = (d_bcrec[n].lo(0) == amrex::BCType::ext_dir) ||
81+
(d_bcrec[n].lo(0) == amrex::BCType::hoextrap);,
82+
bool extdir_or_ho_jlo = (d_bcrec[n].lo(1) == amrex::BCType::ext_dir) ||
8383
(d_bcrec[n].lo(1) == amrex::BCType::hoextrap);,
84-
bool extdir_or_ho_klo = (d_bcrec[n].lo(2) == amrex::BCType::ext_dir) ||
84+
bool extdir_or_ho_klo = (d_bcrec[n].lo(2) == amrex::BCType::ext_dir) ||
8585
(d_bcrec[n].lo(2) == amrex::BCType::hoextrap););
8686

87-
AMREX_D_TERM(bool extdir_or_ho_ihi = (d_bcrec[n].hi(0) == amrex::BCType::ext_dir) ||
87+
AMREX_D_TERM(bool extdir_or_ho_ihi = (d_bcrec[n].hi(0) == amrex::BCType::ext_dir) ||
8888
(d_bcrec[n].hi(0) == amrex::BCType::hoextrap);,
89-
bool extdir_or_ho_jhi = (d_bcrec[n].hi(1) == amrex::BCType::ext_dir) ||
89+
bool extdir_or_ho_jhi = (d_bcrec[n].hi(1) == amrex::BCType::ext_dir) ||
9090
(d_bcrec[n].hi(1) == amrex::BCType::hoextrap);,
91-
bool extdir_or_ho_khi = (d_bcrec[n].hi(2) == amrex::BCType::ext_dir) ||
91+
bool extdir_or_ho_khi = (d_bcrec[n].hi(2) == amrex::BCType::ext_dir) ||
9292
(d_bcrec[n].hi(2) == amrex::BCType::hoextrap););
9393

94-
const auto& slopes_eb_hi =
94+
const auto& slopes_eb_hi =
9595
amrex_lim_slopes_extdir_eb(i, j, k, n, q, ccc, vfrac,
9696
AMREX_D_DECL(fcx,fcy,fcz), flag,
9797
AMREX_D_DECL(extdir_or_ho_ilo, extdir_or_ho_jlo, extdir_or_ho_klo),
@@ -318,26 +318,26 @@ amrex::Real hydro_ebmol_yedge_state_extdir ( AMREX_D_DECL(int i, int j, int k),
318318
else
319319
{
320320
const int domain_ilo = domain.smallEnd(0);
321-
const int domain_ihi = domain.bigEnd(0);
322-
const int domain_jlo = domain.smallEnd(1);
323-
const int domain_jhi = domain.bigEnd(1);
321+
const int domain_ihi = domain.bigEnd(0);
322+
const int domain_jlo = domain.smallEnd(1);
323+
const int domain_jhi = domain.bigEnd(1);
324324
#if (AMREX_SPACEDIM == 3)
325-
const int domain_klo = domain.smallEnd(2);
326-
const int domain_khi = domain.bigEnd(2);
325+
const int domain_klo = domain.smallEnd(2);
326+
const int domain_khi = domain.bigEnd(2);
327327
#endif
328328

329-
AMREX_D_TERM(bool extdir_or_ho_ilo = (d_bcrec[n].lo(0) == amrex::BCType::ext_dir) ||
330-
(d_bcrec[n].lo(0) == amrex::BCType::hoextrap);,
331-
bool extdir_or_ho_jlo = (d_bcrec[n].lo(1) == amrex::BCType::ext_dir) ||
329+
AMREX_D_TERM(bool extdir_or_ho_ilo = (d_bcrec[n].lo(0) == amrex::BCType::ext_dir) ||
330+
(d_bcrec[n].lo(0) == amrex::BCType::hoextrap);,
331+
bool extdir_or_ho_jlo = (d_bcrec[n].lo(1) == amrex::BCType::ext_dir) ||
332332
(d_bcrec[n].lo(1) == amrex::BCType::hoextrap);,
333-
bool extdir_or_ho_klo = (d_bcrec[n].lo(2) == amrex::BCType::ext_dir) ||
333+
bool extdir_or_ho_klo = (d_bcrec[n].lo(2) == amrex::BCType::ext_dir) ||
334334
(d_bcrec[n].lo(2) == amrex::BCType::hoextrap););
335335

336-
AMREX_D_TERM(bool extdir_or_ho_ihi = (d_bcrec[n].hi(0) == amrex::BCType::ext_dir) ||
336+
AMREX_D_TERM(bool extdir_or_ho_ihi = (d_bcrec[n].hi(0) == amrex::BCType::ext_dir) ||
337337
(d_bcrec[n].hi(0) == amrex::BCType::hoextrap);,
338-
bool extdir_or_ho_jhi = (d_bcrec[n].hi(1) == amrex::BCType::ext_dir) ||
338+
bool extdir_or_ho_jhi = (d_bcrec[n].hi(1) == amrex::BCType::ext_dir) ||
339339
(d_bcrec[n].hi(1) == amrex::BCType::hoextrap);,
340-
bool extdir_or_ho_khi = (d_bcrec[n].hi(2) == amrex::BCType::ext_dir) ||
340+
bool extdir_or_ho_khi = (d_bcrec[n].hi(2) == amrex::BCType::ext_dir) ||
341341
(d_bcrec[n].hi(2) == amrex::BCType::hoextrap););
342342

343343
amrex::Real xf = fcy(i,j,k,0); // local (x,z) of centroid of z-face we are extrapolating to
@@ -405,6 +405,8 @@ amrex::Real hydro_ebmol_yedge_state_extdir ( AMREX_D_DECL(int i, int j, int k),
405405
+ delta_y * slopes_eb_lo[1];
406406
#endif
407407

408+
qmns = amrex::max(amrex::min(qmns, cc_qmax), cc_qmin);
409+
408410
HydroBC::SetEdgeBCsLo(1, i, j, k, n, q, qmns, qpls, vmac(i,j,k), d_bcrec[n].lo(1), domain_jlo, is_velocity);
409411
HydroBC::SetEdgeBCsHi(1, i, j, k, n, q, qmns, qpls, vmac(i,j,k), d_bcrec[n].hi(1), domain_jhi, is_velocity);
410412

@@ -416,11 +418,9 @@ amrex::Real hydro_ebmol_yedge_state_extdir ( AMREX_D_DECL(int i, int j, int k),
416418
if ( (j==domain_jhi+1) && (d_bcrec[n].hi(1) == amrex::BCType::foextrap || d_bcrec[n].hi(1) == amrex::BCType::hoextrap) )
417419
{
418420
if ( vmac(i,j,k) <= 0. && n==YVEL && is_velocity ) qmns = amrex::max(qmns,amrex::Real(0.0));
419-
qpls = qmns;
421+
qpls = qmns;
420422
}
421423

422-
qmns = amrex::max(amrex::min(qmns, cc_qmax), cc_qmin);
423-
424424
if (vmac(i,j,k) > small_vel)
425425
{
426426
qs = qmns;
@@ -550,9 +550,6 @@ amrex::Real hydro_ebmol_yedge_state ( AMREX_D_DECL(int i, int j, int k), int n,
550550
return qs;
551551
}
552552

553-
554-
555-
556553
#if (AMREX_SPACEDIM==3)
557554

558555
AMREX_GPU_DEVICE AMREX_FORCE_INLINE
@@ -586,26 +583,26 @@ amrex::Real hydro_ebmol_zedge_state_extdir ( int i, int j, int k, int n,
586583
else
587584
{
588585
const int domain_ilo = domain.smallEnd(0);
589-
const int domain_ihi = domain.bigEnd(0);
590-
const int domain_jlo = domain.smallEnd(1);
591-
const int domain_jhi = domain.bigEnd(1);
586+
const int domain_ihi = domain.bigEnd(0);
587+
const int domain_jlo = domain.smallEnd(1);
588+
const int domain_jhi = domain.bigEnd(1);
592589
#if (AMREX_SPACEDIM == 3)
593-
const int domain_klo = domain.smallEnd(2);
594-
const int domain_khi = domain.bigEnd(2);
590+
const int domain_klo = domain.smallEnd(2);
591+
const int domain_khi = domain.bigEnd(2);
595592
#endif
596593

597-
AMREX_D_TERM(bool extdir_or_ho_ilo = (d_bcrec[n].lo(0) == amrex::BCType::ext_dir) ||
598-
(d_bcrec[n].lo(0) == amrex::BCType::hoextrap);,
599-
bool extdir_or_ho_jlo = (d_bcrec[n].lo(1) == amrex::BCType::ext_dir) ||
594+
AMREX_D_TERM(bool extdir_or_ho_ilo = (d_bcrec[n].lo(0) == amrex::BCType::ext_dir) ||
595+
(d_bcrec[n].lo(0) == amrex::BCType::hoextrap);,
596+
bool extdir_or_ho_jlo = (d_bcrec[n].lo(1) == amrex::BCType::ext_dir) ||
600597
(d_bcrec[n].lo(1) == amrex::BCType::hoextrap);,
601-
bool extdir_or_ho_klo = (d_bcrec[n].lo(2) == amrex::BCType::ext_dir) ||
598+
bool extdir_or_ho_klo = (d_bcrec[n].lo(2) == amrex::BCType::ext_dir) ||
602599
(d_bcrec[n].lo(2) == amrex::BCType::hoextrap););
603600

604-
AMREX_D_TERM(bool extdir_or_ho_ihi = (d_bcrec[n].hi(0) == amrex::BCType::ext_dir) ||
601+
AMREX_D_TERM(bool extdir_or_ho_ihi = (d_bcrec[n].hi(0) == amrex::BCType::ext_dir) ||
605602
(d_bcrec[n].hi(0) == amrex::BCType::hoextrap);,
606-
bool extdir_or_ho_jhi = (d_bcrec[n].hi(1) == amrex::BCType::ext_dir) ||
603+
bool extdir_or_ho_jhi = (d_bcrec[n].hi(1) == amrex::BCType::ext_dir) ||
607604
(d_bcrec[n].hi(1) == amrex::BCType::hoextrap);,
608-
bool extdir_or_ho_khi = (d_bcrec[n].hi(2) == amrex::BCType::ext_dir) ||
605+
bool extdir_or_ho_khi = (d_bcrec[n].hi(2) == amrex::BCType::ext_dir) ||
609606
(d_bcrec[n].hi(2) == amrex::BCType::hoextrap););
610607

611608
amrex::Real xf = fcz(i,j,k,0); // local (x,y) of centroid of z-face we are extrapolating to

0 commit comments

Comments
 (0)