diff --git a/amrex-hydro/Doxygen/html/hydro__bcs__K_8H.html b/amrex-hydro/Doxygen/html/hydro__bcs__K_8H.html
index 3067982..66da6a5 100644
--- a/amrex-hydro/Doxygen/html/hydro__bcs__K_8H.html
+++ b/amrex-hydro/Doxygen/html/hydro__bcs__K_8H.html
@@ -159,12 +159,12 @@
Functions
|
-template<typename Limiter > |
-AMREX_GPU_HOST_DEVICE AMREX_FORCE_INLINE void | PPM::SetXBCs (const int i, const int j, const int k, const int n, amrex::Real &sm, amrex::Real &sp, amrex::Real &sedge1, amrex::Real &sedge2, const amrex::Array4< const amrex::Real > &s, const int bclo, const int bchi, const int domlo, const int domhi) |
- |
-template<typename Limiter > |
-AMREX_GPU_HOST_DEVICE AMREX_FORCE_INLINE void | PPM::SetYBCs (const int i, const int j, const int k, const int n, amrex::Real &sm, amrex::Real &sp, amrex::Real &sedge1, amrex::Real &sedge2, const amrex::Array4< const amrex::Real > &s, const int bclo, const int bchi, const int domlo, const int domhi) |
- |
+template<typename Limiter > |
+AMREX_GPU_HOST_DEVICE AMREX_FORCE_INLINE void | PPM::SetXBCs (const int i, const int j, const int k, const int n, amrex::Real &sm, amrex::Real &sp, amrex::Real &sedge1, amrex::Real &sedge2, const amrex::Array4< const amrex::Real > &s, const amrex::Real velm, const amrex::Real velp, const int bclo, const int bchi, const int domlo, const int domhi) |
+ |
+template<typename Limiter > |
+AMREX_GPU_HOST_DEVICE AMREX_FORCE_INLINE void | PPM::SetYBCs (const int i, const int j, const int k, const int n, amrex::Real &sm, amrex::Real &sp, amrex::Real &sedge1, amrex::Real &sedge2, const amrex::Array4< const amrex::Real > &s, const amrex::Real velm, const amrex::Real velp, const int bclo, const int bchi, const int domlo, const int domhi) |
+ |
template<typename Limiter > |
AMREX_GPU_HOST_DEVICE AMREX_FORCE_INLINE void | PPM::PredictVelOnXFace (const int i, const int j, const int k, const int n, const amrex::Real dtdx, const amrex::Real v_ad, const amrex::Array4< const amrex::Real > &S, const amrex::Array4< amrex::Real > &Im, const amrex::Array4< amrex::Real > &Ip, const amrex::BCRec bc, const int domlo, const int domhi, const Limiter &) |
|
diff --git a/amrex-hydro/Doxygen/html/hydro__godunov__ppm_8H.js b/amrex-hydro/Doxygen/html/hydro__godunov__ppm_8H.js
index 995d4fb..0ae55bf 100644
--- a/amrex-hydro/Doxygen/html/hydro__godunov__ppm_8H.js
+++ b/amrex-hydro/Doxygen/html/hydro__godunov__ppm_8H.js
@@ -16,7 +16,7 @@ var hydro__godunov__ppm_8H =
[ "PredictVelOnFaces", "hydro__godunov__ppm_8H.html#afc01feca9b1f93c06521af5d6591c22c", null ],
[ "PredictVelOnXFace", "hydro__godunov__ppm_8H.html#adb2496aca52fb5c10215b6b2e51dd56a", null ],
[ "PredictVelOnYFace", "hydro__godunov__ppm_8H.html#a2508ebdfc4ebe06e3a4a4b3b45e1e14f", null ],
- [ "SetXBCs", "hydro__godunov__ppm_8H.html#ad5bb40375d5bfdec96a5906cf7ef365d", null ],
- [ "SetYBCs", "hydro__godunov__ppm_8H.html#aa3ffd2df3e546aecfc2301f5b6f8f7d0", null ],
+ [ "SetXBCs", "hydro__godunov__ppm_8H.html#a90c9fcca9c5e4a4098dcccf9aaead891", null ],
+ [ "SetYBCs", "hydro__godunov__ppm_8H.html#abf337b316b14038fe9d5eace8e23b1be", null ],
[ "default_limiter", "hydro__godunov__ppm_8H.html#a4f476328680db9ab71492a158fce0749", null ]
];
\ No newline at end of file
diff --git a/amrex-hydro/Doxygen/html/hydro__godunov__ppm_8H__incl.map b/amrex-hydro/Doxygen/html/hydro__godunov__ppm_8H__incl.map
index 25ae569..5bfc179 100644
--- a/amrex-hydro/Doxygen/html/hydro__godunov__ppm_8H__incl.map
+++ b/amrex-hydro/Doxygen/html/hydro__godunov__ppm_8H__incl.map
@@ -1,8 +1,9 @@
diff --git a/amrex-hydro/Doxygen/html/hydro__godunov__ppm_8H__incl.md5 b/amrex-hydro/Doxygen/html/hydro__godunov__ppm_8H__incl.md5
index 7616be2..aed5ec1 100644
--- a/amrex-hydro/Doxygen/html/hydro__godunov__ppm_8H__incl.md5
+++ b/amrex-hydro/Doxygen/html/hydro__godunov__ppm_8H__incl.md5
@@ -1 +1 @@
-8872486f1ef7b1bb128780f7e7370160
\ No newline at end of file
+9d8b2f25a31f65a6f50b2a40d3a28b2b
\ No newline at end of file
diff --git a/amrex-hydro/Doxygen/html/hydro__godunov__ppm_8H__incl.png b/amrex-hydro/Doxygen/html/hydro__godunov__ppm_8H__incl.png
index 0d0d014..a3a80be 100644
Binary files a/amrex-hydro/Doxygen/html/hydro__godunov__ppm_8H__incl.png and b/amrex-hydro/Doxygen/html/hydro__godunov__ppm_8H__incl.png differ
diff --git a/amrex-hydro/Doxygen/html/hydro__godunov__ppm_8H_source.html b/amrex-hydro/Doxygen/html/hydro__godunov__ppm_8H_source.html
index 6ff06d7..e000fcb 100644
--- a/amrex-hydro/Doxygen/html/hydro__godunov__ppm_8H_source.html
+++ b/amrex-hydro/Doxygen/html/hydro__godunov__ppm_8H_source.html
@@ -108,922 +108,937 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 28 const amrex::Real sm1,
-
- 30 const amrex::Real sp1,
-
-
-
- 34 amrex::Real d1 = amrex::Real(0.5) * (sp1 - sm1);
- 35 amrex::Real d2 = amrex::Real(0.5) * (s0 - sm2);
-
- 37 amrex::Real sedge = amrex::Real(0.5)*(s0 + sm1) - amrex::Real(1./6.)*(d1 - d2);
-
-
-
-
-
-
-
- 45 const amrex::Real sm1,
-
- 47 const amrex::Real sp1,
- 48 const amrex::Real sp2)
-
- 50 amrex::Real d1 = amrex::Real(0.5) * (sp2 - s0);
- 51 amrex::Real d2 = amrex::Real(0.5) * (sp1 - sm1);
-
- 53 amrex::Real sedge = amrex::Real(0.5)*(sp1 + s0) - amrex::Real(1./6.)*(d1 - d2);
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 72 static amrex::Real
vanLeer(
const amrex::Real a,
const amrex::Real b,
const amrex::Real c)
-
- 74 constexpr
auto small_qty_sq = amrex::Real(1.e-10) * amrex::Real(1.e-10);
-
- 76 amrex::Real dsc = amrex::Real(0.5)*(
b - c);
- 77 amrex::Real dsl = amrex::Real(2.0)*(a - c);
- 78 amrex::Real dsr = amrex::Real(2.0)*(
b - a);
- 79 return (dsl*dsr > small_qty_sq) ?
- 80 std::copysign(amrex::Real(1.0), dsc)*
amrex::min(amrex::Math::abs(dsc),
amrex::min(amrex::Math::abs(dsl),
- 81 amrex::Math::abs(dsr))) : amrex::Real(0.0);
-
-
-
-
-
- 87 const amrex::Real sm1,
-
- 89 const amrex::Real sp1,
-
-
-
- 93 amrex::Real d1 =
vanLeer(s0,sp1,sm1);
- 94 amrex::Real d2 =
vanLeer(sm1,s0,sm2);
-
- 96 amrex::Real sedge = amrex::Real(0.5)*(s0 + sm1) - amrex::Real(1./6.)*(d1 - d2);
-
-
-
-
-
-
-
- 104 const amrex::Real sm1,
- 105 const amrex::Real s0,
- 106 const amrex::Real sp1,
- 107 const amrex::Real sp2)
-
-
- 110 amrex::Real d1 =
vanLeer(sp1,sp2,s0);
- 111 amrex::Real d2 =
vanLeer(s0,sp1,sm1);
-
- 113 amrex::Real sedge = amrex::Real(0.5)*(sp1 + s0) - amrex::Real(1./6.)*(d1 - d2);
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 29 const amrex::Real sm1,
+
+ 31 const amrex::Real sp1,
+
+
+
+ 35 amrex::Real d1 = amrex::Real(0.5) * (sp1 - sm1);
+ 36 amrex::Real d2 = amrex::Real(0.5) * (s0 - sm2);
+
+ 38 amrex::Real sedge = amrex::Real(0.5)*(s0 + sm1) - amrex::Real(1./6.)*(d1 - d2);
+
+
+
+
+
+
+
+ 46 const amrex::Real sm1,
+
+ 48 const amrex::Real sp1,
+ 49 const amrex::Real sp2)
+
+ 51 amrex::Real d1 = amrex::Real(0.5) * (sp2 - s0);
+ 52 amrex::Real d2 = amrex::Real(0.5) * (sp1 - sm1);
+
+ 54 amrex::Real sedge = amrex::Real(0.5)*(sp1 + s0) - amrex::Real(1./6.)*(d1 - d2);
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 73 static amrex::Real
vanLeer(
const amrex::Real a,
const amrex::Real b,
const amrex::Real c)
+
+ 75 constexpr
auto small_qty_sq = amrex::Real(1.e-10) * amrex::Real(1.e-10);
+
+ 77 amrex::Real dsc = amrex::Real(0.5)*(
b - c);
+ 78 amrex::Real dsl = amrex::Real(2.0)*(a - c);
+ 79 amrex::Real dsr = amrex::Real(2.0)*(
b - a);
+ 80 return (dsl*dsr > small_qty_sq) ?
+ 81 std::copysign(amrex::Real(1.0), dsc)*
amrex::min(amrex::Math::abs(dsc),
amrex::min(amrex::Math::abs(dsl),
+ 82 amrex::Math::abs(dsr))) : amrex::Real(0.0);
+
+
+
+
+
+ 88 const amrex::Real sm1,
+
+ 90 const amrex::Real sp1,
+
+
+
+ 94 amrex::Real d1 =
vanLeer(s0,sp1,sm1);
+ 95 amrex::Real d2 =
vanLeer(sm1,s0,sm2);
+
+ 97 amrex::Real sedge = amrex::Real(0.5)*(s0 + sm1) - amrex::Real(1./6.)*(d1 - d2);
+
+
+
+
+
+
+
+ 105 const amrex::Real sm1,
+ 106 const amrex::Real s0,
+ 107 const amrex::Real sp1,
+ 108 const amrex::Real sp2)
+
+
+ 111 amrex::Real d1 =
vanLeer(sp1,sp2,s0);
+ 112 amrex::Real d2 =
vanLeer(s0,sp1,sm1);
+
+ 114 amrex::Real sedge = amrex::Real(0.5)*(sp1 + s0) - amrex::Real(1./6.)*(d1 - d2);
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 131 }
else if (amrex::Math::abs(
sedge2-s0) >= amrex::Real(2.0)*amrex::Math::abs(
sedge1-s0)) {
- 132 sp_ = amrex::Real(3.0)*s0 - amrex::Real(2.0)*
sedge1;
- 133 }
else if (amrex::Math::abs(
sedge1-s0) >= amrex::Real(2.0)*amrex::Math::abs(
sedge2-s0)) {
- 134 sm_ = amrex::Real(3.0)*s0 - amrex::Real(2.0)*
sedge2;
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 163 const amrex::Real sm1,
- 164 const amrex::Real s0,
- 165 const amrex::Real sp1,
- 166 const amrex::Real sp2)
-
- 168 constexpr
auto eps = amrex::Real(1.0e-6);
-
- 170 const amrex::Real beta1 =
- 171 amrex::Real(13.0) / amrex::Real(12.0) * (sm2 - amrex::Real(2.0) * sm1 + s0) * (sm2 - amrex::Real(2.0) * sm1 + s0) +
- 172 amrex::Real(0.25) * (sm2 - amrex::Real(4.0) * sm1 + amrex::Real(3.0) * s0) * (sm2 - amrex::Real(4.0) * sm1 + amrex::Real(3.0) * s0);
- 173 const amrex::Real beta2 =
- 174 amrex::Real(13.0) / amrex::Real(12.0) * (sm1 - amrex::Real(2.0) * s0 + sp1) * (sm1 - amrex::Real(2.0) * s0 + sp1) +
- 175 amrex::Real(0.25) * (sm1 - sp1) * (sm1 - sp1);
- 176 const amrex::Real beta3 =
- 177 amrex::Real(13.0) / amrex::Real(12.0) * (s0 - amrex::Real(2.0) * sp1 + sp2) * (s0 - amrex::Real(2.0) * sp1 + sp2) +
- 178 amrex::Real(0.25) * (amrex::Real(3.0) * s0 - amrex::Real(4.0) * sp1 + sp2) * (amrex::Real(3.0) * s0 - amrex::Real(4.0) * sp1 + sp2);
-
- 180 const amrex::Real t5 = amrex::Math::abs(beta3 - beta1);
- 181 const amrex::Real omega1 = amrex::Real(0.1) * (amrex::Real(1.0) + t5 / (
eps + beta1));
- 182 const amrex::Real omega2 = amrex::Real(0.6) * (amrex::Real(1.0) + t5 / (
eps + beta2));
- 183 const amrex::Real omega3 = amrex::Real(0.3) * (amrex::Real(1.0) + t5 / (
eps + beta3));
-
- 185 const amrex::Real omega = omega1 + omega2 + omega3;
-
- 187 const amrex::Real v_1 = amrex::Real(2.0) * sm2 - amrex::Real(7.0) * sm1 + amrex::Real(11.0) * s0;
- 188 const amrex::Real v_2 = -sm1 + amrex::Real(5.0) * s0 + amrex::Real(2.0) * sp1;
- 189 const amrex::Real v_3 = amrex::Real(2.0) * s0 + amrex::Real(5.0) * sp1 - sp2;
-
- 191 return (omega1 * v_1 + omega2 * v_2 + omega3 * v_3) / (amrex::Real(6.0) * omega);
-
-
-
-
-
- 197 const amrex::Real sm1,
- 198 const amrex::Real s0,
- 199 const amrex::Real sp1,
- 200 const amrex::Real sp2)
-
- 202 return sedge2(sp2,sp1,s0,sm1,sm2);
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 222 const amrex::Real sm1,
- 223 const amrex::Real s0,
- 224 const amrex::Real sp1,
- 225 const amrex::Real sp2)
-
- 227 constexpr
auto eps = amrex::Real(1.0e-6);
-
- 229 const amrex::Real beta1 =
- 230 amrex::Real(13.0) / amrex::Real(12.0) * (sm2 - amrex::Real(2.0) * sm1 + s0) *
- 231 (sm2 - amrex::Real(2.0) * sm1 + s0) +
- 232 amrex::Real(0.25) * (sm2 - amrex::Real(4.0) * sm1 + amrex::Real(3.0) * s0) *
- 233 (sm2 - amrex::Real(4.0) * sm1 + amrex::Real(3.0) * s0);
- 234 const amrex::Real beta2 =
- 235 amrex::Real(13.0) / amrex::Real(12.0) * (sm1 - amrex::Real(2.0) * s0 + sp1) *
- 236 (sm1 - amrex::Real(2.0) * s0 + sp1) +
- 237 amrex::Real(0.25) * (sm1 - sp1) * (sm1 - sp1);
- 238 const amrex::Real beta3 =
- 239 amrex::Real(13.0) / amrex::Real(12.0) * (s0 - amrex::Real(2.0) * sp1 + sp2) *
- 240 (s0 - amrex::Real(2.0) * sp1 + sp2) +
- 241 amrex::Real(0.25) * (amrex::Real(3.0) * s0 - amrex::Real(4.0) * sp1 + sp2) *
- 242 (amrex::Real(3.0) * s0 - amrex::Real(4.0) * sp1 + sp2);
-
- 244 const amrex::Real omega1 = amrex::Real(0.1) / (
eps + beta1);
- 245 const amrex::Real omega2 = amrex::Real(0.6) / (
eps + beta2);
- 246 const amrex::Real omega3 = amrex::Real(0.3) / (
eps + beta3);
-
- 248 const amrex::Real omega = omega1 + omega2 + omega3;
-
- 250 const amrex::Real v_1 = amrex::Real(2.0) * sm2 - amrex::Real(7.0) * sm1 + amrex::Real(11.0) * s0;
- 251 const amrex::Real v_2 = -sm1 + amrex::Real(5.0) * s0 + amrex::Real(2.0) * sp1;
- 252 const amrex::Real v_3 = amrex::Real(2.0) * s0 + amrex::Real(5.0) * sp1 - sp2;
-
- 254 return (omega1 * v_1 + omega2 * v_2 + omega3 * v_3) / (amrex::Real(6.0) * omega);
-
-
-
-
-
- 260 const amrex::Real sm1,
- 261 const amrex::Real s0,
- 262 const amrex::Real sp1,
- 263 const amrex::Real sp2)
-
- 265 return sedge2(sp2,sp1,s0,sm1,sm2);
-
-
-
-
-
-
-
-
-
-
-
-
- 278 template <
typename Limiter>
-
- 280 void SetXBCs (
const int i,
const int j,
const int k,
const int n,
- 281 amrex::Real &sm, amrex::Real &sp,
- 282 amrex::Real &sedge1, amrex::Real &sedge2,
-
- 284 const int bclo,
const int bchi,
- 285 const int domlo,
const int domhi)
-
- 287 using namespace amrex;
-
- 289 if (bclo == BCType::ext_dir || bclo == BCType::hoextrap)
-
-
-
- 293 sedge2 = -amrex::Real(0.2)*s(domlo-1,j,k,n) + amrex::Real(0.75)*s(domlo,j, k, n)
- 294 +amrex::Real(0.5)*s(domlo+1,j,k,n) - amrex::Real(0.05)*s(domlo+2,j,k,n);
- 295 if constexpr (Limiter::do_limiting) {
-
-
-
-
- 300 sm = s(domlo-1,j,k,n);
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 132 }
else if (amrex::Math::abs(
sedge2-s0) >= amrex::Real(2.0)*amrex::Math::abs(
sedge1-s0)) {
+ 133 sp_ = amrex::Real(3.0)*s0 - amrex::Real(2.0)*
sedge1;
+ 134 }
else if (amrex::Math::abs(
sedge1-s0) >= amrex::Real(2.0)*amrex::Math::abs(
sedge2-s0)) {
+ 135 sm_ = amrex::Real(3.0)*s0 - amrex::Real(2.0)*
sedge2;
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 164 const amrex::Real sm1,
+ 165 const amrex::Real s0,
+ 166 const amrex::Real sp1,
+ 167 const amrex::Real sp2)
+
+ 169 constexpr
auto eps = amrex::Real(1.0e-6);
+
+ 171 const amrex::Real beta1 =
+ 172 amrex::Real(13.0) / amrex::Real(12.0) * (sm2 - amrex::Real(2.0) * sm1 + s0) * (sm2 - amrex::Real(2.0) * sm1 + s0) +
+ 173 amrex::Real(0.25) * (sm2 - amrex::Real(4.0) * sm1 + amrex::Real(3.0) * s0) * (sm2 - amrex::Real(4.0) * sm1 + amrex::Real(3.0) * s0);
+ 174 const amrex::Real beta2 =
+ 175 amrex::Real(13.0) / amrex::Real(12.0) * (sm1 - amrex::Real(2.0) * s0 + sp1) * (sm1 - amrex::Real(2.0) * s0 + sp1) +
+ 176 amrex::Real(0.25) * (sm1 - sp1) * (sm1 - sp1);
+ 177 const amrex::Real beta3 =
+ 178 amrex::Real(13.0) / amrex::Real(12.0) * (s0 - amrex::Real(2.0) * sp1 + sp2) * (s0 - amrex::Real(2.0) * sp1 + sp2) +
+ 179 amrex::Real(0.25) * (amrex::Real(3.0) * s0 - amrex::Real(4.0) * sp1 + sp2) * (amrex::Real(3.0) * s0 - amrex::Real(4.0) * sp1 + sp2);
+
+ 181 const amrex::Real t5 = amrex::Math::abs(beta3 - beta1);
+ 182 const amrex::Real omega1 = amrex::Real(0.1) * (amrex::Real(1.0) + t5 / (
eps + beta1));
+ 183 const amrex::Real omega2 = amrex::Real(0.6) * (amrex::Real(1.0) + t5 / (
eps + beta2));
+ 184 const amrex::Real omega3 = amrex::Real(0.3) * (amrex::Real(1.0) + t5 / (
eps + beta3));
+
+ 186 const amrex::Real omega = omega1 + omega2 + omega3;
+
+ 188 const amrex::Real v_1 = amrex::Real(2.0) * sm2 - amrex::Real(7.0) * sm1 + amrex::Real(11.0) * s0;
+ 189 const amrex::Real v_2 = -sm1 + amrex::Real(5.0) * s0 + amrex::Real(2.0) * sp1;
+ 190 const amrex::Real v_3 = amrex::Real(2.0) * s0 + amrex::Real(5.0) * sp1 - sp2;
+
+ 192 return (omega1 * v_1 + omega2 * v_2 + omega3 * v_3) / (amrex::Real(6.0) * omega);
+
+
+
+
+
+ 198 const amrex::Real sm1,
+ 199 const amrex::Real s0,
+ 200 const amrex::Real sp1,
+ 201 const amrex::Real sp2)
+
+ 203 return sedge2(sp2,sp1,s0,sm1,sm2);
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 223 const amrex::Real sm1,
+ 224 const amrex::Real s0,
+ 225 const amrex::Real sp1,
+ 226 const amrex::Real sp2)
+
+ 228 constexpr
auto eps = amrex::Real(1.0e-6);
+
+ 230 const amrex::Real beta1 =
+ 231 amrex::Real(13.0) / amrex::Real(12.0) * (sm2 - amrex::Real(2.0) * sm1 + s0) *
+ 232 (sm2 - amrex::Real(2.0) * sm1 + s0) +
+ 233 amrex::Real(0.25) * (sm2 - amrex::Real(4.0) * sm1 + amrex::Real(3.0) * s0) *
+ 234 (sm2 - amrex::Real(4.0) * sm1 + amrex::Real(3.0) * s0);
+ 235 const amrex::Real beta2 =
+ 236 amrex::Real(13.0) / amrex::Real(12.0) * (sm1 - amrex::Real(2.0) * s0 + sp1) *
+ 237 (sm1 - amrex::Real(2.0) * s0 + sp1) +
+ 238 amrex::Real(0.25) * (sm1 - sp1) * (sm1 - sp1);
+ 239 const amrex::Real beta3 =
+ 240 amrex::Real(13.0) / amrex::Real(12.0) * (s0 - amrex::Real(2.0) * sp1 + sp2) *
+ 241 (s0 - amrex::Real(2.0) * sp1 + sp2) +
+ 242 amrex::Real(0.25) * (amrex::Real(3.0) * s0 - amrex::Real(4.0) * sp1 + sp2) *
+ 243 (amrex::Real(3.0) * s0 - amrex::Real(4.0) * sp1 + sp2);
+
+ 245 const amrex::Real omega1 = amrex::Real(0.1) / (
eps + beta1);
+ 246 const amrex::Real omega2 = amrex::Real(0.6) / (
eps + beta2);
+ 247 const amrex::Real omega3 = amrex::Real(0.3) / (
eps + beta3);
+
+ 249 const amrex::Real omega = omega1 + omega2 + omega3;
+
+ 251 const amrex::Real v_1 = amrex::Real(2.0) * sm2 - amrex::Real(7.0) * sm1 + amrex::Real(11.0) * s0;
+ 252 const amrex::Real v_2 = -sm1 + amrex::Real(5.0) * s0 + amrex::Real(2.0) * sp1;
+ 253 const amrex::Real v_3 = amrex::Real(2.0) * s0 + amrex::Real(5.0) * sp1 - sp2;
+
+ 255 return (omega1 * v_1 + omega2 * v_2 + omega3 * v_3) / (amrex::Real(6.0) * omega);
+
+
+
+
+
+ 261 const amrex::Real sm1,
+ 262 const amrex::Real s0,
+ 263 const amrex::Real sp1,
+ 264 const amrex::Real sp2)
+
+ 266 return sedge2(sp2,sp1,s0,sm1,sm2);
+
+
+
+
+
+
+
+
+
+
+
+
+ 279 template <
typename Limiter>
+
+ 281 void SetXBCs (
const int i,
const int j,
const int k,
const int n,
+ 282 amrex::Real &sm, amrex::Real &sp,
+ 283 amrex::Real &sedge1, amrex::Real &sedge2,
+
+ 285 const amrex::Real velm,
const amrex::Real velp,
+ 286 const int bclo,
const int bchi,
+ 287 const int domlo,
const int domhi)
+
+ 289 using namespace amrex;
+
+ 291 if ( (bclo == BCType::ext_dir) || (bclo == BCType::hoextrap) ||
+ 292 (bclo == BCType::direction_dependent && velp >= 0.0) )
+
+
+
+ 296 sedge2 = -amrex::Real(0.2)*s(domlo-1,j,k,n) + amrex::Real(0.75)*s(domlo,j, k, n)
+ 297 +amrex::Real(0.5)*s(domlo+1,j,k,n) - amrex::Real(0.05)*s(domlo+2,j,k,n);
+ 298 if constexpr (Limiter::do_limiting) {
+
+
+
- 303 }
else if (i == domlo+1) {
-
- 305 sedge1 = -amrex::Real(0.2)*s(domlo-1,j,k,n) + amrex::Real(0.75)*s(domlo ,j,k,n)
- 306 + amrex::Real(0.5)*s(domlo+1,j,k,n) - amrex::Real(0.05)*s(domlo+2,j,k,n);
- 307 if constexpr (Limiter::do_limiting) {
-
-
-
-
-
-
+ 303 sm = s(domlo-1,j,k,n);
+
+
+ 306 }
else if (i == domlo+1) {
+
+ 308 sedge1 = -amrex::Real(0.2)*s(domlo-1,j,k,n) + amrex::Real(0.75)*s(domlo ,j,k,n)
+ 309 + amrex::Real(0.5)*s(domlo+1,j,k,n) - amrex::Real(0.05)*s(domlo+2,j,k,n);
+ 310 if constexpr (Limiter::do_limiting) {
+
+
+
- 315 if constexpr (Limiter::do_limiting) {
- 316 if ( (sp - s(domlo+1,j,k,n))*(s(domlo+1,j,k,n) - sm) <= amrex::Real(0.0))
-
- 318 sp = s(domlo+1,j,k,n);
- 319 sm = s(domlo+1,j,k,n);
- 320 }
else if(amrex::Math::abs(sp - s(domlo+1,j,k,n)) >= amrex::Real(2.0)*amrex::Math::abs(sm - s(domlo+1,j,k,n))) {
- 321 sp = amrex::Real(3.0)*s(domlo+1,j,k,n) - amrex::Real(2.0)*sm;
- 322 }
else if(amrex::Math::abs(sm - s(domlo+1,j,k,n)) >= amrex::Real(2.0)*amrex::Math::abs(sp - s(domlo+1,j,k,n))) {
- 323 sm = amrex::Real(3.0)*s(domlo+1,j,k,n) - amrex::Real(2.0)*sp;
-
-
-
-
-
- 329 if (bchi == BCType::ext_dir || bchi == BCType::hoextrap)
-
-
-
- 333 sedge1 = -amrex::Real(0.2)*s(domhi+1,j,k,n) + amrex::Real(0.75)*s(domhi,j,k, n)
- 334 +amrex::Real(0.5)*s(domhi-1,j,k,n) - amrex::Real(0.05)*s(domhi-2,j,k,n);
- 335 if constexpr (Limiter::do_limiting) {
-
-
-
-
- 340 sp = s(domhi+1,j,k,n);
-
-
- 343 }
else if (i == domhi-1) {
-
- 345 sedge2 = -amrex::Real(0.2)*s(domhi+1,j,k,n) + amrex::Real(0.75)*s(domhi ,j,k,n)
- 346 +amrex::Real(0.5)*s(domhi-1,j,k,n) - amrex::Real(0.05)*s(domhi-2,j,k,n);
- 347 if constexpr (Limiter::do_limiting) {
-
-
-
-
-
-
-
- 355 if constexpr (Limiter::do_limiting) {
- 356 if( (sp - s(domhi-1,j,k,n))*(s(domhi-1,j,k,n) - sm) <= amrex::Real(0.0))
-
- 358 sp = s(domhi-1,j,k,n);
- 359 sm = s(domhi-1,j,k,n);
- 360 }
else if(amrex::Math::abs(sp - s(domhi-1,j,k,n)) >= 2.*amrex::Math::abs(sm - s(domhi-1,j,k,n))) {
- 361 sp = amrex::Real(3.0)*s(domhi-1,j,k,n) - amrex::Real(2.0)*sm;
- 362 }
else if(amrex::Math::abs(sm - s(domhi-1,j,k,n)) >= 2.*amrex::Math::abs(sp - s(domhi-1,j,k,n))) {
- 363 sm = amrex::Real(3.0)*s(domhi-1,j,k,n) - amrex::Real(2.0)*sp;
-
-
-
-
-
-
- 370 template <
typename Limiter>
-
- 372 void SetYBCs (
const int i,
const int j,
const int k,
const int n,
- 373 amrex::Real &sm, amrex::Real &sp,
- 374 amrex::Real &sedge1, amrex::Real &sedge2,
-
- 376 const int bclo,
const int bchi,
- 377 const int domlo,
const int domhi)
-
- 379 using namespace amrex;
-
- 381 if (bclo == BCType::ext_dir || bclo == BCType::hoextrap)
-
-
-
- 385 sedge2 = -amrex::Real(0.2)*s(i,domlo-1,k,n) + amrex::Real(0.75)*s(i,domlo ,k,n)
- 386 +amrex::Real(0.5)*s(i,domlo+1,k,n) - amrex::Real(0.05)*s(i,domlo+2,k,n);
- 387 if constexpr (Limiter::do_limiting) {
-
-
-
-
- 392 sm = s(i,domlo-1,k,n);
-
-
- 395 }
else if (j == domlo+1) {
-
- 397 sedge1 = -amrex::Real(0.2)*s(i,domlo-1,k,n) + amrex::Real(0.75)*s(i,domlo ,k,n)
- 398 +amrex::Real(0.5)*s(i,domlo+1,k,n) - amrex::Real(0.05)*s(i,domlo+2,k,n);
- 399 if constexpr (Limiter::do_limiting) {
-
-
-
-
-
-
-
- 407 if constexpr (Limiter::do_limiting) {
- 408 if ( (sp - s(i,domlo+1,k,n))*(s(i,domlo+1,k,n) - sm) <= amrex::Real(0.0))
-
- 410 sp = s(i,domlo+1,k,n);
- 411 sm = s(i,domlo+1,k,n);
- 412 }
else if(amrex::Math::abs(sp - s(i,domlo+1,k,n)) >= amrex::Real(2.0)*amrex::Math::abs(sm - s(i,domlo+1,k,n))) {
- 413 sp = amrex::Real(3.0)*s(i,domlo+1,k,n) - amrex::Real(2.0)*sm;
- 414 }
else if(amrex::Math::abs(sm - s(i,domlo+1,k,n)) >= amrex::Real(2.0)*amrex::Math::abs(sp - s(i,domlo+1,k,n))) {
- 415 sm = amrex::Real(3.0)*s(i,domlo+1,k,n) - amrex::Real(2.0)*sp;
-
-
-
-
-
- 421 if (bchi == BCType::ext_dir || bchi == BCType::hoextrap)
-
-
-
- 425 sedge1 = -amrex::Real(0.2)*s(i,domhi+1,k,n) + amrex::Real(0.75)*s(i,domhi ,k,n)
- 426 +amrex::Real(0.5)*s(i,domhi-1,k,n) - amrex::Real(0.05)*s(i,domhi-2,k,n);
- 427 if constexpr (Limiter::do_limiting) {
-
-
-
-
- 432 sp = s(i,domhi+1,k, n);
-
-
- 435 }
else if (j == domhi-1) {
-
- 437 sedge2 = -amrex::Real(0.2)*s(i,domhi+1,k,n) + amrex::Real(0.75)*s(i,domhi ,k,n)
- 438 +amrex::Real(0.5)*s(i,domhi-1,k,n) - amrex::Real(0.05)*s(i,domhi-2,k,n);
- 439 if constexpr (Limiter::do_limiting) {
-
-
-
+
+
+
+ 318 if constexpr (Limiter::do_limiting) {
+ 319 if ( (sp - s(domlo+1,j,k,n))*(s(domlo+1,j,k,n) - sm) <= amrex::Real(0.0))
+
+ 321 sp = s(domlo+1,j,k,n);
+ 322 sm = s(domlo+1,j,k,n);
+ 323 }
else if(amrex::Math::abs(sp - s(domlo+1,j,k,n)) >= amrex::Real(2.0)*amrex::Math::abs(sm - s(domlo+1,j,k,n))) {
+ 324 sp = amrex::Real(3.0)*s(domlo+1,j,k,n) - amrex::Real(2.0)*sm;
+ 325 }
else if(amrex::Math::abs(sm - s(domlo+1,j,k,n)) >= amrex::Real(2.0)*amrex::Math::abs(sp - s(domlo+1,j,k,n))) {
+ 326 sm = amrex::Real(3.0)*s(domlo+1,j,k,n) - amrex::Real(2.0)*sp;
+
+
+
+
+
+ 332 if ( (bchi == BCType::ext_dir) || (bchi == BCType::hoextrap) ||
+ 333 (bchi == BCType::direction_dependent && velm <= 0.0) )
+
+
+
+ 337 sedge1 = -amrex::Real(0.2)*s(domhi+1,j,k,n) + amrex::Real(0.75)*s(domhi,j,k, n)
+ 338 +amrex::Real(0.5)*s(domhi-1,j,k,n) - amrex::Real(0.05)*s(domhi-2,j,k,n);
+ 339 if constexpr (Limiter::do_limiting) {
+
+
+
+
+ 344 sp = s(domhi+1,j,k,n);
+
+
+ 347 }
else if (i == domhi-1) {
+
+ 349 sedge2 = -amrex::Real(0.2)*s(domhi+1,j,k,n) + amrex::Real(0.75)*s(domhi ,j,k,n)
+ 350 +amrex::Real(0.5)*s(domhi-1,j,k,n) - amrex::Real(0.05)*s(domhi-2,j,k,n);
+ 351 if constexpr (Limiter::do_limiting) {
+
+
+
+
+
+
+
+ 359 if constexpr (Limiter::do_limiting) {
+ 360 if( (sp - s(domhi-1,j,k,n))*(s(domhi-1,j,k,n) - sm) <= amrex::Real(0.0))
+
+ 362 sp = s(domhi-1,j,k,n);
+ 363 sm = s(domhi-1,j,k,n);
+ 364 }
else if(amrex::Math::abs(sp - s(domhi-1,j,k,n)) >= 2.*amrex::Math::abs(sm - s(domhi-1,j,k,n))) {
+ 365 sp = amrex::Real(3.0)*s(domhi-1,j,k,n) - amrex::Real(2.0)*sm;
+ 366 }
else if(amrex::Math::abs(sm - s(domhi-1,j,k,n)) >= 2.*amrex::Math::abs(sp - s(domhi-1,j,k,n))) {
+ 367 sm = amrex::Real(3.0)*s(domhi-1,j,k,n) - amrex::Real(2.0)*sp;
+
+
+
+
+
+
+ 374 template <
typename Limiter>
+
+ 376 void SetYBCs (
const int i,
const int j,
const int k,
const int n,
+ 377 amrex::Real &sm, amrex::Real &sp,
+ 378 amrex::Real &sedge1, amrex::Real &sedge2,
+
+ 380 const amrex::Real velm,
const amrex::Real velp,
+ 381 const int bclo,
const int bchi,
+ 382 const int domlo,
const int domhi)
+
+ 384 using namespace amrex;
+
+ 386 if ( (bclo == BCType::ext_dir) || (bclo == BCType::hoextrap) ||
+ 387 (bclo == BCType::direction_dependent && velm >= 0.0) )
+
+
+
+ 391 sedge2 = -amrex::Real(0.2)*s(i,domlo-1,k,n) + amrex::Real(0.75)*s(i,domlo ,k,n)
+ 392 +amrex::Real(0.5)*s(i,domlo+1,k,n) - amrex::Real(0.05)*s(i,domlo+2,k,n);
+ 393 if constexpr (Limiter::do_limiting) {
+
+
+
+
+ 398 sm = s(i,domlo-1,k,n);
+
+
+ 401 }
else if (j == domlo+1) {
+
+ 403 sedge1 = -amrex::Real(0.2)*s(i,domlo-1,k,n) + amrex::Real(0.75)*s(i,domlo ,k,n)
+ 404 +amrex::Real(0.5)*s(i,domlo+1,k,n) - amrex::Real(0.05)*s(i,domlo+2,k,n);
+ 405 if constexpr (Limiter::do_limiting) {
+
+
+
+
+
+
+
+ 413 if constexpr (Limiter::do_limiting) {
+ 414 if ( (sp - s(i,domlo+1,k,n))*(s(i,domlo+1,k,n) - sm) <= amrex::Real(0.0))
+
+ 416 sp = s(i,domlo+1,k,n);
+ 417 sm = s(i,domlo+1,k,n);
+ 418 }
else if(amrex::Math::abs(sp - s(i,domlo+1,k,n)) >= amrex::Real(2.0)*amrex::Math::abs(sm - s(i,domlo+1,k,n))) {
+ 419 sp = amrex::Real(3.0)*s(i,domlo+1,k,n) - amrex::Real(2.0)*sm;
+ 420 }
else if(amrex::Math::abs(sm - s(i,domlo+1,k,n)) >= amrex::Real(2.0)*amrex::Math::abs(sp - s(i,domlo+1,k,n))) {
+ 421 sm = amrex::Real(3.0)*s(i,domlo+1,k,n) - amrex::Real(2.0)*sp;
+
+
+
+
+
+ 427 if ( (bchi == BCType::ext_dir) || (bchi == BCType::hoextrap) ||
+ 428 (bchi == BCType::direction_dependent && velp <= 0.0) )
+
+
+
+ 432 sedge1 = -amrex::Real(0.2)*s(i,domhi+1,k,n) + amrex::Real(0.75)*s(i,domhi ,k,n)
+ 433 +amrex::Real(0.5)*s(i,domhi-1,k,n) - amrex::Real(0.05)*s(i,domhi-2,k,n);
+ 434 if constexpr (Limiter::do_limiting) {
+
+
+
+
+ 439 sp = s(i,domhi+1,k, n);
+
+
+ 442 }
else if (j == domhi-1) {
-
-
-
- 447 if constexpr (Limiter::do_limiting) {
- 448 if( (sp - s(i,domhi-1,k,n))*(s(i,domhi-1,k,n) - sm) <= amrex::Real(0.0)){
- 449 sp = s(i,domhi-1,k,n);
- 450 sm = s(i,domhi-1,k,n);
- 451 }
else if(amrex::Math::abs(sp - s(i,domhi-1,k,n)) >= 2.*amrex::Math::abs(sm - s(i,domhi-1,k,n))) {
- 452 sp = amrex::Real(3.0)*s(i,domhi-1,k,n) - amrex::Real(2.0)*sm;
- 453 }
else if(amrex::Math::abs(sm - s(i,domhi-1,k,n)) >= 2.*amrex::Math::abs(sp - s(i,domhi-1,k,n))) {
- 454 sm = amrex::Real(3.0)*s(i,domhi-1,k,n) - amrex::Real(2.0)*sp;
-
-
-
-
-
-
- 461 #if (AMREX_SPACEDIM==3)
- 462 template <
typename Limiter>
-
- 464 void SetZBCs (
const int i,
const int j,
const int k,
const int n,
- 465 amrex::Real &sm, amrex::Real &sp,
- 466 amrex::Real &sedge1, amrex::Real &sedge2,
-
- 468 const int bclo,
const int bchi,
- 469 const int domlo,
const int domhi)
-
- 471 using namespace amrex;
-
- 473 if (bclo == BCType::ext_dir || bclo == BCType::hoextrap)
-
-
-
- 477 sedge2 = -amrex::Real(0.2)*s(i,j,domlo-1,n) + amrex::Real(0.75)*s(i,j,domlo ,n)
- 478 +amrex::Real(0.5)*s(i,j,domlo+1,n) - amrex::Real(0.05)*s(i,j,domlo+2,n);
- 479 if constexpr (Limiter::do_limiting) {
-
-
-
-
- 484 sm = s(i,j,domlo-1,n);
-
-
- 487 }
else if (k == domlo+1) {
-
- 489 sedge1 = -amrex::Real(0.2)*s(i,j,domlo-1,n) + amrex::Real(0.75)*s(i,j,domlo ,n)
- 490 +amrex::Real(0.5)*s(i,j,domlo+1,n) - amrex::Real(0.05)*s(i,j,domlo+2,n);
- 491 if constexpr (Limiter::do_limiting) {
-
-
-
+ 444 sedge2 = -amrex::Real(0.2)*s(i,domhi+1,k,n) + amrex::Real(0.75)*s(i,domhi ,k,n)
+ 445 +amrex::Real(0.5)*s(i,domhi-1,k,n) - amrex::Real(0.05)*s(i,domhi-2,k,n);
+ 446 if constexpr (Limiter::do_limiting) {
+
+
+
+
+
+
+
+ 454 if constexpr (Limiter::do_limiting) {
+ 455 if( (sp - s(i,domhi-1,k,n))*(s(i,domhi-1,k,n) - sm) <= amrex::Real(0.0)){
+ 456 sp = s(i,domhi-1,k,n);
+ 457 sm = s(i,domhi-1,k,n);
+ 458 }
else if(amrex::Math::abs(sp - s(i,domhi-1,k,n)) >= 2.*amrex::Math::abs(sm - s(i,domhi-1,k,n))) {
+ 459 sp = amrex::Real(3.0)*s(i,domhi-1,k,n) - amrex::Real(2.0)*sm;
+ 460 }
else if(amrex::Math::abs(sm - s(i,domhi-1,k,n)) >= 2.*amrex::Math::abs(sp - s(i,domhi-1,k,n))) {
+ 461 sm = amrex::Real(3.0)*s(i,domhi-1,k,n) - amrex::Real(2.0)*sp;
+
+
+
+
+
+
+ 468 #if (AMREX_SPACEDIM==3)
+ 469 template <
typename Limiter>
+
+ 471 void SetZBCs (
const int i,
const int j,
const int k,
const int n,
+ 472 amrex::Real &sm, amrex::Real &sp,
+ 473 amrex::Real &sedge1, amrex::Real &sedge2,
+
+ 475 const amrex::Real velm,
const amrex::Real velp,
+ 476 const int bclo,
const int bchi,
+ 477 const int domlo,
const int domhi)
+
+ 479 using namespace amrex;
+
+ 481 if ( (bclo == BCType::ext_dir) || (bclo == BCType::hoextrap) ||
+ 482 (bclo == BCType::direction_dependent && velm >= 0.0) )
+
+
+
+ 486 sedge2 = -amrex::Real(0.2)*s(i,j,domlo-1,n) + amrex::Real(0.75)*s(i,j,domlo ,n)
+ 487 +amrex::Real(0.5)*s(i,j,domlo+1,n) - amrex::Real(0.05)*s(i,j,domlo+2,n);
+ 488 if constexpr (Limiter::do_limiting) {
+
+
+
+
+ 493 sm = s(i,j,domlo-1,n);
+
-
-
-
- 499 if constexpr (Limiter::do_limiting) {
- 500 if ( (sp - s(i,j,domlo+1,n))*(s(i,j,domlo+1,n) - sm) <= 0. )
-
- 502 sp = s(i,j,domlo+1,n);
- 503 sm = s(i,j,domlo+1,n);
- 504 }
else if(amrex::Math::abs(sp - s(i,j,domlo+1,n)) >= 2.*amrex::Math::abs(sm - s(i,j,domlo+1,n))) {
- 505 sp = amrex::Real(3.0)*s(i,j,domlo+1,n) - amrex::Real(2.0)*sm;
- 506 }
else if(amrex::Math::abs(sm - s(i,j,domlo+1,n)) >= 2.*amrex::Math::abs(sp - s(i,j,domlo+1,n))) {
- 507 sm = amrex::Real(3.0)*s(i,j,domlo+1,n) - amrex::Real(2.0)*sp;
-
-
-
-
-
- 513 if (bchi == BCType::ext_dir || bchi == BCType::hoextrap)
-
-
-
- 517 sedge1 = -amrex::Real(0.2)*s(i,j,domhi+1,n) + amrex::Real(0.75)*s(i,j,domhi ,n)
- 518 +amrex::Real(0.5)*s(i,j,domhi-1,n) - amrex::Real(0.05)*s(i,j,domhi-2,n);
- 519 if constexpr (Limiter::do_limiting) {
-
-
-
-
- 524 sp = s(i,j,domhi+1,n);
-
-
- 527 }
else if (k == domhi-1) {
-
- 529 sedge2 = -amrex::Real(0.2)*s(i,j,domhi+1,n) + amrex::Real(0.75)*s(i,j,domhi ,n)
- 530 +amrex::Real(0.5)*s(i,j,domhi-1,n) - amrex::Real(0.05)*s(i,j,domhi-2,n);
- 531 if constexpr (Limiter::do_limiting) {
-
-
-
-
-
-
+ 496 }
else if (k == domlo+1) {
+
+ 498 sedge1 = -amrex::Real(0.2)*s(i,j,domlo-1,n) + amrex::Real(0.75)*s(i,j,domlo ,n)
+ 499 +amrex::Real(0.5)*s(i,j,domlo+1,n) - amrex::Real(0.05)*s(i,j,domlo+2,n);
+ 500 if constexpr (Limiter::do_limiting) {
+
+
+
+
+
+
+
+ 508 if constexpr (Limiter::do_limiting) {
+ 509 if ( (sp - s(i,j,domlo+1,n))*(s(i,j,domlo+1,n) - sm) <= 0. )
+
+ 511 sp = s(i,j,domlo+1,n);
+ 512 sm = s(i,j,domlo+1,n);
+ 513 }
else if(amrex::Math::abs(sp - s(i,j,domlo+1,n)) >= 2.*amrex::Math::abs(sm - s(i,j,domlo+1,n))) {
+ 514 sp = amrex::Real(3.0)*s(i,j,domlo+1,n) - amrex::Real(2.0)*sm;
+ 515 }
else if(amrex::Math::abs(sm - s(i,j,domlo+1,n)) >= 2.*amrex::Math::abs(sp - s(i,j,domlo+1,n))) {
+ 516 sm = amrex::Real(3.0)*s(i,j,domlo+1,n) - amrex::Real(2.0)*sp;
+
+
+
+
+
+ 522 if ( (bchi == BCType::ext_dir) || (bchi == BCType::hoextrap) ||
+ 523 (bchi == BCType::direction_dependent && velp <= 0.0) )
+
+
+
+ 527 sedge1 = -amrex::Real(0.2)*s(i,j,domhi+1,n) + amrex::Real(0.75)*s(i,j,domhi ,n)
+ 528 +amrex::Real(0.5)*s(i,j,domhi-1,n) - amrex::Real(0.05)*s(i,j,domhi-2,n);
+ 529 if constexpr (Limiter::do_limiting) {
+
+
+
+
+ 534 sp = s(i,j,domhi+1,n);
+
+
+ 537 }
else if (k == domhi-1) {
- 539 if constexpr (Limiter::do_limiting) {
- 540 if ( (sp - s(i,j,domhi-1,n))*(s(i,j,domhi-1,n) - sm) <= 0. )
-
- 542 sp = s(i,j,domhi-1,n);
- 543 sm = s(i,j,domhi-1,n);
- 544 }
else if(amrex::Math::abs(sp - s(i,j,domhi-1,n)) >= 2.*amrex::Math::abs(sm - s(i,j,domhi-1,n))) {
- 545 sp = amrex::Real(3.0)*s(i,j,domhi-1,n) - amrex::Real(2.0)*sm;
- 546 }
else if(amrex::Math::abs(sm - s(i,j,domhi-1,n)) >= 2.*amrex::Math::abs(sp - s(i,j,domhi-1,n))) {
- 547 sm = amrex::Real(3.0)*s(i,j,domhi-1,n) - amrex::Real(2.0)*sp;
-
-
-
-
-
-
-
-
-
-
-
-
- 560 template <
typename Limiter>
-
-
- 563 const amrex::Real dtdx,
const amrex::Real v_ad,
-
-
-
- 567 const amrex::BCRec bc,
const int domlo,
const int domhi,
-
-
- 570 constexpr
auto half{amrex::Real(0.5)};
- 571 constexpr
auto two3rds{amrex::Real(2.0/3.0)};
-
- 573 amrex::Real sm2 = S(i-2,j,k,n);
- 574 amrex::Real sm1 = S(i-1,j,k,n);
- 575 amrex::Real s0 = S(i ,j,k,n);
- 576 amrex::Real sp1 = S(i+1,j,k,n);
- 577 amrex::Real sp2 = S(i+2,j,k,n);
-
- 579 amrex::Real sedge1 = Limiter::sedge1(sm2,sm1,s0,sp1,sp2);
- 580 amrex::Real sedge2 = Limiter::sedge2(sm2,sm1,s0,sp1,sp2);
-
-
- 583 amrex::Tie(sm,sp) = Limiter::sm_sp(s0,sedge1,sedge2);
-
- 585 SetXBCs<Limiter>(i, j, k, n, sm, sp, sedge1, sedge2, S, bc.
lo(0), bc.
hi(0), domlo, domhi);
-
- 587 amrex::Real s6 = amrex::Real(6.0)*s0 - amrex::Real(3.0)*(sm + sp);
+ 539 sedge2 = -amrex::Real(0.2)*s(i,j,domhi+1,n) + amrex::Real(0.75)*s(i,j,domhi ,n)
+ 540 +amrex::Real(0.5)*s(i,j,domhi-1,n) - amrex::Real(0.05)*s(i,j,domhi-2,n);
+ 541 if constexpr (Limiter::do_limiting) {
+
+
+
+
+
+
+
+ 549 if constexpr (Limiter::do_limiting) {
+ 550 if ( (sp - s(i,j,domhi-1,n))*(s(i,j,domhi-1,n) - sm) <= 0. )
+
+ 552 sp = s(i,j,domhi-1,n);
+ 553 sm = s(i,j,domhi-1,n);
+ 554 }
else if(amrex::Math::abs(sp - s(i,j,domhi-1,n)) >= 2.*amrex::Math::abs(sm - s(i,j,domhi-1,n))) {
+ 555 sp = amrex::Real(3.0)*s(i,j,domhi-1,n) - amrex::Real(2.0)*sm;
+ 556 }
else if(amrex::Math::abs(sm - s(i,j,domhi-1,n)) >= 2.*amrex::Math::abs(sp - s(i,j,domhi-1,n))) {
+ 557 sm = amrex::Real(3.0)*s(i,j,domhi-1,n) - amrex::Real(2.0)*sp;
+
+
+
+
+
+
+
+
+
+
+
+
+ 570 template <
typename Limiter>
+
+
+ 573 const amrex::Real dtdx,
const amrex::Real v_ad,
+
+
+
+ 577 const amrex::BCRec bc,
const int domlo,
const int domhi,
+
+
+ 580 constexpr
auto half{amrex::Real(0.5)};
+ 581 constexpr
auto two3rds{amrex::Real(2.0/3.0)};
+
+ 583 amrex::Real sm2 = S(i-2,j,k,n);
+ 584 amrex::Real sm1 = S(i-1,j,k,n);
+ 585 amrex::Real s0 = S(i ,j,k,n);
+ 586 amrex::Real sp1 = S(i+1,j,k,n);
+ 587 amrex::Real sp2 = S(i+2,j,k,n);
- 589 amrex::Real sigma = amrex::Math::abs(v_ad)*dtdx;
-
-
-
- 593 Ip(i,j,k,n) = sp - (
half*sigma)*((sp-sm) - (amrex::Real(1.0) - two3rds*sigma)*s6);
- 594 Im(i,j,k,n) = S(i,j,k,n);
-
-
-
- 598 Ip(i,j,k,n) = S(i,j,k,n);
- 599 Im(i,j,k,n) = sm + (
half*sigma)*((sp-sm) + (amrex::Real(1.0) - two3rds*sigma)*s6);
-
-
- 602 Ip(i,j,k,n) = S(i,j,k,n);
- 603 Im(i,j,k,n) = S(i,j,k,n);
-
-
-
- 607 template <
typename Limiter>
-
-
- 610 const amrex::Real dtdy,
const amrex::Real v_ad,
-
-
-
- 614 const amrex::BCRec bc,
const int domlo,
const int domhi,
-
-
- 617 constexpr
auto half{amrex::Real(0.5)};
- 618 constexpr
auto two3rds{amrex::Real(2.0/3.0)};
-
- 620 amrex::Real sm2 = S(i,j-2,k,n);
- 621 amrex::Real sm1 = S(i,j-1,k,n);
- 622 amrex::Real s0 = S(i,j ,k,n);
- 623 amrex::Real sp1 = S(i,j+1,k,n);
- 624 amrex::Real sp2 = S(i,j+2,k,n);
-
- 626 amrex::Real sedge1 = Limiter::sedge1(sm2,sm1,s0,sp1,sp2);
- 627 amrex::Real sedge2 = Limiter::sedge2(sm2,sm1,s0,sp1,sp2);
-
-
- 630 amrex::Tie(sm,sp) = Limiter::sm_sp(s0,sedge1,sedge2);
-
- 632 SetYBCs<Limiter>(i, j, k, n, sm, sp, sedge1, sedge2, S, bc.
lo(1), bc.
hi(1), domlo, domhi);
-
- 634 amrex::Real s6 = amrex::Real(6.0)*s0 - amrex::Real(3.0)*(sm + sp);
-
- 636 amrex::Real sigma = amrex::Math::abs(v_ad)*dtdy;
-
-
-
- 640 Ip(i,j,k,n) = sp - (
half*sigma)*((sp-sm) - (amrex::Real(1.0) - two3rds*sigma)*s6);
- 641 Im(i,j,k,n) = S(i,j,k,n);
-
-
-
- 645 Ip(i,j,k,n) = S(i,j,k,n);
- 646 Im(i,j,k,n) = sm + (
half*sigma)*((sp-sm) + (amrex::Real(1.0) - two3rds*sigma)*s6);
-
-
- 649 Ip(i,j,k,n) = S(i,j,k,n);
- 650 Im(i,j,k,n) = S(i,j,k,n);
-
-
-
- 654 #if (AMREX_SPACEDIM==3)
- 655 template <
typename Limiter>
-
- 657 void PredictVelOnZFace (
const int i,
const int j,
const int k,
const int n,
- 658 const amrex::Real dtdz,
const amrex::Real v_ad,
-
-
-
- 662 const amrex::BCRec bc,
const int domlo,
const int domhi,
-
-
- 665 constexpr
auto half{amrex::Real(0.5)};
- 666 constexpr
auto two3rds{amrex::Real(2.0/3.0)};
-
- 668 amrex::Real sm2 = S(i,j,k-2,n);
- 669 amrex::Real sm1 = S(i,j,k-1,n);
- 670 amrex::Real s0 = S(i,j,k ,n);
- 671 amrex::Real sp1 = S(i,j,k+1,n);
- 672 amrex::Real sp2 = S(i,j,k+2,n);
-
- 674 amrex::Real sedge1 = Limiter::sedge1(sm2,sm1,s0,sp1,sp2);
- 675 amrex::Real sedge2 = Limiter::sedge2(sm2,sm1,s0,sp1,sp2);
-
-
- 678 amrex::Tie(sm,sp) = Limiter::sm_sp(s0,sedge1,sedge2);
+ 589 amrex::Real sedge1 = Limiter::sedge1(sm2,sm1,s0,sp1,sp2);
+ 590 amrex::Real sedge2 = Limiter::sedge2(sm2,sm1,s0,sp1,sp2);
+
+
+ 593 amrex::Tie(sm,sp) = Limiter::sm_sp(s0,sedge1,sedge2);
+
+ 595 SetXBCs<Limiter>(i, j, k, n, sm, sp, sedge1, sedge2, S, v_ad, v_ad,
+ 596 bc.
lo(0), bc.
hi(0), domlo, domhi);
+
+ 598 amrex::Real s6 = amrex::Real(6.0)*s0 - amrex::Real(3.0)*(sm + sp);
+
+ 600 amrex::Real sigma = amrex::Math::abs(v_ad)*dtdx;
+
+
+
+ 604 Ip(i,j,k,n) = sp - (
half*sigma)*((sp-sm) - (amrex::Real(1.0) - two3rds*sigma)*s6);
+ 605 Im(i,j,k,n) = S(i,j,k,n);
+
+
+
+ 609 Ip(i,j,k,n) = S(i,j,k,n);
+ 610 Im(i,j,k,n) = sm + (
half*sigma)*((sp-sm) + (amrex::Real(1.0) - two3rds*sigma)*s6);
+
+
+ 613 Ip(i,j,k,n) = S(i,j,k,n);
+ 614 Im(i,j,k,n) = S(i,j,k,n);
+
+
+
+ 618 template <
typename Limiter>
+
+
+ 621 const amrex::Real dtdy,
const amrex::Real v_ad,
+
+
+
+ 625 const amrex::BCRec bc,
const int domlo,
const int domhi,
+
+
+ 628 constexpr
auto half{amrex::Real(0.5)};
+ 629 constexpr
auto two3rds{amrex::Real(2.0/3.0)};
+
+ 631 amrex::Real sm2 = S(i,j-2,k,n);
+ 632 amrex::Real sm1 = S(i,j-1,k,n);
+ 633 amrex::Real s0 = S(i,j ,k,n);
+ 634 amrex::Real sp1 = S(i,j+1,k,n);
+ 635 amrex::Real sp2 = S(i,j+2,k,n);
+
+ 637 amrex::Real sedge1 = Limiter::sedge1(sm2,sm1,s0,sp1,sp2);
+ 638 amrex::Real sedge2 = Limiter::sedge2(sm2,sm1,s0,sp1,sp2);
+
+
+ 641 amrex::Tie(sm,sp) = Limiter::sm_sp(s0,sedge1,sedge2);
+
+ 643 SetYBCs<Limiter>(i, j, k, n, sm, sp, sedge1, sedge2, S, v_ad, v_ad,
+ 644 bc.
lo(1), bc.
hi(1), domlo, domhi);
+
+ 646 amrex::Real s6 = amrex::Real(6.0)*s0 - amrex::Real(3.0)*(sm + sp);
+
+ 648 amrex::Real sigma = amrex::Math::abs(v_ad)*dtdy;
+
+
+
+ 652 Ip(i,j,k,n) = sp - (
half*sigma)*((sp-sm) - (amrex::Real(1.0) - two3rds*sigma)*s6);
+ 653 Im(i,j,k,n) = S(i,j,k,n);
+
+
+
+ 657 Ip(i,j,k,n) = S(i,j,k,n);
+ 658 Im(i,j,k,n) = sm + (
half*sigma)*((sp-sm) + (amrex::Real(1.0) - two3rds*sigma)*s6);
+
+
+ 661 Ip(i,j,k,n) = S(i,j,k,n);
+ 662 Im(i,j,k,n) = S(i,j,k,n);
+
+
+
+ 666 #if (AMREX_SPACEDIM==3)
+ 667 template <
typename Limiter>
+
+ 669 void PredictVelOnZFace (
const int i,
const int j,
const int k,
const int n,
+ 670 const amrex::Real dtdz,
const amrex::Real v_ad,
+
+
+
+ 674 const amrex::BCRec bc,
const int domlo,
const int domhi,
+
+
+ 677 constexpr
auto half{amrex::Real(0.5)};
+ 678 constexpr
auto two3rds{amrex::Real(2.0/3.0)};
- 680 SetZBCs<Limiter>(i, j, k, n, sm, sp, sedge1, sedge2, S, bc.
lo(2), bc.
hi(2), domlo, domhi);
-
- 682 amrex::Real s6 = amrex::Real(6.0)*s0 - amrex::Real(3.0)*(sm + sp);
-
- 684 amrex::Real sigma = amrex::Math::abs(v_ad)*dtdz;
+ 680 amrex::Real sm2 = S(i,j,k-2,n);
+ 681 amrex::Real sm1 = S(i,j,k-1,n);
+ 682 amrex::Real s0 = S(i,j,k ,n);
+ 683 amrex::Real sp1 = S(i,j,k+1,n);
+ 684 amrex::Real sp2 = S(i,j,k+2,n);
-
-
- 688 Ip(i,j,k,n) = sp - (
half*sigma)*((sp-sm) - (amrex::Real(1.0) - two3rds*sigma)*s6);
- 689 Im(i,j,k,n) = S(i,j,k,n);
-
-
-
- 693 Ip(i,j,k,n) = S(i,j,k,n);
- 694 Im(i,j,k,n) = sm + (
half*sigma)*((sp-sm) + (amrex::Real(1.0) - two3rds*sigma)*s6);
-
-
- 697 Ip(i,j,k,n) = S(i,j,k,n);
- 698 Im(i,j,k,n) = S(i,j,k,n);
-
-
-
-
-
-
-
-
- 707 template <
typename Limiter>
-
-
- 710 const amrex::Real dt,
const amrex::Real dx,
- 711 amrex::Real& Im, amrex::Real& Ip,
-
-
-
- 715 const int domlo,
const int domhi,
-
-
- 718 constexpr
auto half{amrex::Real(0.5)};
- 719 constexpr
auto two3rds{amrex::Real(2.0/3.0)};
-
- 721 amrex::Real sm2 = S(i-2,j,k,n);
- 722 amrex::Real sm1 = S(i-1,j,k,n);
- 723 amrex::Real s0 = S(i ,j,k,n);
- 724 amrex::Real sp1 = S(i+1,j,k,n);
- 725 amrex::Real sp2 = S(i+2,j,k,n);
-
- 727 amrex::Real sedge1 = Limiter::sedge1(sm2,sm1,s0,sp1,sp2);
- 728 amrex::Real sedge2 = Limiter::sedge2(sm2,sm1,s0,sp1,sp2);
-
-
- 731 amrex::Tie(sm,sp) = Limiter::sm_sp(s0,sedge1,sedge2);
-
- 733 SetXBCs<Limiter>(i, j, k, n, sm, sp, sedge1, sedge2, S, bc.
lo(0), bc.
hi(0), domlo, domhi);
-
- 735 amrex::Real s6 = 6.0*s0 - 3.0*(sm + sp);
-
- 737 amrex::Real sigmap = amrex::Math::abs(vel_edge(i+1,j,k))*dt/dx;
- 738 amrex::Real sigmam = amrex::Math::abs(vel_edge(i ,j,k))*dt/dx;
+ 686 amrex::Real sedge1 = Limiter::sedge1(sm2,sm1,s0,sp1,sp2);
+ 687 amrex::Real sedge2 = Limiter::sedge2(sm2,sm1,s0,sp1,sp2);
+
+
+ 690 amrex::Tie(sm,sp) = Limiter::sm_sp(s0,sedge1,sedge2);
+
+ 692 SetZBCs<Limiter>(i, j, k, n, sm, sp, sedge1, sedge2, S, v_ad, v_ad,
+ 693 bc.
lo(2), bc.
hi(2), domlo, domhi);
+
+ 695 amrex::Real s6 = amrex::Real(6.0)*s0 - amrex::Real(3.0)*(sm + sp);
+
+ 697 amrex::Real sigma = amrex::Math::abs(v_ad)*dtdz;
+
+
+
+ 701 Ip(i,j,k,n) = sp - (
half*sigma)*((sp-sm) - (amrex::Real(1.0) - two3rds*sigma)*s6);
+ 702 Im(i,j,k,n) = S(i,j,k,n);
+
+
+
+ 706 Ip(i,j,k,n) = S(i,j,k,n);
+ 707 Im(i,j,k,n) = sm + (
half*sigma)*((sp-sm) + (amrex::Real(1.0) - two3rds*sigma)*s6);
+
+
+ 710 Ip(i,j,k,n) = S(i,j,k,n);
+ 711 Im(i,j,k,n) = S(i,j,k,n);
+
+
+
+
+
+
+
+
+ 720 template <
typename Limiter>
+
+
+ 723 const amrex::Real dt,
const amrex::Real dx,
+ 724 amrex::Real& Im, amrex::Real& Ip,
+
+
+
+ 728 const int domlo,
const int domhi,
+
+
+ 731 constexpr
auto half{amrex::Real(0.5)};
+ 732 constexpr
auto two3rds{amrex::Real(2.0/3.0)};
+
+ 734 amrex::Real sm2 = S(i-2,j,k,n);
+ 735 amrex::Real sm1 = S(i-1,j,k,n);
+ 736 amrex::Real s0 = S(i ,j,k,n);
+ 737 amrex::Real sp1 = S(i+1,j,k,n);
+ 738 amrex::Real sp2 = S(i+2,j,k,n);
-
- 741 Ip = sp - (
half*sigmap)*((sp - sm) - (amrex::Real(1.0) -two3rds*sigmap)*s6);
-
-
-
+ 740 amrex::Real sedge1 = Limiter::sedge1(sm2,sm1,s0,sp1,sp2);
+ 741 amrex::Real sedge2 = Limiter::sedge2(sm2,sm1,s0,sp1,sp2);
+
+
+ 744 amrex::Tie(sm,sp) = Limiter::sm_sp(s0,sedge1,sedge2);
-
- 747 Im = sm + (
half*sigmam)*((sp-sm) + (amrex::Real(1.0) - two3rds*sigmam)*s6);
-
-
-
-
-
- 753 template <
typename Limiter>
-
-
- 756 const amrex::Real dt,
const amrex::Real dx,
- 757 amrex::Real& Im, amrex::Real& Ip,
-
-
-
- 761 const int domlo,
const int domhi,
-
-
- 764 constexpr
auto half{amrex::Real(0.5)};
- 765 constexpr
auto two3rds{amrex::Real(2.0/3.0)};
+ 746 SetXBCs<Limiter>(i, j, k, n, sm, sp, sedge1, sedge2, S, vel_edge(i,j,k), vel_edge(i,j,k),
+ 747 bc.
lo(0), bc.
hi(0), domlo, domhi);
+
+ 749 amrex::Real s6 = 6.0*s0 - 3.0*(sm + sp);
+
+ 751 amrex::Real sigmap = amrex::Math::abs(vel_edge(i+1,j,k))*dt/dx;
+ 752 amrex::Real sigmam = amrex::Math::abs(vel_edge(i ,j,k))*dt/dx;
+
+
+ 755 Ip = sp - (
half*sigmap)*((sp - sm) - (amrex::Real(1.0) -two3rds*sigmap)*s6);
+
+
+
+
+
+ 761 Im = sm + (
half*sigmam)*((sp-sm) + (amrex::Real(1.0) - two3rds*sigmam)*s6);
+
+
+
+
- 767 amrex::Real sm2 = S(i,j-2,k,n);
- 768 amrex::Real sm1 = S(i,j-1,k,n);
- 769 amrex::Real s0 = S(i,j ,k,n);
- 770 amrex::Real sp1 = S(i,j+1,k,n);
- 771 amrex::Real sp2 = S(i,j+2,k,n);
-
- 773 amrex::Real sedge1 = Limiter::sedge1(sm2,sm1,s0,sp1,sp2);
- 774 amrex::Real sedge2 = Limiter::sedge2(sm2,sm1,s0,sp1,sp2);
-
-
- 777 amrex::Tie(sm,sp) = Limiter::sm_sp(s0,sedge1,sedge2);
-
- 779 SetYBCs<Limiter>(i, j, k, n, sm, sp, sedge1, sedge2, S, bc.
lo(1), bc.
hi(1), domlo, domhi);
+ 767 template <
typename Limiter>
+
+
+ 770 const amrex::Real dt,
const amrex::Real dx,
+ 771 amrex::Real& Im, amrex::Real& Ip,
+
+
+
+ 775 const int domlo,
const int domhi,
+
+
+ 778 constexpr
auto half{amrex::Real(0.5)};
+ 779 constexpr
auto two3rds{amrex::Real(2.0/3.0)};
- 781 amrex::Real s6 = 6.0*s0- 3.0*(sm + sp);
-
- 783 amrex::Real sigmap = amrex::Math::abs(vel_edge(i,j+1,k))*dt/dx;
- 784 amrex::Real sigmam = amrex::Math::abs(vel_edge(i,j ,k))*dt/dx;
-
-
- 787 Ip = sp - (
half*sigmap)*((sp - sm) - (amrex::Real(1.0) -two3rds*sigmap)*s6);
-
-
-
-
-
- 793 Im = sm + (
half*sigmam)*((sp-sm) + (amrex::Real(1.0) - two3rds*sigmam)*s6);
-
-
-
-
-
-
- 800 #if (AMREX_SPACEDIM==3)
- 801 template <
typename Limiter>
-
- 803 void PredictStateOnZFace (
const int i,
const int j,
const int k,
const int n,
- 804 const amrex::Real dt,
const amrex::Real dx,
- 805 amrex::Real& Im, amrex::Real& Ip,
-
-
-
- 809 const int domlo,
const int domhi,
-
-
-
- 813 constexpr
auto half{amrex::Real(0.5)};
- 814 constexpr
auto two3rds{amrex::Real(2.0/3.0)};
-
- 816 amrex::Real sm2 = S(i,j,k-2,n);
- 817 amrex::Real sm1 = S(i,j,k-1,n);
- 818 amrex::Real s0 = S(i,j,k ,n);
- 819 amrex::Real sp1 = S(i,j,k+1,n);
- 820 amrex::Real sp2 = S(i,j,k+2,n);
-
- 822 amrex::Real sedge1 = Limiter::sedge1(sm2,sm1,s0,sp1,sp2);
- 823 amrex::Real sedge2 = Limiter::sedge2(sm2,sm1,s0,sp1,sp2);
-
-
- 826 amrex::Tie(sm,sp) = Limiter::sm_sp(s0,sedge1,sedge2);
+ 781 amrex::Real sm2 = S(i,j-2,k,n);
+ 782 amrex::Real sm1 = S(i,j-1,k,n);
+ 783 amrex::Real s0 = S(i,j ,k,n);
+ 784 amrex::Real sp1 = S(i,j+1,k,n);
+ 785 amrex::Real sp2 = S(i,j+2,k,n);
+
+ 787 amrex::Real sedge1 = Limiter::sedge1(sm2,sm1,s0,sp1,sp2);
+ 788 amrex::Real sedge2 = Limiter::sedge2(sm2,sm1,s0,sp1,sp2);
+
+
+ 791 amrex::Tie(sm,sp) = Limiter::sm_sp(s0,sedge1,sedge2);
+
+ 793 SetYBCs<Limiter>(i, j, k, n, sm, sp, sedge1, sedge2, S, vel_edge(i,j,k), vel_edge(i,j,k),
+ 794 bc.
lo(1), bc.
hi(1), domlo, domhi);
+
+ 796 amrex::Real s6 = 6.0*s0- 3.0*(sm + sp);
+
+ 798 amrex::Real sigmap = amrex::Math::abs(vel_edge(i,j+1,k))*dt/dx;
+ 799 amrex::Real sigmam = amrex::Math::abs(vel_edge(i,j ,k))*dt/dx;
+
+
+ 802 Ip = sp - (
half*sigmap)*((sp - sm) - (amrex::Real(1.0) -two3rds*sigmap)*s6);
+
+
+
+
+
+ 808 Im = sm + (
half*sigmam)*((sp-sm) + (amrex::Real(1.0) - two3rds*sigmam)*s6);
+
+
+
+
+
+
+ 815 #if (AMREX_SPACEDIM==3)
+ 816 template <
typename Limiter>
+
+ 818 void PredictStateOnZFace (
const int i,
const int j,
const int k,
const int n,
+ 819 const amrex::Real dt,
const amrex::Real dx,
+ 820 amrex::Real& Im, amrex::Real& Ip,
+
+
+
+ 824 const int domlo,
const int domhi,
+
+
- 828 SetZBCs<Limiter>(i, j, k, n, sm, sp, sedge1, sedge2, S, bc.
lo(2), bc.
hi(2), domlo, domhi);
-
- 830 amrex::Real s6 = 6.0*s0- 3.0*(sm + sp);
- 831 amrex::Real sigmap = amrex::Math::abs(vel_edge(i,j,k+1))*dt/dx;
- 832 amrex::Real sigmam = amrex::Math::abs(vel_edge(i,j,k ))*dt/dx;
-
-
- 835 Ip = sp - (
half*sigmap)*((sp-sm) - (amrex::Real(1.0) -two3rds*sigmap)*s6);
-
-
-
+ 828 constexpr
auto half{amrex::Real(0.5)};
+ 829 constexpr
auto two3rds{amrex::Real(2.0/3.0)};
+
+ 831 amrex::Real sm2 = S(i,j,k-2,n);
+ 832 amrex::Real sm1 = S(i,j,k-1,n);
+ 833 amrex::Real s0 = S(i,j,k ,n);
+ 834 amrex::Real sp1 = S(i,j,k+1,n);
+ 835 amrex::Real sp2 = S(i,j,k+2,n);
+
+ 837 amrex::Real sedge1 = Limiter::sedge1(sm2,sm1,s0,sp1,sp2);
+ 838 amrex::Real sedge2 = Limiter::sedge2(sm2,sm1,s0,sp1,sp2);
-
- 841 Im = sm + (
half*sigmam)*((sp-sm) + (amrex::Real(1.0) - two3rds*sigmam)*s6);
-
-
-
-
-
-
- 848 template <
typename Limiter>
-
-
-
-
-
-
-
-
-
-
-
-
- 861 const Limiter& limiter)
-
-
-
-
-
-
-
- 869 amrex::Real l_dtdy = dt / dx[1];,
- 870 amrex::Real l_dtdz = dt / dx[2];);
-
-
-
-
- 875 PredictVelOnXFace(i,j,k,n,l_dtdx,vel(i,j,k,0),q,Imx,Ipx,pbc[n],dlo.
x,dhi.
x,limiter);
- 876 PredictVelOnYFace(i,j,k,n,l_dtdy,vel(i,j,k,1),q,Imy,Ipy,pbc[n],dlo.
y,dhi.
y,limiter);
- 877 #if (AMREX_SPACEDIM==3)
- 878 PredictVelOnZFace(i,j,k,n,l_dtdz,vel(i,j,k,2),q,Imz,Ipz,pbc[n],dlo.
z,dhi.
z,limiter);
-
-
-
+
+ 841 amrex::Tie(sm,sp) = Limiter::sm_sp(s0,sedge1,sedge2);
+
+ 843 SetZBCs<Limiter>(i, j, k, n, sm, sp, sedge1, sedge2, S, vel_edge(i,j,k), vel_edge(i,j,k),
+ 844 bc.
lo(2), bc.
hi(2), domlo, domhi);
+
+ 846 amrex::Real s6 = 6.0*s0- 3.0*(sm + sp);
+ 847 amrex::Real sigmap = amrex::Math::abs(vel_edge(i,j,k+1))*dt/dx;
+ 848 amrex::Real sigmam = amrex::Math::abs(vel_edge(i,j,k ))*dt/dx;
+
+
+ 851 Ip = sp - (
half*sigmap)*((sp-sm) - (amrex::Real(1.0) -two3rds*sigmap)*s6);
+
+
+
+
+
+ 857 Im = sm + (
half*sigmam)*((sp-sm) + (amrex::Real(1.0) - two3rds*sigmam)*s6);
+
+
+
+
+
+
+ 864 template <
typename Limiter>
+
+
+
+
+
+
+
+
+
+
+
+
+ 877 const Limiter& limiter)
+
+
+
+
- 883 template <
typename Limiter>
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 899 const Limiter& limiter)
-
-
-
-
-
-
-
-
-
-
-
-
- 912 PPM::PredictStateOnXFace(i, j, k, n, l_dt, dx, Imx(i,j,k,n), Ipx(i,j,k,n),
- 913 q, umac, pbc[n], dlo.
x, dhi.
x,limiter);
- 914 PPM::PredictStateOnYFace(i, j, k, n, l_dt, dy, Imy(i,j,k,n), Ipy(i,j,k,n),
- 915 q, vmac, pbc[n], dlo.
y, dhi.
y,limiter);
- 916 #if (AMREX_SPACEDIM==3)
- 917 PPM::PredictStateOnZFace(i, j, k, n, l_dt, dz, Imz(i,j,k,n), Ipz(i,j,k,n),
- 918 q, wmac, pbc[n], dlo.
z, dhi.
z,limiter);
-
-
-
-
-
-
-
-
-
+
+
+ 885 amrex::Real l_dtdy = dt / dx[1];,
+ 886 amrex::Real l_dtdz = dt / dx[2];);
+
+
+
+
+ 891 PredictVelOnXFace(i,j,k,n,l_dtdx,vel(i,j,k,0),q,Imx,Ipx,pbc[n],dlo.
x,dhi.
x,limiter);
+ 892 PredictVelOnYFace(i,j,k,n,l_dtdy,vel(i,j,k,1),q,Imy,Ipy,pbc[n],dlo.
y,dhi.
y,limiter);
+ 893 #if (AMREX_SPACEDIM==3)
+ 894 PredictVelOnZFace(i,j,k,n,l_dtdz,vel(i,j,k,2),q,Imz,Ipz,pbc[n],dlo.
z,dhi.
z,limiter);
+
+
+
+
+ 899 template <
typename Limiter>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 915 const Limiter& limiter)
+
+
+
+
+
+
+
+
+
+
+
+
+ 928 PPM::PredictStateOnXFace(i, j, k, n, l_dt, dx, Imx(i,j,k,n), Ipx(i,j,k,n),
+ 929 q, umac, pbc[n], dlo.
x, dhi.
x,limiter);
+ 930 PPM::PredictStateOnYFace(i, j, k, n, l_dt, dy, Imy(i,j,k,n), Ipy(i,j,k,n),
+ 931 q, vmac, pbc[n], dlo.
y, dhi.
y,limiter);
+ 932 #if (AMREX_SPACEDIM==3)
+ 933 PPM::PredictStateOnZFace(i, j, k, n, l_dt, dz, Imz(i,j,k,n), Ipz(i,j,k,n),
+ 934 q, wmac, pbc[n], dlo.
z, dhi.
z,limiter);
+
+
+
+
+
+
+
+
#define AMREX_FORCE_INLINE
#define AMREX_GPU_HOST_DEVICE
@@ -1042,21 +1057,21 @@
constexpr amrex::Real eps
Definition: hydro_bds_edge_state_2D.cpp:13
static constexpr amrex::Real small_vel
Definition: hydro_constants.H:37
-Definition: hydro_godunov_ppm.H:15
-AMREX_GPU_HOST_DEVICE AMREX_FORCE_INLINE void PredictStateOnXFace(const int i, const int j, const int k, const int n, const amrex::Real dt, const amrex::Real dx, amrex::Real &Im, amrex::Real &Ip, const amrex::Array4< const amrex::Real > &S, const amrex::Array4< const amrex::Real > &vel_edge, const amrex::BCRec bc, const int domlo, const int domhi, const Limiter &)
Definition: hydro_godunov_ppm.H:709
-AMREX_GPU_HOST_DEVICE AMREX_FORCE_INLINE void PredictVelOnYFace(const int i, const int j, const int k, const int n, const amrex::Real dtdy, const amrex::Real v_ad, const amrex::Array4< const amrex::Real > &S, const amrex::Array4< amrex::Real > &Im, const amrex::Array4< amrex::Real > &Ip, const amrex::BCRec bc, const int domlo, const int domhi, const Limiter &)
Definition: hydro_godunov_ppm.H:609
-static constexpr int default_limiter
Definition: hydro_godunov_ppm.H:19
-AMREX_GPU_HOST_DEVICE AMREX_FORCE_INLINE void PredictStateOnYFace(const int i, const int j, const int k, const int n, const amrex::Real dt, const amrex::Real dx, amrex::Real &Im, amrex::Real &Ip, const amrex::Array4< const amrex::Real > &S, const amrex::Array4< const amrex::Real > &vel_edge, const amrex::BCRec bc, const int domlo, const int domhi, const Limiter &)
Definition: hydro_godunov_ppm.H:755
-AMREX_GPU_HOST_DEVICE AMREX_FORCE_INLINE void SetYBCs(const int i, const int j, const int k, const int n, amrex::Real &sm, amrex::Real &sp, amrex::Real &sedge1, amrex::Real &sedge2, const amrex::Array4< const amrex::Real > &s, const int bclo, const int bchi, const int domlo, const int domhi)
Definition: hydro_godunov_ppm.H:372
-void PredictStateOnFaces(amrex::Box const &bx, AMREX_D_DECL(amrex::Array4< amrex::Real > const &Imx, amrex::Array4< amrex::Real > const &Imy, amrex::Array4< amrex::Real > const &Imz), AMREX_D_DECL(amrex::Array4< amrex::Real > const &Ipx, amrex::Array4< amrex::Real > const &Ipy, amrex::Array4< amrex::Real > const &Ipz), AMREX_D_DECL(amrex::Array4< amrex::Real const > const &umac, amrex::Array4< amrex::Real const > const &vmac, amrex::Array4< amrex::Real const > const &wmac), amrex::Array4< amrex::Real const > const &q, amrex::Geometry geom, amrex::Real l_dt, amrex::BCRec const *pbc, const int ncomp, const Limiter &limiter)
Definition: hydro_godunov_ppm.H:884
-AMREX_GPU_HOST_DEVICE AMREX_FORCE_INLINE void SetXBCs(const int i, const int j, const int k, const int n, amrex::Real &sm, amrex::Real &sp, amrex::Real &sedge1, amrex::Real &sedge2, const amrex::Array4< const amrex::Real > &s, const int bclo, const int bchi, const int domlo, const int domhi)
Definition: hydro_godunov_ppm.H:280
-AMREX_GPU_HOST_DEVICE AMREX_FORCE_INLINE void PredictVelOnXFace(const int i, const int j, const int k, const int n, const amrex::Real dtdx, const amrex::Real v_ad, const amrex::Array4< const amrex::Real > &S, const amrex::Array4< amrex::Real > &Im, const amrex::Array4< amrex::Real > &Ip, const amrex::BCRec bc, const int domlo, const int domhi, const Limiter &)
Definition: hydro_godunov_ppm.H:562
-void PredictVelOnFaces(amrex::Box const &bx, AMREX_D_DECL(amrex::Array4< amrex::Real > const &Imx, amrex::Array4< amrex::Real > const &Imy, amrex::Array4< amrex::Real > const &Imz), AMREX_D_DECL(amrex::Array4< amrex::Real > const &Ipx, amrex::Array4< amrex::Real > const &Ipy, amrex::Array4< amrex::Real > const &Ipz), amrex::Array4< amrex::Real const > const &q, amrex::Array4< amrex::Real const > const &vel, amrex::Geometry geom, amrex::Real dt, amrex::BCRec const *pbc, const Limiter &limiter)
Definition: hydro_godunov_ppm.H:849
-limiters
Definition: hydro_godunov_ppm.H:17
-@ VanLeer
Definition: hydro_godunov_ppm.H:17
-@ WENOZ
Definition: hydro_godunov_ppm.H:17
-@ WENO_JS
Definition: hydro_godunov_ppm.H:17
-@ NoLimiter
Definition: hydro_godunov_ppm.H:17
+Definition: hydro_godunov_ppm.H:16
+AMREX_GPU_HOST_DEVICE AMREX_FORCE_INLINE void PredictStateOnXFace(const int i, const int j, const int k, const int n, const amrex::Real dt, const amrex::Real dx, amrex::Real &Im, amrex::Real &Ip, const amrex::Array4< const amrex::Real > &S, const amrex::Array4< const amrex::Real > &vel_edge, const amrex::BCRec bc, const int domlo, const int domhi, const Limiter &)
Definition: hydro_godunov_ppm.H:722
+AMREX_GPU_HOST_DEVICE AMREX_FORCE_INLINE void PredictVelOnYFace(const int i, const int j, const int k, const int n, const amrex::Real dtdy, const amrex::Real v_ad, const amrex::Array4< const amrex::Real > &S, const amrex::Array4< amrex::Real > &Im, const amrex::Array4< amrex::Real > &Ip, const amrex::BCRec bc, const int domlo, const int domhi, const Limiter &)
Definition: hydro_godunov_ppm.H:620
+static constexpr int default_limiter
Definition: hydro_godunov_ppm.H:20
+AMREX_GPU_HOST_DEVICE AMREX_FORCE_INLINE void PredictStateOnYFace(const int i, const int j, const int k, const int n, const amrex::Real dt, const amrex::Real dx, amrex::Real &Im, amrex::Real &Ip, const amrex::Array4< const amrex::Real > &S, const amrex::Array4< const amrex::Real > &vel_edge, const amrex::BCRec bc, const int domlo, const int domhi, const Limiter &)
Definition: hydro_godunov_ppm.H:769
+AMREX_GPU_HOST_DEVICE AMREX_FORCE_INLINE void SetXBCs(const int i, const int j, const int k, const int n, amrex::Real &sm, amrex::Real &sp, amrex::Real &sedge1, amrex::Real &sedge2, const amrex::Array4< const amrex::Real > &s, const amrex::Real velm, const amrex::Real velp, const int bclo, const int bchi, const int domlo, const int domhi)
Definition: hydro_godunov_ppm.H:281
+AMREX_GPU_HOST_DEVICE AMREX_FORCE_INLINE void SetYBCs(const int i, const int j, const int k, const int n, amrex::Real &sm, amrex::Real &sp, amrex::Real &sedge1, amrex::Real &sedge2, const amrex::Array4< const amrex::Real > &s, const amrex::Real velm, const amrex::Real velp, const int bclo, const int bchi, const int domlo, const int domhi)
Definition: hydro_godunov_ppm.H:376
+void PredictStateOnFaces(amrex::Box const &bx, AMREX_D_DECL(amrex::Array4< amrex::Real > const &Imx, amrex::Array4< amrex::Real > const &Imy, amrex::Array4< amrex::Real > const &Imz), AMREX_D_DECL(amrex::Array4< amrex::Real > const &Ipx, amrex::Array4< amrex::Real > const &Ipy, amrex::Array4< amrex::Real > const &Ipz), AMREX_D_DECL(amrex::Array4< amrex::Real const > const &umac, amrex::Array4< amrex::Real const > const &vmac, amrex::Array4< amrex::Real const > const &wmac), amrex::Array4< amrex::Real const > const &q, amrex::Geometry geom, amrex::Real l_dt, amrex::BCRec const *pbc, const int ncomp, const Limiter &limiter)
Definition: hydro_godunov_ppm.H:900
+AMREX_GPU_HOST_DEVICE AMREX_FORCE_INLINE void PredictVelOnXFace(const int i, const int j, const int k, const int n, const amrex::Real dtdx, const amrex::Real v_ad, const amrex::Array4< const amrex::Real > &S, const amrex::Array4< amrex::Real > &Im, const amrex::Array4< amrex::Real > &Ip, const amrex::BCRec bc, const int domlo, const int domhi, const Limiter &)
Definition: hydro_godunov_ppm.H:572
+void PredictVelOnFaces(amrex::Box const &bx, AMREX_D_DECL(amrex::Array4< amrex::Real > const &Imx, amrex::Array4< amrex::Real > const &Imy, amrex::Array4< amrex::Real > const &Imz), AMREX_D_DECL(amrex::Array4< amrex::Real > const &Ipx, amrex::Array4< amrex::Real > const &Ipy, amrex::Array4< amrex::Real > const &Ipz), amrex::Array4< amrex::Real const > const &q, amrex::Array4< amrex::Real const > const &vel, amrex::Geometry geom, amrex::Real dt, amrex::BCRec const *pbc, const Limiter &limiter)
Definition: hydro_godunov_ppm.H:865
+limiters
Definition: hydro_godunov_ppm.H:18
+@ VanLeer
Definition: hydro_godunov_ppm.H:18
+@ WENOZ
Definition: hydro_godunov_ppm.H:18
+@ WENO_JS
Definition: hydro_godunov_ppm.H:18
+@ NoLimiter
Definition: hydro_godunov_ppm.H:18
real(kind=amrex_real), parameter half
@@ -1067,27 +1082,27 @@
AMREX_GPU_HOST_DEVICE AMREX_FORCE_INLINE Dim3 ubound(Array4< T > const &a) noexcept
AMREX_GPU_HOST_DEVICE AMREX_FORCE_INLINE Dim3 lbound(Array4< T > const &a) noexcept
std::enable_if_t< std::is_integral_v< T > > ParallelFor(TypeList< CTOs... >, std::array< int, sizeof...(CTOs)> const &runtime_options, T N, F &&f)
-Definition: hydro_godunov_ppm.H:21
-AMREX_GPU_HOST_DEVICE static AMREX_FORCE_INLINE amrex::GpuTuple< amrex::Real, amrex::Real > sm_sp(const amrex::Real, const amrex::Real sedge1, const amrex::Real sedge2)
Definition: hydro_godunov_ppm.H:59
-AMREX_GPU_HOST_DEVICE static AMREX_FORCE_INLINE amrex::Real sedge2(const amrex::Real, const amrex::Real sm1, const amrex::Real s0, const amrex::Real sp1, const amrex::Real sp2)
Definition: hydro_godunov_ppm.H:44
-AMREX_GPU_HOST_DEVICE static AMREX_FORCE_INLINE amrex::Real sedge1(const amrex::Real sm2, const amrex::Real sm1, const amrex::Real s0, const amrex::Real sp1, const amrex::Real)
Definition: hydro_godunov_ppm.H:27
-static constexpr bool do_limiting
Definition: hydro_godunov_ppm.H:23
-Definition: hydro_godunov_ppm.H:67
-static constexpr bool do_limiting
Definition: hydro_godunov_ppm.H:69
-AMREX_GPU_HOST_DEVICE static AMREX_FORCE_INLINE amrex::Real sedge2(const amrex::Real, const amrex::Real sm1, const amrex::Real s0, const amrex::Real sp1, const amrex::Real sp2)
Definition: hydro_godunov_ppm.H:103
-AMREX_GPU_HOST_DEVICE static AMREX_FORCE_INLINE amrex::Real vanLeer(const amrex::Real a, const amrex::Real b, const amrex::Real c)
Definition: hydro_godunov_ppm.H:72
-AMREX_GPU_HOST_DEVICE static AMREX_FORCE_INLINE amrex::GpuTuple< amrex::Real, amrex::Real > sm_sp(const amrex::Real s0, const amrex::Real sedge1, const amrex::Real sedge2)
Definition: hydro_godunov_ppm.H:121
-AMREX_GPU_HOST_DEVICE static AMREX_FORCE_INLINE amrex::Real sedge1(const amrex::Real sm2, const amrex::Real sm1, const amrex::Real s0, const amrex::Real sp1, const amrex::Real)
Definition: hydro_godunov_ppm.H:86
-Definition: hydro_godunov_ppm.H:215
-static constexpr bool do_limiting
Definition: hydro_godunov_ppm.H:217
-AMREX_GPU_HOST_DEVICE static AMREX_FORCE_INLINE amrex::Real sedge1(const amrex::Real sm2, const amrex::Real sm1, const amrex::Real s0, const amrex::Real sp1, const amrex::Real sp2)
Definition: hydro_godunov_ppm.H:259
-AMREX_GPU_HOST_DEVICE static AMREX_FORCE_INLINE amrex::GpuTuple< amrex::Real, amrex::Real > sm_sp(const amrex::Real, const amrex::Real sedge1, const amrex::Real sedge2)
Definition: hydro_godunov_ppm.H:270
-AMREX_GPU_HOST_DEVICE static AMREX_FORCE_INLINE amrex::Real sedge2(const amrex::Real sm2, const amrex::Real sm1, const amrex::Real s0, const amrex::Real sp1, const amrex::Real sp2)
Definition: hydro_godunov_ppm.H:221
-Definition: hydro_godunov_ppm.H:156
-static constexpr bool do_limiting
Definition: hydro_godunov_ppm.H:158
-AMREX_GPU_HOST_DEVICE static AMREX_FORCE_INLINE amrex::GpuTuple< amrex::Real, amrex::Real > sm_sp(const amrex::Real, const amrex::Real sedge1, const amrex::Real sedge2)
Definition: hydro_godunov_ppm.H:207
-AMREX_GPU_HOST_DEVICE static AMREX_FORCE_INLINE amrex::Real sedge2(const amrex::Real sm2, const amrex::Real sm1, const amrex::Real s0, const amrex::Real sp1, const amrex::Real sp2)
Definition: hydro_godunov_ppm.H:162
-AMREX_GPU_HOST_DEVICE static AMREX_FORCE_INLINE amrex::Real sedge1(const amrex::Real sm2, const amrex::Real sm1, const amrex::Real s0, const amrex::Real sp1, const amrex::Real sp2)
Definition: hydro_godunov_ppm.H:196
+Definition: hydro_godunov_ppm.H:22
+AMREX_GPU_HOST_DEVICE static AMREX_FORCE_INLINE amrex::GpuTuple< amrex::Real, amrex::Real > sm_sp(const amrex::Real, const amrex::Real sedge1, const amrex::Real sedge2)
Definition: hydro_godunov_ppm.H:60
+AMREX_GPU_HOST_DEVICE static AMREX_FORCE_INLINE amrex::Real sedge2(const amrex::Real, const amrex::Real sm1, const amrex::Real s0, const amrex::Real sp1, const amrex::Real sp2)
Definition: hydro_godunov_ppm.H:45
+AMREX_GPU_HOST_DEVICE static AMREX_FORCE_INLINE amrex::Real sedge1(const amrex::Real sm2, const amrex::Real sm1, const amrex::Real s0, const amrex::Real sp1, const amrex::Real)
Definition: hydro_godunov_ppm.H:28
+static constexpr bool do_limiting
Definition: hydro_godunov_ppm.H:24
+Definition: hydro_godunov_ppm.H:68
+static constexpr bool do_limiting
Definition: hydro_godunov_ppm.H:70
+AMREX_GPU_HOST_DEVICE static AMREX_FORCE_INLINE amrex::Real sedge2(const amrex::Real, const amrex::Real sm1, const amrex::Real s0, const amrex::Real sp1, const amrex::Real sp2)
Definition: hydro_godunov_ppm.H:104
+AMREX_GPU_HOST_DEVICE static AMREX_FORCE_INLINE amrex::Real vanLeer(const amrex::Real a, const amrex::Real b, const amrex::Real c)
Definition: hydro_godunov_ppm.H:73
+AMREX_GPU_HOST_DEVICE static AMREX_FORCE_INLINE amrex::GpuTuple< amrex::Real, amrex::Real > sm_sp(const amrex::Real s0, const amrex::Real sedge1, const amrex::Real sedge2)
Definition: hydro_godunov_ppm.H:122
+AMREX_GPU_HOST_DEVICE static AMREX_FORCE_INLINE amrex::Real sedge1(const amrex::Real sm2, const amrex::Real sm1, const amrex::Real s0, const amrex::Real sp1, const amrex::Real)
Definition: hydro_godunov_ppm.H:87
+Definition: hydro_godunov_ppm.H:216
+static constexpr bool do_limiting
Definition: hydro_godunov_ppm.H:218
+AMREX_GPU_HOST_DEVICE static AMREX_FORCE_INLINE amrex::Real sedge1(const amrex::Real sm2, const amrex::Real sm1, const amrex::Real s0, const amrex::Real sp1, const amrex::Real sp2)
Definition: hydro_godunov_ppm.H:260
+AMREX_GPU_HOST_DEVICE static AMREX_FORCE_INLINE amrex::GpuTuple< amrex::Real, amrex::Real > sm_sp(const amrex::Real, const amrex::Real sedge1, const amrex::Real sedge2)
Definition: hydro_godunov_ppm.H:271
+AMREX_GPU_HOST_DEVICE static AMREX_FORCE_INLINE amrex::Real sedge2(const amrex::Real sm2, const amrex::Real sm1, const amrex::Real s0, const amrex::Real sp1, const amrex::Real sp2)
Definition: hydro_godunov_ppm.H:222
+Definition: hydro_godunov_ppm.H:157
+static constexpr bool do_limiting
Definition: hydro_godunov_ppm.H:159
+AMREX_GPU_HOST_DEVICE static AMREX_FORCE_INLINE amrex::GpuTuple< amrex::Real, amrex::Real > sm_sp(const amrex::Real, const amrex::Real sedge1, const amrex::Real sedge2)
Definition: hydro_godunov_ppm.H:208
+AMREX_GPU_HOST_DEVICE static AMREX_FORCE_INLINE amrex::Real sedge2(const amrex::Real sm2, const amrex::Real sm1, const amrex::Real s0, const amrex::Real sp1, const amrex::Real sp2)
Definition: hydro_godunov_ppm.H:163
+AMREX_GPU_HOST_DEVICE static AMREX_FORCE_INLINE amrex::Real sedge1(const amrex::Real sm2, const amrex::Real sm1, const amrex::Real s0, const amrex::Real sp1, const amrex::Real sp2)
Definition: hydro_godunov_ppm.H:197
diff --git a/amrex-hydro/Doxygen/html/hydro__mol__edge__state__K_8H_source.html b/amrex-hydro/Doxygen/html/hydro__mol__edge__state__K_8H_source.html
index 56dbed6..3aef8a2 100644
--- a/amrex-hydro/Doxygen/html/hydro__mol__edge__state__K_8H_source.html
+++ b/amrex-hydro/Doxygen/html/hydro__mol__edge__state__K_8H_source.html
@@ -143,307 +143,313 @@
45 amrex::Real qmns = q(i-1,j,k,n) + 0.5 *
- 48 HydroBC::SetXEdgeBCs(i,j,k,n,q,qmns,qpls,d_bcrec[n].lo(0),domlo,d_bcrec[n].hi(0),domhi,is_velocity);
-
- 50 if ( (i==domlo) && (d_bcrec[n].lo(0) == amrex::BCType::foextrap || d_bcrec[n].lo(0) == amrex::BCType::hoextrap) )
-
- 52 if ( umac(i,j,k) >= 0. && n==
XVEL && is_velocity ) qpls =
amrex::min(qpls,0.0_rt);
-
-
- 55 if ( (i==domhi+1) && (d_bcrec[n].hi(0) == amrex::BCType::foextrap || d_bcrec[n].hi(0) == amrex::BCType::hoextrap) )
-
- 57 if ( umac(i,j,k) <= 0. && n==
XVEL && is_velocity ) qmns =
amrex::max(qmns,0.0_rt);
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 83 int domlo,
int domhi,
bool is_velocity) noexcept
-
-
-
-
-
- 89 amrex::Real qpls = q(i ,j,k,n) - 0.5 *
amrex_calc_xslope( i , j, k, n, order, q );
- 90 amrex::Real qmns = q(i-1,j,k,n) + 0.5 *
amrex_calc_xslope( i-1, j, k, n, order, q );
-
- 92 HydroBC::SetXEdgeBCs(i,j,k,n,q,qmns,qpls,d_bcrec[n].lo(0),domlo,d_bcrec[n].hi(0),domhi,is_velocity);
-
- 94 if ( (i==domlo) && (d_bcrec[n].lo(0) == amrex::BCType::foextrap || d_bcrec[n].lo(0) == amrex::BCType::hoextrap) )
-
- 96 if ( umac(i,j,k) >= 0. && n==
XVEL && is_velocity ) qpls =
amrex::min(qpls,0.0_rt);
-
-
- 99 if ( (i==domhi+1) && (d_bcrec[n].hi(0) == amrex::BCType::foextrap || d_bcrec[n].hi(0) == amrex::BCType::hoextrap) )
-
- 101 if ( umac(i,j,k) <= 0. && n==
XVEL && is_velocity ) qmns =
amrex::max(qmns,0.0_rt);
-
-
-
-
-
-
-
-
-
-
-
-
-
- 115 qs = 0.5*(qmns+qpls);
-
-
-
-
-
-
-
-
-
-
-
- 127 int domlo,
int domhi,
bool is_velocity) noexcept
-
-
-
-
- 132 bool edlo = (d_bcrec[n].lo(1) == amrex::BCType::ext_dir);
- 133 bool edhi = (d_bcrec[n].hi(1) == amrex::BCType::ext_dir);
-
- 135 bool extdir_or_ho_lo = (d_bcrec[n].lo(1) == amrex::BCType::ext_dir) || d_bcrec[n].lo(1) == amrex::BCType::hoextrap;
- 136 bool extdir_or_ho_hi = (d_bcrec[n].hi(1) == amrex::BCType::ext_dir) || d_bcrec[n].lo(1) == amrex::BCType::hoextrap;
-
-
+ 48 HydroBC::SetXEdgeBCs(i,j,k,n,q,qmns,qpls,umac(i,j,k),umac(i,j,k),
+ 49 d_bcrec[n].lo(0),domlo,d_bcrec[n].hi(0),domhi,is_velocity);
+
+ 51 if ( (i==domlo) && (d_bcrec[n].lo(0) == amrex::BCType::foextrap || d_bcrec[n].lo(0) == amrex::BCType::hoextrap) )
+
+ 53 if ( umac(i,j,k) >= 0. && n==
XVEL && is_velocity ) qpls =
amrex::min(qpls,0.0_rt);
+
+
+ 56 if ( (i==domhi+1) && (d_bcrec[n].hi(0) == amrex::BCType::foextrap || d_bcrec[n].hi(0) == amrex::BCType::hoextrap) )
+
+ 58 if ( umac(i,j,k) <= 0. && n==
XVEL && is_velocity ) qmns =
amrex::max(qmns,0.0_rt);
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 84 int domlo,
int domhi,
bool is_velocity) noexcept
+
+
+
+
+
+ 90 amrex::Real qpls = q(i ,j,k,n) - 0.5 *
amrex_calc_xslope( i , j, k, n, order, q );
+ 91 amrex::Real qmns = q(i-1,j,k,n) + 0.5 *
amrex_calc_xslope( i-1, j, k, n, order, q );
+
+ 93 HydroBC::SetXEdgeBCs(i,j,k,n,q,qmns,qpls,umac(i,j,k),umac(i,j,k),
+ 94 d_bcrec[n].lo(0),domlo,d_bcrec[n].hi(0),domhi,is_velocity);
+
+ 96 if ( (i==domlo) && (d_bcrec[n].lo(0) == amrex::BCType::foextrap || d_bcrec[n].lo(0) == amrex::BCType::hoextrap) )
+
+ 98 if ( umac(i,j,k) >= 0. && n==
XVEL && is_velocity ) qpls =
amrex::min(qpls,0.0_rt);
+
+
+ 101 if ( (i==domhi+1) && (d_bcrec[n].hi(0) == amrex::BCType::foextrap || d_bcrec[n].hi(0) == amrex::BCType::hoextrap) )
+
+ 103 if ( umac(i,j,k) <= 0. && n==
XVEL && is_velocity ) qmns =
amrex::max(qmns,0.0_rt);
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 117 qs = 0.5*(qmns+qpls);
+
+
+
+
+
+
+
+
+
+
+
+ 129 int domlo,
int domhi,
bool is_velocity) noexcept
+
+
+
+
+ 134 bool edlo = (d_bcrec[n].lo(1) == amrex::BCType::ext_dir);
+ 135 bool edhi = (d_bcrec[n].hi(1) == amrex::BCType::ext_dir);
+
+ 137 bool extdir_or_ho_lo = (d_bcrec[n].lo(1) == amrex::BCType::ext_dir) || d_bcrec[n].lo(1) == amrex::BCType::hoextrap;
+ 138 bool extdir_or_ho_hi = (d_bcrec[n].hi(1) == amrex::BCType::ext_dir) || d_bcrec[n].lo(1) == amrex::BCType::hoextrap;
- 140 if (edlo && j <= domlo)
-
- 142 qs = q(i,domlo-1,k,n);
-
- 144 else if ( edhi && j >= domhi+1)
-
- 146 qs = q(i,domhi+1,k,n);
-
-
-
- 150 amrex::Real qpls = q(i,j ,k,n) - 0.5 *
-
- 152 amrex::Real qmns = q(i,j-1,k,n) + 0.5 *
-
-
- 155 HydroBC::SetYEdgeBCs(i,j,k,n,q,qmns,qpls,d_bcrec[n].lo(1),domlo,d_bcrec[n].hi(1),domhi,is_velocity);
+
+
+ 142 if (edlo && j <= domlo)
+
+ 144 qs = q(i,domlo-1,k,n);
+
+ 146 else if ( edhi && j >= domhi+1)
+
+ 148 qs = q(i,domhi+1,k,n);
+
+
+
+ 152 amrex::Real qpls = q(i,j ,k,n) - 0.5 *
+
+ 154 amrex::Real qmns = q(i,j-1,k,n) + 0.5 *
+
- 157 if ( (j==domlo) && (d_bcrec[n].lo(1) == amrex::BCType::foextrap || d_bcrec[n].lo(1) == amrex::BCType::hoextrap) )
-
- 159 if ( vmac(i,j,k) >= 0. && n==
YVEL && is_velocity ) qpls =
amrex::min(qpls,0.0_rt);
-
-
- 162 if ( (j==domhi+1) && (d_bcrec[n].hi(1) == amrex::BCType::foextrap || d_bcrec[n].hi(1) == amrex::BCType::hoextrap) )
-
- 164 if ( vmac(i,j,k) <= 0. && n==
YVEL && is_velocity ) qmns =
amrex::max(qmns,0.0_rt);
-
-
-
-
-
-
-
-
-
-
-
-
-
- 178 qs = 0.5*(qmns+qpls);
-
-
-
-
-
+ 157 HydroBC::SetYEdgeBCs(i,j,k,n,q,qmns,qpls,vmac(i,j,k),vmac(i,j,k),
+ 158 d_bcrec[n].lo(1),domlo,d_bcrec[n].hi(1),domhi,is_velocity);
+
+ 160 if ( (j==domlo) && (d_bcrec[n].lo(1) == amrex::BCType::foextrap || d_bcrec[n].lo(1) == amrex::BCType::hoextrap) )
+
+ 162 if ( vmac(i,j,k) >= 0. && n==
YVEL && is_velocity ) qpls =
amrex::min(qpls,0.0_rt);
+
+
+ 165 if ( (j==domhi+1) && (d_bcrec[n].hi(1) == amrex::BCType::foextrap || d_bcrec[n].hi(1) == amrex::BCType::hoextrap) )
+
+ 167 if ( vmac(i,j,k) <= 0. && n==
YVEL && is_velocity ) qmns =
amrex::max(qmns,0.0_rt);
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 181 qs = 0.5*(qmns+qpls);
+
+
-
-
-
-
-
-
-
- 192 int domlo,
int domhi,
bool is_velocity) noexcept
-
-
-
-
-
- 198 amrex::Real qpls = q(i,j ,k,n) - 0.5 *
amrex_calc_yslope( i, j , k, n, order, q );
- 199 amrex::Real qmns = q(i,j-1,k,n) + 0.5 *
amrex_calc_yslope( i, j-1, k, n, order, q );
-
- 201 HydroBC::SetYEdgeBCs(i,j,k,n,q,qmns,qpls,d_bcrec[n].lo(1),domlo,d_bcrec[n].hi(1),domhi,is_velocity);
-
- 203 if ( (j==domlo) && (d_bcrec[n].lo(1) == amrex::BCType::foextrap || d_bcrec[n].lo(1) == amrex::BCType::hoextrap) )
-
- 205 if ( vmac(i,j,k) >= 0. && n==
YVEL && is_velocity ) qpls =
amrex::min(qpls,0.0_rt);
-
-
- 208 if ( (j==domhi+1) && (d_bcrec[n].hi(1) == amrex::BCType::foextrap || d_bcrec[n].hi(1) == amrex::BCType::hoextrap) )
-
- 210 if ( vmac(i,j,k) <= 0. && n==
YVEL && is_velocity ) qmns =
amrex::max(qmns,0.0_rt);
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+ 195 int domlo,
int domhi,
bool is_velocity) noexcept
+
+
+
+
+
+ 201 amrex::Real qpls = q(i,j ,k,n) - 0.5 *
amrex_calc_yslope( i, j , k, n, order, q );
+ 202 amrex::Real qmns = q(i,j-1,k,n) + 0.5 *
amrex_calc_yslope( i, j-1, k, n, order, q );
+
+ 204 HydroBC::SetYEdgeBCs(i,j,k,n,q,qmns,qpls,vmac(i,j,k),vmac(i,j,k),
+ 205 d_bcrec[n].lo(1),domlo,d_bcrec[n].hi(1),domhi,is_velocity);
+
+ 207 if ( (j==domlo) && (d_bcrec[n].lo(1) == amrex::BCType::foextrap || d_bcrec[n].lo(1) == amrex::BCType::hoextrap) )
+
+ 209 if ( vmac(i,j,k) >= 0. && n==
YVEL && is_velocity ) qpls =
amrex::min(qpls,0.0_rt);
+
+
+ 212 if ( (j==domhi+1) && (d_bcrec[n].hi(1) == amrex::BCType::foextrap || d_bcrec[n].hi(1) == amrex::BCType::hoextrap) )
+
+ 214 if ( vmac(i,j,k) <= 0. && n==
YVEL && is_velocity ) qmns =
amrex::max(qmns,0.0_rt);
+
+
+
+
-
+
-
+
- 224 qs = 0.5*(qmns+qpls);
+
-
-
-
-
+
+
+ 228 qs = 0.5*(qmns+qpls);
+
- 231 #if (AMREX_SPACEDIM==3)
+
-
- 234 amrex::Real hydro_mol_zedge_state_extdir (
int i,
int j,
int k,
int n,
-
-
-
- 238 int domlo,
int domhi,
bool is_velocity) noexcept
-
-
-
-
-
-
- 245 bool edlo = (d_bcrec[n].lo(2) == amrex::BCType::ext_dir);
- 246 bool edhi = (d_bcrec[n].hi(2) == amrex::BCType::ext_dir);
-
- 248 bool extdir_or_ho_lo = (d_bcrec[n].lo(2) == amrex::BCType::ext_dir) || d_bcrec[n].lo(2) == amrex::BCType::hoextrap;
- 249 bool extdir_or_ho_hi = (d_bcrec[n].hi(2) == amrex::BCType::ext_dir) || d_bcrec[n].lo(2) == amrex::BCType::hoextrap;
-
- 251 if (edlo && k <= domlo)
-
- 253 qs = q(i,j,domlo-1,n);
-
- 255 else if ( edhi && k >= domhi+1)
+
+
+ 235 #if (AMREX_SPACEDIM==3)
+
+
+ 238 amrex::Real hydro_mol_zedge_state_extdir (
int i,
int j,
int k,
int n,
+
+
+
+ 242 int domlo,
int domhi,
bool is_velocity) noexcept
+
+
+
+
+
+
+ 249 bool edlo = (d_bcrec[n].lo(2) == amrex::BCType::ext_dir);
+ 250 bool edhi = (d_bcrec[n].hi(2) == amrex::BCType::ext_dir);
+
+ 252 bool extdir_or_ho_lo = (d_bcrec[n].lo(2) == amrex::BCType::ext_dir) || d_bcrec[n].lo(2) == amrex::BCType::hoextrap;
+ 253 bool extdir_or_ho_hi = (d_bcrec[n].hi(2) == amrex::BCType::ext_dir) || d_bcrec[n].lo(2) == amrex::BCType::hoextrap;
+
+ 255 if (edlo && k <= domlo)
- 257 qs = q(i,j,domhi+1,n);
+ 257 qs = q(i,j,domlo-1,n);
-
+ 259 else if ( edhi && k >= domhi+1)
- 261 amrex::Real qpls = q(i,j,k ,n) - 0.5 *
- 262 amrex_calc_zslope_extdir( i, j, k , n, order, q, extdir_or_ho_lo, extdir_or_ho_hi, domlo, domhi );
- 263 amrex::Real qmns = q(i,j,k-1,n) + 0.5 *
- 264 amrex_calc_zslope_extdir( i, j, k-1, n, order, q, extdir_or_ho_lo, extdir_or_ho_hi, domlo, domhi );
-
- 266 HydroBC::SetZEdgeBCs(i,j,k,n,q,qmns,qpls,d_bcrec[n].lo(2),domlo,d_bcrec[n].hi(2),domhi,is_velocity);
-
- 268 if ( (k==domlo) && (d_bcrec[n].lo(2) == amrex::BCType::foextrap || d_bcrec[n].lo(2) == amrex::BCType::hoextrap) )
-
- 270 if ( wmac(i,j,k) >= 0. && n==
ZVEL && is_velocity ) qpls =
amrex::min(qpls,0.0_rt);
-
-
- 273 if ( (k==domhi+1) && (d_bcrec[n].hi(2) == amrex::BCType::foextrap || d_bcrec[n].hi(2) == amrex::BCType::hoextrap) )
+ 261 qs = q(i,j,domhi+1,n);
+
+
+
+ 265 amrex::Real qpls = q(i,j,k ,n) - 0.5 *
+ 266 amrex_calc_zslope_extdir( i, j, k , n, order, q, extdir_or_ho_lo, extdir_or_ho_hi, domlo, domhi );
+ 267 amrex::Real qmns = q(i,j,k-1,n) + 0.5 *
+ 268 amrex_calc_zslope_extdir( i, j, k-1, n, order, q, extdir_or_ho_lo, extdir_or_ho_hi, domlo, domhi );
+
+ 270 HydroBC::SetZEdgeBCs(i,j,k,n,q,qmns,qpls,wmac(i,j,k),wmac(i,j,k),
+ 271 d_bcrec[n].lo(2),domlo,d_bcrec[n].hi(2),domhi,is_velocity);
+
+ 273 if ( (k==domlo) && (d_bcrec[n].lo(2) == amrex::BCType::foextrap || d_bcrec[n].lo(2) == amrex::BCType::hoextrap) )
- 275 if ( wmac(i,j,k) <= 0. && n==
ZVEL && is_velocity ) qmns =
amrex::max(qmns,0.0_rt);
-
+ 275 if ( wmac(i,j,k) >= 0. && n==
ZVEL && is_velocity ) qpls =
amrex::min(qpls,0.0_rt);
+
-
-
-
-
+ 278 if ( (k==domhi+1) && (d_bcrec[n].hi(2) == amrex::BCType::foextrap || d_bcrec[n].hi(2) == amrex::BCType::hoextrap) )
+
+ 280 if ( wmac(i,j,k) <= 0. && n==
ZVEL && is_velocity ) qmns =
amrex::max(qmns,0.0_rt);
+
-
-
-
-
-
-
- 289 qs = 0.5*(qmns+qpls);
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+ 294 qs = 0.5*(qmns+qpls);
+
+
-
- 299 amrex::Real hydro_mol_zedge_state (
int i,
int j,
int k,
int n,
-
-
-
- 303 int domlo,
int domhi,
bool is_velocity) noexcept
-
-
-
-
-
- 309 amrex::Real qpls = q(i,j,k ,n) - 0.5 * amrex_calc_zslope( i, j, k , n, order, q );
- 310 amrex::Real qmns = q(i,j,k-1,n) + 0.5 * amrex_calc_zslope( i, j, k-1, n, order, q );
-
- 312 HydroBC::SetZEdgeBCs(i,j,k,n,q,qmns,qpls,d_bcrec[n].lo(2),domlo,d_bcrec[n].hi(2),domhi,is_velocity);
-
- 314 if ( (k==domlo) && (d_bcrec[n].lo(2) == amrex::BCType::foextrap || d_bcrec[n].lo(2) == amrex::BCType::hoextrap) )
-
- 316 if ( wmac(i,j,k) >= 0. && n==
ZVEL && is_velocity ) qpls =
amrex::min(qpls,0.0_rt);
-
-
- 319 if ( (k==domhi+1) && (d_bcrec[n].hi(2) == amrex::BCType::foextrap || d_bcrec[n].hi(2) == amrex::BCType::hoextrap) )
-
- 321 if ( wmac(i,j,k) <= 0. && n==
ZVEL && is_velocity ) qmns =
amrex::max(qmns,0.0_rt);
-
-
-
-
+
+
+
+
+
+
+ 304 amrex::Real hydro_mol_zedge_state (
int i,
int j,
int k,
int n,
+
+
+
+ 308 int domlo,
int domhi,
bool is_velocity) noexcept
+
+
+
+
+
+ 314 amrex::Real qpls = q(i,j,k ,n) - 0.5 * amrex_calc_zslope( i, j, k , n, order, q );
+ 315 amrex::Real qmns = q(i,j,k-1,n) + 0.5 * amrex_calc_zslope( i, j, k-1, n, order, q );
+
+ 317 HydroBC::SetZEdgeBCs(i,j,k,n,q,qmns,qpls,wmac(i,j,k),wmac(i,j,k),
+ 318 d_bcrec[n].lo(2),domlo,d_bcrec[n].hi(2),domhi,is_velocity);
+
+ 320 if ( (k==domlo) && (d_bcrec[n].lo(2) == amrex::BCType::foextrap || d_bcrec[n].lo(2) == amrex::BCType::hoextrap) )
+
+ 322 if ( wmac(i,j,k) >= 0. && n==
ZVEL && is_velocity ) qpls =
amrex::min(qpls,0.0_rt);
+
+
+ 325 if ( (k==domhi+1) && (d_bcrec[n].hi(2) == amrex::BCType::foextrap || d_bcrec[n].hi(2) == amrex::BCType::hoextrap) )
-
-
-
-
-
-
-
-
- 335 qs = 0.5*(qmns+qpls);
-
-
-
-
-
-
-
+ 327 if ( wmac(i,j,k) <= 0. && n==
ZVEL && is_velocity ) qmns =
amrex::max(qmns,0.0_rt);
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 341 qs = 0.5*(qmns+qpls);
+
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
#define AMREX_FORCE_INLINE
@@ -454,12 +460,12 @@
#define ZVEL
Definition: hydro_constants.H:30
-AMREX_GPU_HOST_DEVICE AMREX_FORCE_INLINE void SetXEdgeBCs(int i, int j, int k, int n, const amrex::Array4< const amrex::Real > &s, amrex::Real &lo, amrex::Real &hi, int bclo, int domlo, int bchi, int domhi, bool is_velocity)
Boundary condition effects.
Definition: hydro_bcs_K.H:77
-AMREX_GPU_HOST_DEVICE AMREX_FORCE_INLINE void SetYEdgeBCs(int i, int j, int k, int n, const amrex::Array4< const amrex::Real > &s, amrex::Real &lo, amrex::Real &hi, int bclo, int domlo, int bchi, int domhi, bool is_velocity)
Boundary condition effects.
Definition: hydro_bcs_K.H:144
+AMREX_GPU_HOST_DEVICE AMREX_FORCE_INLINE void SetYEdgeBCs(int i, int j, int k, int n, const amrex::Array4< const amrex::Real > &s, amrex::Real &lo, amrex::Real &hi, amrex::Real velm, amrex::Real velp, int bclo, int domlo, int bchi, int domhi, bool is_velocity)
Boundary condition effects.
Definition: hydro_bcs_K.H:166
+AMREX_GPU_HOST_DEVICE AMREX_FORCE_INLINE void SetXEdgeBCs(int i, int j, int k, int n, const amrex::Array4< const amrex::Real > &s, amrex::Real &lo, amrex::Real &hi, amrex::Real velm, amrex::Real velp, int bclo, int domlo, int bchi, int domhi, bool is_velocity)
Boundary condition effects.
Definition: hydro_bcs_K.H:77
-AMREX_GPU_DEVICE AMREX_FORCE_INLINE amrex::Real hydro_mol_xedge_state(int i, int j, int k, int n, amrex::Array4< amrex::Real const > const &q, amrex::Array4< amrex::Real const > const &umac, amrex::BCRec const *const d_bcrec, int domlo, int domhi, bool is_velocity) noexcept
Definition: hydro_mol_edge_state_K.H:79
-AMREX_GPU_DEVICE AMREX_FORCE_INLINE amrex::Real hydro_mol_yedge_state_extdir(int i, int j, int k, int n, amrex::Array4< amrex::Real const > const &q, amrex::Array4< amrex::Real const > const &vmac, amrex::BCRec const *const d_bcrec, int domlo, int domhi, bool is_velocity) noexcept
Definition: hydro_mol_edge_state_K.H:123
-AMREX_GPU_DEVICE AMREX_FORCE_INLINE amrex::Real hydro_mol_yedge_state(int i, int j, int k, int n, amrex::Array4< amrex::Real const > const &q, amrex::Array4< amrex::Real const > const &vmac, amrex::BCRec const *const d_bcrec, int domlo, int domhi, bool is_velocity) noexcept
Definition: hydro_mol_edge_state_K.H:188
+AMREX_GPU_DEVICE AMREX_FORCE_INLINE amrex::Real hydro_mol_xedge_state(int i, int j, int k, int n, amrex::Array4< amrex::Real const > const &q, amrex::Array4< amrex::Real const > const &umac, amrex::BCRec const *const d_bcrec, int domlo, int domhi, bool is_velocity) noexcept
Definition: hydro_mol_edge_state_K.H:80
+AMREX_GPU_DEVICE AMREX_FORCE_INLINE amrex::Real hydro_mol_yedge_state_extdir(int i, int j, int k, int n, amrex::Array4< amrex::Real const > const &q, amrex::Array4< amrex::Real const > const &vmac, amrex::BCRec const *const d_bcrec, int domlo, int domhi, bool is_velocity) noexcept
Definition: hydro_mol_edge_state_K.H:125
+AMREX_GPU_DEVICE AMREX_FORCE_INLINE amrex::Real hydro_mol_yedge_state(int i, int j, int k, int n, amrex::Array4< amrex::Real const > const &q, amrex::Array4< amrex::Real const > const &vmac, amrex::BCRec const *const d_bcrec, int domlo, int domhi, bool is_velocity) noexcept
Definition: hydro_mol_edge_state_K.H:191
AMREX_GPU_DEVICE AMREX_FORCE_INLINE amrex::Real hydro_mol_xedge_state_extdir(int i, int j, int k, int n, amrex::Array4< amrex::Real const > const &q, amrex::Array4< amrex::Real const > const &umac, amrex::BCRec const *const d_bcrec, int domlo, int domhi, bool is_velocity) noexcept
Definition: hydro_mol_edge_state_K.H:16
AMREX_GPU_DEVICE AMREX_FORCE_INLINE Real amrex_calc_yslope_extdir(int i, int j, int k, int n, int order, amrex::Array4< Real const > const &q, bool edlo, bool edhi, int domlo, int domhi) noexcept
AMREX_GPU_HOST_DEVICE constexpr AMREX_FORCE_INLINE const T & max(const T &a, const T &b) noexcept
diff --git a/amrex-hydro/Doxygen/html/hydro__utils_8H.html b/amrex-hydro/Doxygen/html/hydro__utils_8H.html
index 1d875d1..32b422c 100644
--- a/amrex-hydro/Doxygen/html/hydro__utils_8H.html
+++ b/amrex-hydro/Doxygen/html/hydro__utils_8H.html
@@ -109,12 +109,13 @@
diff --git a/amrex-hydro/Doxygen/html/hydro__utils_8cpp__incl.map b/amrex-hydro/Doxygen/html/hydro__utils_8cpp__incl.map
index 3a9fa70..28d5fe7 100644
--- a/amrex-hydro/Doxygen/html/hydro__utils_8cpp__incl.map
+++ b/amrex-hydro/Doxygen/html/hydro__utils_8cpp__incl.map
@@ -2,10 +2,11 @@
-
-
-
-
-
-
+
+
+
+
+
+
+
diff --git a/amrex-hydro/Doxygen/html/hydro__utils_8cpp__incl.md5 b/amrex-hydro/Doxygen/html/hydro__utils_8cpp__incl.md5
index 940169f..dc9c253 100644
--- a/amrex-hydro/Doxygen/html/hydro__utils_8cpp__incl.md5
+++ b/amrex-hydro/Doxygen/html/hydro__utils_8cpp__incl.md5
@@ -1 +1 @@
-9ba11a3e1ecd169af234f4065988cc8b
\ No newline at end of file
+35238809518d2f7079f5823840042c35
\ No newline at end of file
diff --git a/amrex-hydro/Doxygen/html/hydro__utils_8cpp__incl.png b/amrex-hydro/Doxygen/html/hydro__utils_8cpp__incl.png
index eb59026..fe1ee9a 100644
Binary files a/amrex-hydro/Doxygen/html/hydro__utils_8cpp__incl.png and b/amrex-hydro/Doxygen/html/hydro__utils_8cpp__incl.png differ
diff --git a/amrex-hydro/Doxygen/html/namespaceEBGodunovBC.html b/amrex-hydro/Doxygen/html/namespaceEBGodunovBC.html
index 9383e83..f6dfa6e 100644
--- a/amrex-hydro/Doxygen/html/namespaceEBGodunovBC.html
+++ b/amrex-hydro/Doxygen/html/namespaceEBGodunovBC.html
@@ -101,14 +101,14 @@
|
-AMREX_GPU_HOST_DEVICE AMREX_FORCE_INLINE void | SetXBCs (const int i, const int j, const int k, const int n, const amrex::Array4< const amrex::Real > &s, amrex::Real &lo, amrex::Real &hi, const int bclo, const int bchi, const int domlo, const int domhi, const bool is_velocity) |
- |
-AMREX_GPU_HOST_DEVICE AMREX_FORCE_INLINE void | SetYBCs (const int i, const int j, const int k, const int n, const amrex::Array4< const amrex::Real > &s, amrex::Real &lo, amrex::Real &hi, const int bclo, const int bchi, const int domlo, const int domhi, const bool is_velocity) |
- |
+AMREX_GPU_HOST_DEVICE AMREX_FORCE_INLINE void | SetXBCs (const int i, const int j, const int k, const int n, const amrex::Array4< const amrex::Real > &s, amrex::Real &lo, amrex::Real &hi, amrex::Real velm, amrex::Real velp, const int bclo, const int bchi, const int domlo, const int domhi, const bool is_velocity) |
+ |
+AMREX_GPU_HOST_DEVICE AMREX_FORCE_INLINE void | SetYBCs (const int i, const int j, const int k, const int n, const amrex::Array4< const amrex::Real > &s, amrex::Real &lo, amrex::Real &hi, amrex::Real velm, amrex::Real velp, const int bclo, const int bchi, const int domlo, const int domhi, const bool is_velocity) |
+ |
-
-◆ SetXBCs()
+
+◆ SetXBCs()