Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

add option for direction-dependent bc's #136

Merged
16 changes: 10 additions & 6 deletions EBGodunov/hydro_ebgodunov_edge_state_2D.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -109,7 +109,8 @@ EBGodunov::ComputeEdgeState ( Box const& bx, int ncomp,

const auto bc = HydroBC::getBC(i, j, k, n, domain, pbc, bc_arr);

HydroBC::SetXEdgeBCs(i, j, k, n, q, lo, hi, bc.lo(0), dlo.x, bc.hi(0), dhi.x, is_velocity);
Real uad = u_mac(i,j,k);
HydroBC::SetXEdgeBCs(i, j, k, n, q, lo, hi, uad, uad, bc.lo(0), dlo.x, bc.hi(0), dhi.x, is_velocity);

xlo(i,j,k,n) = lo;
xhi(i,j,k,n) = hi;
Expand All @@ -121,7 +122,8 @@ EBGodunov::ComputeEdgeState ( Box const& bx, int ncomp,

const auto bc = HydroBC::getBC(i, j, k, n, domain, pbc, bc_arr);

HydroBC::SetYEdgeBCs(i, j, k, n, q, lo, hi, bc.lo(1), dlo.y, bc.hi(1), dhi.y, is_velocity);
Real vad = v_mac(i,j,k);
HydroBC::SetYEdgeBCs(i, j, k, n, q, lo, hi, vad, vad, bc.lo(1), dlo.y, bc.hi(1), dhi.y, is_velocity);

ylo(i,j,k,n) = lo;
yhi(i,j,k,n) = hi;
Expand All @@ -143,7 +145,7 @@ EBGodunov::ComputeEdgeState ( Box const& bx, int ncomp,
l_yzlo = ylo(i,j,k,n);
l_yzhi = yhi(i,j,k,n);
Real vad = v_mac(i,j,k);
HydroBC::SetYEdgeBCs(i, j, k, n, q, l_yzlo, l_yzhi, bc.lo(1), dlo.y, bc.hi(1), dhi.y, is_velocity);
HydroBC::SetYEdgeBCs(i, j, k, n, q, l_yzlo, l_yzhi, vad, vad, bc.lo(1), dlo.y, bc.hi(1), dhi.y, is_velocity);

Real st = (vad >= 0.) ? l_yzlo : l_yzhi;
Real fu = (amrex::Math::abs(vad) < small_vel) ? 0.0 : 1.0;
Expand Down Expand Up @@ -220,7 +222,8 @@ EBGodunov::ComputeEdgeState ( Box const& bx, int ncomp,
}

const auto bc = HydroBC::getBC(i, j, k, n, domain, pbc, bc_arr);
HydroBC::SetXEdgeBCs(i, j, k, n, q, stl, sth, bc.lo(0), dlo.x, bc.hi(0), dhi.x, is_velocity);
Real uad = u_mac(i,j,k);
HydroBC::SetXEdgeBCs(i, j, k, n, q, stl, sth, uad, uad, bc.lo(0), dlo.x, bc.hi(0), dhi.x, is_velocity);

if ( (i==dlo.x) && (bc.lo(0) == BCType::foextrap || bc.lo(0) == BCType::hoextrap) )
{
Expand Down Expand Up @@ -259,7 +262,7 @@ EBGodunov::ComputeEdgeState ( Box const& bx, int ncomp,
l_xzhi = xhi(i,j,k,n);

Real uad = u_mac(i,j,k);
HydroBC::SetXEdgeBCs(i, j, k, n, q, l_xzlo, l_xzhi, bc.lo(0), dlo.x, bc.hi(0), dhi.x, is_velocity);
HydroBC::SetXEdgeBCs(i, j, k, n, q, l_xzlo, l_xzhi, uad, uad, bc.lo(0), dlo.x, bc.hi(0), dhi.x, is_velocity);

Real st = (uad >= 0.) ? l_xzlo : l_xzhi;
Real fu = (amrex::Math::abs(uad) < small_vel) ? 0.0 : 1.0;
Expand Down Expand Up @@ -336,7 +339,8 @@ EBGodunov::ComputeEdgeState ( Box const& bx, int ncomp,
}

const auto bc = HydroBC::getBC(i, j, k, n, domain, pbc, bc_arr);
HydroBC::SetYEdgeBCs(i, j, k, n, q, stl, sth, bc.lo(1), dlo.y, bc.hi(1), dhi.y, is_velocity);
Real vad = v_mac(i,j,k);
HydroBC::SetYEdgeBCs(i, j, k, n, q, stl, sth, vad, vad, bc.lo(1), dlo.y, bc.hi(1), dhi.y, is_velocity);

if ( (j==dlo.y) && (bc.lo(1) == BCType::foextrap || bc.lo(1) == BCType::hoextrap) )
{
Expand Down
28 changes: 15 additions & 13 deletions EBGodunov/hydro_ebgodunov_edge_state_3D.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -137,8 +137,7 @@ EBGodunov::ComputeEdgeState ( Box const& bx, int ncomp,
Real uad = u_mac(i,j,k);

const auto bc = HydroBC::getBC(i, j, k, n, domain, pbc, bc_arr);

HydroBC::SetXEdgeBCs(i, j, k, n, q, lo, hi, bc.lo(0), dlo.x, bc.hi(0), dhi.x, is_velocity);
HydroBC::SetXEdgeBCs(i, j, k, n, q, lo, hi, uad, uad, bc.lo(0), dlo.x, bc.hi(0), dhi.x, is_velocity);

xlo(i,j,k,n) = lo;
xhi(i,j,k,n) = hi;
Expand All @@ -156,7 +155,7 @@ EBGodunov::ComputeEdgeState ( Box const& bx, int ncomp,

const auto bc = HydroBC::getBC(i, j, k, n, domain, pbc, bc_arr);

HydroBC::SetYEdgeBCs(i, j, k, n, q, lo, hi, bc.lo(1), dlo.y, bc.hi(1), dhi.y, is_velocity);
HydroBC::SetYEdgeBCs(i, j, k, n, q, lo, hi, vad, vad, bc.lo(1), dlo.y, bc.hi(1), dhi.y, is_velocity);

ylo(i,j,k,n) = lo;
yhi(i,j,k,n) = hi;
Expand All @@ -174,7 +173,7 @@ EBGodunov::ComputeEdgeState ( Box const& bx, int ncomp,

const auto bc = HydroBC::getBC(i, j, k, n, domain, pbc, bc_arr);

HydroBC::SetZEdgeBCs(i, j, k, n, q, lo, hi, bc.lo(2), dlo.z, bc.hi(2), dhi.z, is_velocity);
HydroBC::SetZEdgeBCs(i, j, k, n, q, lo, hi, wad, wad, bc.lo(2), dlo.z, bc.hi(2), dhi.z, is_velocity);

zlo(i,j,k,n) = lo;
zhi(i,j,k,n) = hi;
Expand Down Expand Up @@ -208,7 +207,7 @@ EBGodunov::ComputeEdgeState ( Box const& bx, int ncomp,
q, divu, apx, apy, apz, vfrac_arr, v_mac, yed);

Real wad = w_mac(i,j,k);
HydroBC::SetZEdgeBCs(i, j, k, n, q, l_zylo, l_zyhi, bc.lo(2), dlo.z, bc.hi(2), dhi.z, is_velocity);
HydroBC::SetZEdgeBCs(i, j, k, n, q, l_zylo, l_zyhi, wad, wad, bc.lo(2), dlo.z, bc.hi(2), dhi.z, is_velocity);

Real st = (wad >= 0.) ? l_zylo : l_zyhi;
Real fu = (amrex::Math::abs(wad) < small_vel) ? Real(0.0) : Real(1.0);
Expand All @@ -225,7 +224,7 @@ EBGodunov::ComputeEdgeState ( Box const& bx, int ncomp,
q, divu, apx, apy, apz, vfrac_arr, w_mac, zed);

Real vad = v_mac(i,j,k);
HydroBC::SetYEdgeBCs(i, j, k, n, q, l_yzlo, l_yzhi, bc.lo(1), dlo.y, bc.hi(1), dhi.y, is_velocity);
HydroBC::SetYEdgeBCs(i, j, k, n, q, l_yzlo, l_yzhi, vad, vad, bc.lo(1), dlo.y, bc.hi(1), dhi.y, is_velocity);

Real st = (vad >= 0.) ? l_yzlo : l_yzhi;
Real fu = (amrex::Math::abs(vad) < small_vel) ? Real(0.0) : Real(1.0);
Expand Down Expand Up @@ -304,7 +303,8 @@ EBGodunov::ComputeEdgeState ( Box const& bx, int ncomp,
}

const auto bc = HydroBC::getBC(i, j, k, n, domain, pbc, bc_arr);
HydroBC::SetXEdgeBCs(i, j, k, n, q, stl, sth, bc.lo(0), dlo.x, bc.hi(0), dhi.x, is_velocity);
Real uad = u_mac(i,j,k);
HydroBC::SetXEdgeBCs(i, j, k, n, q, stl, sth, uad, uad, bc.lo(0), dlo.x, bc.hi(0), dhi.x, is_velocity);

if ( (i==dlo.x) && (bc.lo(0) == BCType::foextrap || bc.lo(0) == BCType::hoextrap) )
{
Expand Down Expand Up @@ -345,7 +345,7 @@ EBGodunov::ComputeEdgeState ( Box const& bx, int ncomp,
q, divu, apx, apy, apz, vfrac_arr, w_mac, zed);

Real uad = u_mac(i,j,k);
HydroBC::SetXEdgeBCs(i, j, k, n, q, l_xzlo, l_xzhi, bc.lo(0), dlo.x, bc.hi(0), dhi.x, is_velocity);
HydroBC::SetXEdgeBCs(i, j, k, n, q, l_xzlo, l_xzhi, uad, uad, bc.lo(0), dlo.x, bc.hi(0), dhi.x, is_velocity);

Real st = (uad >= 0.) ? l_xzlo : l_xzhi;
Real fu = (amrex::Math::abs(uad) < small_vel) ? 0.0 : 1.0;
Expand All @@ -362,7 +362,7 @@ EBGodunov::ComputeEdgeState ( Box const& bx, int ncomp,
q, divu, apx, apy, apz, vfrac_arr, u_mac, xed);

Real wad = w_mac(i,j,k);
HydroBC::SetZEdgeBCs(i, j, k, n, q, l_zxlo, l_zxhi, bc.lo(2), dlo.z, bc.hi(2), dhi.z, is_velocity);
HydroBC::SetZEdgeBCs(i, j, k, n, q, l_zxlo, l_zxhi, wad, wad, bc.lo(2), dlo.z, bc.hi(2), dhi.z, is_velocity);

Real st = (wad >= 0.) ? l_zxlo : l_zxhi;
Real fu = (amrex::Math::abs(wad) < small_vel) ? 0.0 : 1.0;
Expand Down Expand Up @@ -441,7 +441,8 @@ EBGodunov::ComputeEdgeState ( Box const& bx, int ncomp,
}

const auto bc = HydroBC::getBC(i, j, k, n, domain, pbc, bc_arr);
HydroBC::SetYEdgeBCs(i, j, k, n, q, stl, sth, bc.lo(1), dlo.y, bc.hi(1), dhi.y, is_velocity);
Real vad = v_mac(i,j,k);
HydroBC::SetYEdgeBCs(i, j, k, n, q, stl, sth, vad, vad, bc.lo(1), dlo.y, bc.hi(1), dhi.y, is_velocity);

if ( (j==dlo.y) && (bc.lo(1) == BCType::foextrap || bc.lo(1) == BCType::hoextrap) )
{
Expand Down Expand Up @@ -480,7 +481,7 @@ EBGodunov::ComputeEdgeState ( Box const& bx, int ncomp,
q, divu, apx, apy, apz, vfrac_arr, v_mac, yed);

Real uad = u_mac(i,j,k);
HydroBC::SetXEdgeBCs(i, j, k, n, q, l_xylo, l_xyhi, bc.lo(0), dlo.x, bc.hi(0), dhi.x, is_velocity);
HydroBC::SetXEdgeBCs(i, j, k, n, q, l_xylo, l_xyhi, uad, uad, bc.lo(0), dlo.x, bc.hi(0), dhi.x, is_velocity);

Real st = (uad >= 0.) ? l_xylo : l_xyhi;
Real fu = (amrex::Math::abs(uad) < small_vel) ? 0.0 : 1.0;
Expand All @@ -497,7 +498,7 @@ EBGodunov::ComputeEdgeState ( Box const& bx, int ncomp,
q, divu, apx, apy, apz, vfrac_arr, u_mac, xed);

Real vad = v_mac(i,j,k);
HydroBC::SetYEdgeBCs(i, j, k, n, q, l_yxlo, l_yxhi, bc.lo(1), dlo.y, bc.hi(1), dhi.y, is_velocity);
HydroBC::SetYEdgeBCs(i, j, k, n, q, l_yxlo, l_yxhi, vad, vad, bc.lo(1), dlo.y, bc.hi(1), dhi.y, is_velocity);

Real st = (vad >= 0.) ? l_yxlo : l_yxhi;
Real fu = (amrex::Math::abs(vad) < small_vel) ? 0.0 : 1.0;
Expand Down Expand Up @@ -575,7 +576,8 @@ EBGodunov::ComputeEdgeState ( Box const& bx, int ncomp,
}

const auto bc = HydroBC::getBC(i, j, k, n, domain, pbc, bc_arr);
HydroBC::SetZEdgeBCs(i, j, k, n, q, stl, sth, bc.lo(2), dlo.z, bc.hi(2), dhi.z, is_velocity);
Real wad = w_mac(i,j,k);
HydroBC::SetZEdgeBCs(i, j, k, n, q, stl, sth, wad, wad, bc.lo(2), dlo.z, bc.hi(2), dhi.z, is_velocity);

if ( (k==dlo.z) && (bc.lo(2) == BCType::foextrap || bc.lo(2) == BCType::hoextrap) )
{
Expand Down
18 changes: 12 additions & 6 deletions EBGodunov/hydro_ebgodunov_extrap_vel_to_faces_2D.cpp
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

should it be uad/vad/wad here in this file instead of lo/hi or stl/sth?

Original file line number Diff line number Diff line change
Expand Up @@ -63,7 +63,8 @@ EBGodunov::ExtrapVelToFacesOnBox (Box const& /*bx*/, int ncomp,

const auto bc = HydroBC::getBC(i, j, k, n, domain, pbc, bc_arr);

HydroBC::SetXEdgeBCs(i, j, k, n, q, lo, hi, bc.lo(0), dlo.x, bc.hi(0), dhi.x, true);
HydroBC::SetXEdgeBCs(i, j, k, n, q, lo, hi, lo, hi,
bc.lo(0), dlo.x, bc.hi(0), dhi.x, true);

xlo(i,j,k,n) = lo;
xhi(i,j,k,n) = hi;
Expand All @@ -75,7 +76,8 @@ EBGodunov::ExtrapVelToFacesOnBox (Box const& /*bx*/, int ncomp,

const auto bc = HydroBC::getBC(i, j, k, n, domain, pbc, bc_arr);

HydroBC::SetYEdgeBCs(i, j, k, n, q, lo, hi, bc.lo(1), dlo.y, bc.hi(1), dhi.y, true);
HydroBC::SetYEdgeBCs(i, j, k, n, q, lo, hi, lo, hi,
bc.lo(1), dlo.y, bc.hi(1), dhi.y, true);

ylo(i,j,k,n) = lo;
yhi(i,j,k,n) = hi;
Expand Down Expand Up @@ -103,7 +105,8 @@ EBGodunov::ExtrapVelToFacesOnBox (Box const& /*bx*/, int ncomp,
l_yzlo = ylo(i,j,k,n);
l_yzhi = yhi(i,j,k,n);
Real vad = v_ad(i,j,k);
HydroBC::SetYEdgeBCs(i, j, k, n, q, l_yzlo, l_yzhi, bc.lo(1), dlo.y, bc.hi(1), dhi.y, true);
HydroBC::SetYEdgeBCs(i, j, k, n, q, l_yzlo, l_yzhi, vad, vad,
bc.lo(1), dlo.y, bc.hi(1), dhi.y, true);

Real st = (vad >= 0.) ? l_yzlo : l_yzhi;
Real fu = (amrex::Math::abs(vad) < small_vel) ? 0.0 : 1.0;
Expand Down Expand Up @@ -188,7 +191,8 @@ EBGodunov::ExtrapVelToFacesOnBox (Box const& /*bx*/, int ncomp,
}
}

HydroBC::SetXEdgeBCs(i, j, k, n, q, stl, sth, bc.lo(0), dlo.x, bc.hi(0), dhi.x, true);
HydroBC::SetXEdgeBCs(i, j, k, n, q, stl, sth, stl, sth,
bc.lo(0), dlo.x, bc.hi(0), dhi.x, true);

// Prevent backflow
if ( (i==dlo.x) && (bc.lo(0) == BCType::foextrap || bc.lo(0) == BCType::hoextrap) )
Expand Down Expand Up @@ -229,7 +233,8 @@ EBGodunov::ExtrapVelToFacesOnBox (Box const& /*bx*/, int ncomp,
l_xzhi = xhi(i,j,k,n);

Real uad = u_ad(i,j,k);
HydroBC::SetXEdgeBCs(i, j, k, n, q, l_xzlo, l_xzhi, bc.lo(0), dlo.x, bc.hi(0), dhi.x, true);
HydroBC::SetXEdgeBCs(i, j, k, n, q, l_xzlo, l_xzhi, uad, uad,
bc.lo(0), dlo.x, bc.hi(0), dhi.x, true);

Real st = (uad >= 0.) ? l_xzlo : l_xzhi;
Real fu = (amrex::Math::abs(uad) < small_vel) ? 0.0 : 1.0;
Expand Down Expand Up @@ -310,7 +315,8 @@ EBGodunov::ExtrapVelToFacesOnBox (Box const& /*bx*/, int ncomp,
}
}

HydroBC::SetYEdgeBCs(i, j, k, n, q, stl, sth, bc.lo(1), dlo.y, bc.hi(1), dhi.y, true);
HydroBC::SetYEdgeBCs(i, j, k, n, q, stl, sth, stl, sth,
bc.lo(1), dlo.y, bc.hi(1), dhi.y, true);

// Prevent backflow
if ( (j==dlo.y) && (bc.lo(1) == BCType::foextrap || bc.lo(1) == BCType::hoextrap) )
Expand Down
27 changes: 18 additions & 9 deletions EBGodunov/hydro_ebgodunov_extrap_vel_to_faces_3D.cpp
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Rplace stl/sth with uad/vad/wad?

Original file line number Diff line number Diff line change
Expand Up @@ -164,7 +164,8 @@ EBGodunov::ExtrapVelToFacesOnBox ( Box const& bx, int ncomp,
q, divu, apx, apy, apz, vfrac_arr, v_ad, yedge);

Real wad = w_ad(i,j,k);
HydroBC::SetZEdgeBCs(i, j, k, n, q, l_zylo, l_zyhi, bc.lo(2), dlo.z, bc.hi(2), dhi.z, true);
HydroBC::SetZEdgeBCs(i, j, k, n, q, l_zylo, l_zyhi, wad, wad,
bc.lo(2), dlo.z, bc.hi(2), dhi.z, true);


Real st = (wad >= 0.) ? l_zylo : l_zyhi;
Expand All @@ -182,7 +183,8 @@ EBGodunov::ExtrapVelToFacesOnBox ( Box const& bx, int ncomp,
q, divu, apx, apy, apz, vfrac_arr, w_ad, zedge);

Real vad = v_ad(i,j,k);
HydroBC::SetYEdgeBCs(i, j, k, n, q, l_yzlo, l_yzhi, bc.lo(1), dlo.y, bc.hi(1), dhi.y, true);
HydroBC::SetYEdgeBCs(i, j, k, n, q, l_yzlo, l_yzhi, vad, vad,
bc.lo(1), dlo.y, bc.hi(1), dhi.y, true);

Real st = (vad >= 0.) ? l_yzlo : l_yzhi;
Real fu = (amrex::Math::abs(vad) < small_vel) ? Real(0.0) : Real(1.0);
Expand Down Expand Up @@ -265,7 +267,8 @@ EBGodunov::ExtrapVelToFacesOnBox ( Box const& bx, int ncomp,
}
}

HydroBC::SetXEdgeBCs(i, j, k, n, q, stl, sth, bc.lo(0), dlo.x, bc.hi(0), dhi.x, true);
HydroBC::SetXEdgeBCs(i, j, k, n, q, stl, sth, stl, sth,
bc.lo(0), dlo.x, bc.hi(0), dhi.x, true);

// Prevent backflow
if ( (i==dlo.x) && (bc.lo(0) == BCType::foextrap || bc.lo(0) == BCType::hoextrap) )
Expand Down Expand Up @@ -315,7 +318,8 @@ EBGodunov::ExtrapVelToFacesOnBox ( Box const& bx, int ncomp,
q, divu, apx, apy, apz, vfrac_arr, w_ad, zedge);

Real uad = u_ad(i,j,k);
HydroBC::SetXEdgeBCs(i, j, k, n, q, l_xzlo, l_xzhi, bc.lo(0), dlo.x, bc.hi(0), dhi.x, true);
HydroBC::SetXEdgeBCs(i, j, k, n, q, l_xzlo, l_xzhi, uad, uad,
bc.lo(0), dlo.x, bc.hi(0), dhi.x, true);


Real st = (uad >= 0.) ? l_xzlo : l_xzhi;
Expand All @@ -333,7 +337,8 @@ EBGodunov::ExtrapVelToFacesOnBox ( Box const& bx, int ncomp,
q, divu, apx, apy, apz, vfrac_arr, u_ad, xedge);

Real wad = w_ad(i,j,k);
HydroBC::SetZEdgeBCs(i, j, k, n, q, l_zxlo, l_zxhi, bc.lo(2), dlo.z, bc.hi(2), dhi.z, true);
HydroBC::SetZEdgeBCs(i, j, k, n, q, l_zxlo, l_zxhi, wad, wad,
bc.lo(2), dlo.z, bc.hi(2), dhi.z, true);


Real st = (wad >= 0.) ? l_zxlo : l_zxhi;
Expand Down Expand Up @@ -417,7 +422,8 @@ EBGodunov::ExtrapVelToFacesOnBox ( Box const& bx, int ncomp,
}
}

HydroBC::SetYEdgeBCs( i, j, k, n, q, stl, sth, bc.lo(1), dlo.y, bc.hi(1), dhi.y, true);
HydroBC::SetYEdgeBCs(i, j, k, n, q, stl, sth, stl, sth,
bc.lo(1), dlo.y, bc.hi(1), dhi.y, true);

// Prevent backflow
if ( (j==dlo.y) && (bc.lo(1) == BCType::foextrap || bc.lo(1) == BCType::hoextrap) )
Expand Down Expand Up @@ -467,7 +473,8 @@ EBGodunov::ExtrapVelToFacesOnBox ( Box const& bx, int ncomp,
q, divu, apx, apy, apz, vfrac_arr, v_ad, yedge);

Real uad = u_ad(i,j,k);
HydroBC::SetXEdgeBCs(i, j, k, n, q, l_xylo, l_xyhi, bc.lo(0), dlo.x, bc.hi(0), dhi.x, true);
HydroBC::SetXEdgeBCs(i, j, k, n, q, l_xylo, l_xyhi, uad, uad,
bc.lo(0), dlo.x, bc.hi(0), dhi.x, true);


Real st = (uad >= 0.) ? l_xylo : l_xyhi;
Expand All @@ -489,7 +496,8 @@ EBGodunov::ExtrapVelToFacesOnBox ( Box const& bx, int ncomp,
q, divu, apx, apy, apz, vfrac_arr, u_ad, xedge);

Real vad = v_ad(i,j,k);
HydroBC::SetYEdgeBCs(i, j, k, n, q, l_yxlo, l_yxhi, bc.lo(1), dlo.y, bc.hi(1), dhi.y, true);
HydroBC::SetYEdgeBCs(i, j, k, n, q, l_yxlo, l_yxhi, vad, vad,
bc.lo(1), dlo.y, bc.hi(1), dhi.y, true);


Real st = (vad >= 0.) ? l_yxlo : l_yxhi;
Expand Down Expand Up @@ -572,7 +580,8 @@ EBGodunov::ExtrapVelToFacesOnBox ( Box const& bx, int ncomp,
}
}

HydroBC::SetZEdgeBCs( i, j, k, n, q, stl, sth, bc.lo(2), dlo.z, bc.hi(2), dhi.z, true);
HydroBC::SetZEdgeBCs(i, j, k, n, q, stl, sth, stl, sth,
bc.lo(2), dlo.z, bc.hi(2), dhi.z, true);


// Prevent backflow
Expand Down
18 changes: 12 additions & 6 deletions EBMOL/hydro_ebmol_edge_state_K.H
Original file line number Diff line number Diff line change
Expand Up @@ -141,7 +141,8 @@ amrex::Real hydro_ebmol_xedge_state_extdir ( AMREX_D_DECL(int i, int j, int k),

qmns = amrex::max(amrex::min(qmns, cc_qmax), cc_qmin);

HydroBC::SetXEdgeBCs(i, j, k, 0, q, qmns, qpls, d_bcrec[n].lo(0), domain_ilo, d_bcrec[n].hi(0), domain_ihi, is_velocity);
HydroBC::SetXEdgeBCs(i, j, k, 0, q, qmns, qpls, qmns, qpls,
d_bcrec[n].lo(0), domain_ilo, d_bcrec[n].hi(0), domain_ihi, is_velocity);

if ( (i==domain_ilo) && (d_bcrec[n].lo(0) == amrex::BCType::foextrap || d_bcrec[n].lo(0) == amrex::BCType::hoextrap) )
{
Expand Down Expand Up @@ -249,7 +250,8 @@ amrex::Real hydro_ebmol_xedge_state ( AMREX_D_DECL(int i, int j, int k), int n,

qmns = amrex::max(amrex::min(qmns, cc_qmax), cc_qmin);

HydroBC::SetXEdgeBCs(i, j, k, 0, q, qmns, qpls, d_bcrec[n].lo(0), domain_ilo, d_bcrec[n].hi(0), domain_ihi, is_velocity);
HydroBC::SetXEdgeBCs(i, j, k, 0, q, qmns, qpls, qmns, qpls,
d_bcrec[n].lo(0), domain_ilo, d_bcrec[n].hi(0), domain_ihi, is_velocity);

if ( (i==domain_ilo) && (d_bcrec[n].lo(0) == amrex::BCType::foextrap || d_bcrec[n].lo(0) == amrex::BCType::hoextrap) )
{
Expand Down Expand Up @@ -403,7 +405,8 @@ amrex::Real hydro_ebmol_yedge_state_extdir ( AMREX_D_DECL(int i, int j, int k),
+ delta_y * slopes_eb_lo[1];
#endif

HydroBC::SetYEdgeBCs(i, j, k, n, q, qmns, qpls, d_bcrec[n].lo(1), domain_jlo, d_bcrec[n].hi(1), domain_jhi, is_velocity);
HydroBC::SetYEdgeBCs(i, j, k, n, q, qmns, qpls, qmns, qpls,
d_bcrec[n].lo(1), domain_jlo, d_bcrec[n].hi(1), domain_jhi, is_velocity);

if ( (j==domain_jlo) && (d_bcrec[n].lo(1) == amrex::BCType::foextrap || d_bcrec[n].lo(1) == amrex::BCType::hoextrap) )
{
Expand Down Expand Up @@ -515,7 +518,8 @@ amrex::Real hydro_ebmol_yedge_state ( AMREX_D_DECL(int i, int j, int k), int n,

qmns = amrex::max(amrex::min(qmns, cc_qmax), cc_qmin);

HydroBC::SetYEdgeBCs(i, j, k, n, q, qmns, qpls, d_bcrec[n].lo(1), domain_jlo, d_bcrec[n].hi(1), domain_jhi, is_velocity);
HydroBC::SetYEdgeBCs(i, j, k, n, q, qmns, qpls, qmns, qpls,
d_bcrec[n].lo(1), domain_jlo, d_bcrec[n].hi(1), domain_jhi, is_velocity);

if ( (j==domain_jlo) && (d_bcrec[n].lo(1) == amrex::BCType::foextrap || d_bcrec[n].lo(1) == amrex::BCType::hoextrap) )
{
Expand Down Expand Up @@ -658,7 +662,8 @@ amrex::Real hydro_ebmol_zedge_state_extdir ( int i, int j, int k, int n,

qmns = amrex::max(amrex::min(qmns, cc_qmax), cc_qmin);

HydroBC::SetZEdgeBCs(i, j, k, n, q, qmns, qpls, d_bcrec[n].lo(2), domain_klo, d_bcrec[n].hi(2), domain_khi, is_velocity);
HydroBC::SetZEdgeBCs(i, j, k, n, q, qmns, qpls, qmns, qpls,
d_bcrec[n].lo(2), domain_klo, d_bcrec[n].hi(2), domain_khi, is_velocity);

if ( (k==domain_klo) && (d_bcrec[n].lo(2) == amrex::BCType::foextrap || d_bcrec[n].lo(2) == amrex::BCType::hoextrap) )
{
Expand Down Expand Up @@ -752,7 +757,8 @@ amrex::Real hydro_ebmol_zedge_state ( int i, int j, int k, int n,

qmns = amrex::max(amrex::min(qmns, cc_qmax), cc_qmin);

HydroBC::SetZEdgeBCs(i, j, k, n, q, qmns, qpls, d_bcrec[n].lo(2), domain_klo, d_bcrec[n].hi(2), domain_khi, is_velocity);
HydroBC::SetZEdgeBCs(i, j, k, n, q, qmns, qpls, qmns, qpls,
d_bcrec[n].lo(2), domain_klo, d_bcrec[n].hi(2), domain_khi, is_velocity);

if ( (k==domain_klo) && (d_bcrec[n].lo(2) == amrex::BCType::foextrap || d_bcrec[n].lo(2) == amrex::BCType::hoextrap) )
{
Expand Down
Loading