181 BL_PROFILE_REGION(
"realbdy_compute_interior_ghost_RHS()");
183 Real delta_t =
static_cast<Real>(delta_t_d);
192 Array4<Real> bdatxlo, bdatxhi, bdatylo, bdatyhi;
193 Array4<Real> btenxlo, btenxhi, btenylo, btenyhi;
196 Vector<std::unique_ptr<PlaneVector>>& bndry_data = m_r2d->interp_in_time(time);
197 bdatxlo = (*bndry_data[0])[0].array();
198 bdatylo = (*bndry_data[1])[0].array();
199 bdatxhi = (*bndry_data[3])[0].array();
200 bdatyhi = (*bndry_data[4])[0].array();
202 Vector<std::unique_ptr<PlaneVector>>& bndry_tend = m_r2d->get_tendency(time);
203 btenxlo = (*bndry_tend[0])[0].array();
204 btenylo = (*bndry_tend[1])[0].array();
205 btenxhi = (*bndry_tend[3])[0].array();
206 btenyhi = (*bndry_tend[4])[0].array();
210 Real F1 =
one/(nudge_factor*delta_t);
211 Real F1_rho =
one/((bdy_rho_nudge_factor >
zero ? bdy_rho_nudge_factor : nudge_factor) * delta_t);
214 double dT_d = bdy_time_interval;
216 int n_time =
static_cast<int>( (time-start_bdy_time) / dT_d);
217 int n_time_p1 = n_time + 1;
218 Real alpha =
static_cast<Real>(((time-start_bdy_time) - n_time * dT_d) / dT_d);
221 if (time >= final_bdy_time) {
222 n_time =
static_cast<int>( (final_bdy_time - start_bdy_time)/ dT_d);
231 FArrayBox U_xlo, U_xhi, U_ylo, U_yhi;
232 FArrayBox V_xlo, V_xhi, V_ylo, V_yhi;
233 FArrayBox T_xlo, T_xhi, T_ylo, T_yhi;
234 FArrayBox R_xlo, R_xhi, R_ylo, R_yhi;
235 Array4<Real> r_xlo_arr, r_xhi_arr, r_ylo_arr, r_yhi_arr;
259 for (
int ivar(ivarU); ivar < BdyEnd; ivar++) {
260 int ivar_idx = var_map[ivar];
261 Box domain = geom.Domain();
262 auto ixtype = S_cur_data[ivar_idx].boxArray().ixType();
263 domain.convert(ixtype);
268 Box gdom(domain); gdom.grow(ng_vect);
269 Box bx_xlo, bx_xhi, bx_ylo, bx_yhi;
277 U_xlo.resize(bx_xlo,1,The_Async_Arena()); U_xhi.resize(bx_xhi,1,The_Async_Arena());
278 U_ylo.resize(bx_ylo,1,The_Async_Arena()); U_yhi.resize(bx_yhi,1,The_Async_Arena());
279 }
else if (ivar == ivarV) {
280 V_xlo.resize(bx_xlo,1,The_Async_Arena()); V_xhi.resize(bx_xhi,1,The_Async_Arena());
281 V_ylo.resize(bx_ylo,1,The_Async_Arena()); V_yhi.resize(bx_yhi,1,The_Async_Arena());
282 }
else if (ivar == ivarT){
283 T_xlo.resize(bx_xlo,1,The_Async_Arena()); T_xhi.resize(bx_xhi,1,The_Async_Arena());
284 T_ylo.resize(bx_ylo,1,The_Async_Arena()); T_yhi.resize(bx_yhi,1,The_Async_Arena());
290 if (use_wrf_bdy_density) {
291 const IntVect ng_vect(1,1,0);
292 Box domain = geom.Domain();
293 Box gdom(domain); gdom.grow(ng_vect);
294 Box bx_xlo, bx_xhi, bx_ylo, bx_yhi;
296 bx_xlo, bx_xhi, bx_ylo, bx_yhi,
299 R_xlo.resize(bx_xlo, 1, The_Async_Arena());
300 R_xhi.resize(bx_xhi, 1, The_Async_Arena());
301 R_ylo.resize(bx_ylo, 1, The_Async_Arena());
302 R_yhi.resize(bx_yhi, 1, The_Async_Arena());
304 const auto& r_xlo_n = bdy_data_xlo[n_time ][
WRFBdyVars::R].const_array();
305 const auto& r_xlo_np1 = bdy_data_xlo[n_time_p1][
WRFBdyVars::R].const_array();
306 const auto& r_xhi_n = bdy_data_xhi[n_time ][
WRFBdyVars::R].const_array();
307 const auto& r_xhi_np1 = bdy_data_xhi[n_time_p1][
WRFBdyVars::R].const_array();
308 const auto& r_ylo_n = bdy_data_ylo[n_time ][
WRFBdyVars::R].const_array();
309 const auto& r_ylo_np1 = bdy_data_ylo[n_time_p1][
WRFBdyVars::R].const_array();
310 const auto& r_yhi_n = bdy_data_yhi[n_time ][
WRFBdyVars::R].const_array();
311 const auto& r_yhi_np1 = bdy_data_yhi[n_time_p1][
WRFBdyVars::R].const_array();
312 const auto& rbx = lbound(domain);
313 const auto&
rhi = ubound(domain);
314 r_xlo_arr = R_xlo.array();
315 r_xhi_arr = R_xhi.array();
316 r_ylo_arr = R_ylo.array();
317 r_yhi_arr = R_yhi.array();
320 [=] AMREX_GPU_DEVICE (
int i,
int j,
int k) noexcept {
321 int ii = amrex::max(i, rbx.x); ii = amrex::min(ii, rbx.x + width - 1);
322 int jj = amrex::max(j, rbx.y); jj = amrex::min(jj,
rhi.y);
323 r_xlo_arr(i,j,k) = oma*r_xlo_n(ii,jj,k) +
alpha*r_xlo_np1(ii,jj,k);
325 [=] AMREX_GPU_DEVICE (
int i,
int j,
int k) noexcept {
326 int ii = amrex::max(i,
rhi.x - width + 1); ii = amrex::min(ii,
rhi.x);
327 int jj = amrex::max(j, rbx.y); jj = amrex::min(jj,
rhi.y);
328 r_xhi_arr(i,j,k) = oma*r_xhi_n(ii,jj,k) +
alpha*r_xhi_np1(ii,jj,k);
331 [=] AMREX_GPU_DEVICE (
int i,
int j,
int k) noexcept {
332 int ii = amrex::max(i, rbx.x); ii = amrex::min(ii,
rhi.x);
333 int jj = amrex::max(j, rbx.y); jj = amrex::min(jj, rbx.y + width - 1);
334 r_ylo_arr(i,j,k) = oma*r_ylo_n(ii,jj,k) +
alpha*r_ylo_np1(ii,jj,k);
336 [=] AMREX_GPU_DEVICE (
int i,
int j,
int k) noexcept {
337 int ii = amrex::max(i, rbx.x); ii = amrex::min(ii,
rhi.x);
338 int jj = amrex::max(j,
rhi.y - width + 1); jj = amrex::min(jj,
rhi.y);
339 r_yhi_arr(i,j,k) = oma*r_yhi_n(ii,jj,k) +
alpha*r_yhi_np1(ii,jj,k);
352 for (
int ivar(ivarU); ivar < BdyEnd; ivar++) {
353 int ivar_idx = var_map[ivar];
354 Box domain = geom.Domain();
355 auto ixtype = S_cur_data[ivar_idx].boxArray().ixType();
356 domain.convert(ixtype);
357 const auto& dom_lo = lbound(domain);
358 const auto& dom_hi = ubound(domain);
361 int bdy_comp = bnd_map[ivar];
362 const auto& dom_cc_lo = lbound(geom.Domain());
363 const auto& dom_cc_hi = ubound(geom.Domain());
366 #pragma omp parallel if (Gpu::notInLaunchRegion())
368 for (MFIter mfi(S_cur_data[ivar_idx],TilingIfNotGPU()); mfi.isValid(); ++mfi) {
372 Box gtbx = grow(mfi.tilebox(ixtype.toIntVect()),ng_vect);
373 Box tbx_xlo, tbx_xhi, tbx_ylo, tbx_yhi;
379 Array4<Real> arr_xlo; Array4<Real> arr_xhi;
380 Array4<Real> arr_ylo; Array4<Real> arr_yhi;
382 arr_xlo = U_xlo.array(); arr_xhi = U_xhi.array();
383 arr_ylo = U_ylo.array(); arr_yhi = U_yhi.array();
384 }
else if (ivar == ivarV) {
385 arr_xlo = V_xlo.array(); arr_xhi = V_xhi.array();
386 arr_ylo = V_ylo.array(); arr_yhi = V_yhi.array();
387 }
else if (ivar == ivarT){
388 arr_xlo = T_xlo.array(); arr_xhi = T_xhi.array();
389 arr_ylo = T_ylo.array(); arr_yhi = T_yhi.array();
395 const auto& bdatxlo_n = bdy_data_xlo[n_time ][ivar].const_array();
396 const auto& bdatxlo_np1 = bdy_data_xlo[n_time_p1][ivar].const_array();
397 const auto& bdatxhi_n = bdy_data_xhi[n_time ][ivar].const_array();
398 const auto& bdatxhi_np1 = bdy_data_xhi[n_time_p1][ivar].const_array();
399 const auto& bdatylo_n = bdy_data_ylo[n_time ][ivar].const_array();
400 const auto& bdatylo_np1 = bdy_data_ylo[n_time_p1][ivar].const_array();
401 const auto& bdatyhi_n = bdy_data_yhi[n_time ][ivar].const_array();
402 const auto& bdatyhi_np1 = bdy_data_yhi[n_time_p1][ivar].const_array();
411 const auto rxlo = r_xlo_arr;
412 const auto rxhi = r_xhi_arr;
413 const auto rylo = r_ylo_arr;
414 const auto ryhi = r_yhi_arr;
416 [=] AMREX_GPU_DEVICE (
int i,
int j,
int k) noexcept
418 int ii = std::max(i , dom_lo.x); ii = std::min(ii, dom_lo.x+
offset);
419 int jj = std::max(j , dom_lo.y); jj = std::min(jj, dom_hi.y);
422 if (use_wrf_bdy_density && ivar==ivarU) {
423 int im = amrex::max(i-1, dom_lo.x);
424 rho_interp =
myhalf * (rxlo(im,j,k) + rxlo(amrex::max(i, dom_lo.x),j,k));
425 }
else if (use_wrf_bdy_density && ivar==ivarV) {
426 int jm = amrex::max(j-1, dom_lo.y);
427 rho_interp =
myhalf * (rxlo(i,jm,k) + rxlo(i,amrex::max(j, dom_lo.y),k));
428 }
else if (use_wrf_bdy_density) {
429 rho_interp = rxlo(i,j,k);
430 }
else if (ivar==ivarU) {
431 rho_interp =
myhalf * ( r_arr(i-1,j ,k) + r_arr(i,j,k) );
432 }
else if (ivar==ivarV) {
433 rho_interp =
myhalf * ( r_arr(i ,j-1,k) + r_arr(i,j,k) );
435 rho_interp = r_arr(i,j,k);
439 int ii2 = std::min(std::max(i , dom_cc_lo.x), dom_cc_hi.x);
440 int jj2 = std::min(std::max(j , dom_cc_lo.y), dom_cc_hi.y);
441 arr_xlo(i,j,k) = rho_interp * bdatxlo(ii2,jj2,k,bdy_comp);
443 arr_xlo(i,j,k) = rho_interp * ( oma * bdatxlo_n (ii,jj,k,0)
444 +
alpha * bdatxlo_np1(ii,jj,k,0) );
447 [=] AMREX_GPU_DEVICE (
int i,
int j,
int k) noexcept
449 int ii = std::max(i , dom_hi.x-
offset); ii = std::min(ii, dom_hi.x);
450 int jj = std::max(j , dom_lo.y); jj = std::min(jj, dom_hi.y);
453 if (use_wrf_bdy_density && ivar==ivarU) {
454 int im = amrex::max(i-1, dom_lo.x);
455 rho_interp =
myhalf * (rxhi(im,j,k) + rxhi(amrex::max(i, dom_lo.x),j,k));
456 }
else if (use_wrf_bdy_density && ivar==ivarV) {
457 int jm = amrex::max(j-1, dom_lo.y);
458 rho_interp =
myhalf * (rxhi(i,jm,k) + rxhi(i,amrex::max(j, dom_lo.y),k));
459 }
else if (use_wrf_bdy_density) {
460 rho_interp = rxhi(i,j,k);
461 }
else if (ivar==ivarU) {
462 rho_interp =
myhalf * ( r_arr(i-1,j ,k) + r_arr(i,j,k) );
463 }
else if (ivar==ivarV) {
464 rho_interp =
myhalf * ( r_arr(i ,j-1,k) + r_arr(i,j,k) );
466 rho_interp = r_arr(i,j,k);
470 int ii2 = std::min(std::max(i , dom_cc_lo.x), dom_cc_hi.x);
471 int jj2 = std::min(std::max(j , dom_cc_lo.y), dom_cc_hi.y);
472 arr_xhi(i,j,k) = rho_interp * bdatxhi(ii2,jj2,k,bdy_comp);
474 arr_xhi(i,j,k) = rho_interp * ( oma * bdatxhi_n (ii,jj,k,0)
475 +
alpha * bdatxhi_np1(ii,jj,k,0) );
480 [=] AMREX_GPU_DEVICE (
int i,
int j,
int k) noexcept
482 int ii = std::max(i , dom_lo.x); ii = std::min(ii, dom_hi.x);
483 int jj = std::max(j , dom_lo.y); jj = std::min(jj, dom_lo.y+
offset);
486 if (use_wrf_bdy_density && ivar==ivarU) {
487 int im = amrex::max(i-1, dom_lo.x);
488 rho_interp =
myhalf * (rylo(im,j,k) + rylo(amrex::max(i, dom_lo.x),j,k));
489 }
else if (use_wrf_bdy_density && ivar==ivarV) {
490 int jm = amrex::max(j-1, dom_lo.y);
491 rho_interp =
myhalf * (rylo(i,jm,k) + rylo(i,amrex::max(j, dom_lo.y),k));
492 }
else if (use_wrf_bdy_density) {
493 rho_interp = rylo(i,j,k);
494 }
else if (ivar==ivarU) {
495 rho_interp =
myhalf * ( r_arr(i-1,j ,k) + r_arr(i,j,k) );
496 }
else if (ivar==ivarV) {
497 rho_interp =
myhalf * ( r_arr(i ,j-1,k) + r_arr(i,j,k) );
499 rho_interp = r_arr(i,j,k);
503 int ii2 = std::min(std::max(i , dom_cc_lo.x), dom_cc_hi.x);
504 int jj2 = std::min(std::max(j , dom_cc_lo.y), dom_cc_hi.y);
505 arr_ylo(i,j,k) = rho_interp * bdatylo(ii2,jj2,k,bdy_comp);
507 arr_ylo(i,j,k) = rho_interp * ( oma * bdatylo_n (ii,jj,k,0)
508 +
alpha * bdatylo_np1(ii,jj,k,0) );
511 [=] AMREX_GPU_DEVICE (
int i,
int j,
int k) noexcept
513 int ii = std::max(i , dom_lo.x); ii = std::min(ii, dom_hi.x);
514 int jj = std::max(j , dom_hi.y-
offset); jj = std::min(jj, dom_hi.y);
517 if (use_wrf_bdy_density && ivar==ivarU) {
518 int im = amrex::max(i-1, dom_lo.x);
519 rho_interp =
myhalf * (ryhi(im,j,k) + ryhi(amrex::max(i, dom_lo.x),j,k));
520 }
else if (use_wrf_bdy_density && ivar==ivarV) {
521 int jm = amrex::max(j-1, dom_lo.y);
522 rho_interp =
myhalf * (ryhi(i,jm,k) + ryhi(i,amrex::max(j, dom_lo.y),k));
523 }
else if (use_wrf_bdy_density) {
524 rho_interp = ryhi(i,j,k);
525 }
else if (ivar==ivarU) {
526 rho_interp =
myhalf * ( r_arr(i-1,j ,k) + r_arr(i,j,k) );
527 }
else if (ivar==ivarV) {
528 rho_interp =
myhalf * ( r_arr(i ,j-1,k) + r_arr(i,j,k) );
530 rho_interp = r_arr(i,j,k);
534 int ii2 = std::min(std::max(i , dom_cc_lo.x), dom_cc_hi.x);
535 int jj2 = std::min(std::max(j , dom_cc_lo.y), dom_cc_hi.y);
536 arr_yhi(i,j,k) = rho_interp * bdatyhi(ii2,jj2,k,bdy_comp);
538 arr_yhi(i,j,k) = rho_interp * ( oma * bdatyhi_n (ii,jj,k,0)
539 +
alpha * bdatyhi_np1(ii,jj,k,0) );
548 auto dx = geom.CellSizeArray();
549 auto ProbLo = geom.ProbLoArray();
550 auto ProbHi = geom.ProbHiArray();
552 for (
int ivar(ivarU); ivar < BdyEnd; ivar++) {
553 int ivar_idx = ivar_map[ivar];
554 int icomp = comp_map[ivar];
556 Box domain = geom.Domain();
557 domain.convert(S_cur_data[ivar_idx].boxArray().ixType());
561 #pragma omp parallel if (Gpu::notInLaunchRegion())
563 for (MFIter mfi(S_cur_data[ivar_idx],TilingIfNotGPU()); mfi.isValid(); ++mfi)
565 Box tbx = mfi.tilebox();
566 Box tbx_xlo, tbx_xhi, tbx_ylo, tbx_yhi;
572 Array4<Real> rhs_arr; Array4<Real> data_arr;
573 Array4<Real> arr_xlo; Array4<Real> arr_xhi;
574 Array4<Real> arr_ylo; Array4<Real> arr_yhi;
576 arr_xlo = U_xlo.array(); arr_xhi = U_xhi.array();
577 arr_ylo = U_ylo.array(); arr_yhi = U_yhi.array();
580 }
else if (ivar == ivarV) {
581 arr_xlo = V_xlo.array(); arr_xhi = V_xhi.array();
582 arr_ylo = V_ylo.array(); arr_yhi = V_yhi.array();
585 }
else if (ivar == ivarT){
586 arr_xlo = T_xlo.array(); arr_xhi = T_xhi.array();
587 arr_ylo = T_ylo.array(); arr_yhi = T_yhi.array();
595 width,
dx, ProbLo, ProbHi, F1,
596 tbx_xlo , tbx_xhi , tbx_ylo , tbx_yhi ,
597 arr_xlo , arr_xhi , arr_ylo , arr_yhi ,
598 data_arr, rhs_arr , c_p,
rdOcp);
602 if (use_wrf_bdy_density) {
603 for (MFIter mfi(S_cur_data[
IntVars::cons], TilingIfNotGPU()); mfi.isValid(); ++mfi) {
604 Box domain = geom.Domain();
605 Box tbx_xlo, tbx_xhi, tbx_ylo, tbx_yhi;
607 tbx_xlo, tbx_xhi, tbx_ylo, tbx_yhi);
609 tbx_xlo, tbx_xhi, tbx_ylo, tbx_yhi,
610 r_xlo_arr, r_xhi_arr, r_ylo_arr, r_yhi_arr,
618 Box domain = geom.Domain();
619 Box domainx = convert(domain, IntVect(1,0,0));
620 Box domainy = convert(domain, IntVect(0,1,0));
622 int ilo = domainx.smallEnd(0);
623 int ihi = domainx.bigEnd(0);
624 int jlo = domainy.smallEnd(1);
625 int jhi = domainy.bigEnd(1);
628 #pragma omp parallel if (Gpu::notInLaunchRegion())
630 for (MFIter mfi(S_cur_data[
IntVars::cons],TilingIfNotGPU()); mfi.isValid(); ++mfi)
632 Box tbx = mfi.nodaltilebox(0);
634 if (tbx.smallEnd(0) == ilo) {
635 tbx_lo = makeSlab(tbx,0,ilo);
637 if (tbx.bigEnd(0) == ihi) {
638 tbx_hi = makeSlab(tbx,0,ihi);
641 Box tby = mfi.nodaltilebox(1);
643 if (tby.smallEnd(1) == jlo) {
644 tby_lo = makeSlab(tby,1,jlo);
646 if (tby.bigEnd(1) == jhi) {
647 tby_hi = makeSlab(tby,1,jhi);
653 Array4<const Real> rhs_cons = S_rhs[
IntVars::cons].const_array(mfi);
654 Array4<const Real> cons_arr = S_cur_data[
IntVars::cons].const_array(mfi);
656 const auto& bdatxlo_n = bdy_data_xlo[n_time ][ivarU].const_array();
657 const auto& bdatxlo_np1 = bdy_data_xlo[n_time_p1][ivarU].const_array();
658 const auto& bdatxhi_n = bdy_data_xhi[n_time ][ivarU].const_array();
659 const auto& bdatxhi_np1 = bdy_data_xhi[n_time_p1][ivarU].const_array();
661 const auto& bdatylo_n = bdy_data_ylo[n_time ][ivarV].const_array();
662 const auto& bdatylo_np1 = bdy_data_ylo[n_time_p1][ivarV].const_array();
663 const auto& bdatyhi_n = bdy_data_yhi[n_time ][ivarV].const_array();
664 const auto& bdatyhi_np1 = bdy_data_yhi[n_time_p1][ivarV].const_array();
666 Real dT =
static_cast<Real>(bdy_time_interval);
669 [=] AMREX_GPU_DEVICE (
int i,
int j,
int k) noexcept
671 Real rho_tend = rhs_cons(i,j,k);
672 Real rho_val =
Real(0.5) * (cons_arr(i,j,k) + cons_arr(i-1,j,k));
678 u_tend = (bdatxlo_np1(i,j,k) - bdatxlo_n(i,j,k)) / dT;
679 u_val = oma * bdatxlo_n(i,j,k) +
alpha * bdatxlo_np1(i,j,k);
681 rhs_xmom(i,j,k) = rho_val * u_tend + u_val * rho_tend;
683 [=] AMREX_GPU_DEVICE (
int i,
int j,
int k) noexcept
688 Real rho_tend = rhs_cons(i-1,j,k);
689 Real rho_val =
Real(0.5) * (cons_arr(i,j,k) + cons_arr(i-1,j,k));
695 u_tend = (bdatxhi_np1(i,j,k) - bdatxhi_n(i,j,k)) / dT;
696 u_val = oma * bdatxhi_n(i,j,k) +
alpha * bdatxhi_np1(i,j,k);
698 rhs_xmom(i,j,k) = rho_val * u_tend + u_val * rho_tend;
702 [=] AMREX_GPU_DEVICE (
int i,
int j,
int k) noexcept
704 Real rho_tend = rhs_cons(i,j,k);
705 Real rho_val =
Real(0.5) * (cons_arr(i,j,k) + cons_arr(i,j-1,k));
711 v_tend = (bdatylo_np1(i,j,k) - bdatylo_n(i,j,k)) / dT;
712 v_val = oma * bdatylo_n(i,j,k) +
alpha * bdatylo_np1(i,j,k);
714 rhs_ymom(i,j,k) = rho_val * v_tend + v_val * rho_tend;
716 [=] AMREX_GPU_DEVICE (
int i,
int j,
int k) noexcept
721 Real rho_tend = rhs_cons(i,j-1,k);
722 Real rho_val =
Real(0.5) * (cons_arr(i,j,k) + cons_arr(i,j-1,k));
728 v_tend = (bdatyhi_np1(i,j,k) - bdatyhi_n(i,j,k)) / dT;
729 v_val = oma * bdatyhi_n(i,j,k) +
alpha * bdatyhi_np1(i,j,k);
731 rhs_ymom(i,j,k) = rho_val * v_tend + v_val * rho_tend;
#define Rho_comp
Definition: ERF_IndexDefines.H:39
#define RhoTheta_comp
Definition: ERF_IndexDefines.H:40
const Real rdOcp
Definition: ERF_InitCustomPert_ABL.H:72
const Real dx
Definition: ERF_InitCustomPert_ABL.H:44
void realbdy_interior_bxs_xy(const Box &bx, const Box &domain, const int &width, Box &bx_xlo, Box &bx_xhi, Box &bx_ylo, Box &bx_yhi, const IntVect &ng_vect, const bool get_int_ng)
Definition: ERF_InteriorGhostCells.cpp:23
AMREX_FORCE_INLINE IntVect offset(const int face_dir, const int normal)
Definition: ERF_ReadBndryPlanes.cpp:31
AMREX_GPU_HOST AMREX_FORCE_INLINE void realbdy_compute_relaxation(const int &icomp, const int &num_var, const int &width, const amrex::GpuArray< amrex::Real, AMREX_SPACEDIM > &dx, const amrex::GpuArray< amrex::Real, AMREX_SPACEDIM > &ProbLo, const amrex::GpuArray< amrex::Real, AMREX_SPACEDIM > &ProbHi, const amrex::Real &F1, const amrex::Box &bx_xlo, const amrex::Box &bx_xhi, const amrex::Box &bx_ylo, const amrex::Box &bx_yhi, const amrex::Array4< const amrex::Real > &arr_xlo, const amrex::Array4< const amrex::Real > &arr_xhi, const amrex::Array4< const amrex::Real > &arr_ylo, const amrex::Array4< const amrex::Real > &arr_yhi, const amrex::Array4< const amrex::Real > &data_arr, const amrex::Array4< amrex::Real > &rhs_arr, const amrex::Real &c_p, const amrex::Real &rdOcp, const int bdy_moist_nudge_type=0)
Definition: ERF_Utils.H:329
@ RhoTheta_bc_comp
Definition: ERF_IndexDefines.H:91
@ yvel_bc
Definition: ERF_IndexDefines.H:106
@ xvel_bc
Definition: ERF_IndexDefines.H:105
@ U
Definition: ERF_IndexDefines.H:126
@ T
Definition: ERF_IndexDefines.H:128
@ V
Definition: ERF_IndexDefines.H:127
@ xvel
Definition: ERF_IndexDefines.H:215
@ cons
Definition: ERF_IndexDefines.H:214
@ yvel
Definition: ERF_IndexDefines.H:216
@ R
Definition: ERF_IndexDefines.H:155
@ rhi
Definition: ERF_WSM6.H:250
real(kind=kind_phys), parameter, private alpha
Definition: ERF_module_mp_wdm6.F90:62