1 #ifndef AMREX_MLEBNODEFDLAP_2D_K_H_
2 #define AMREX_MLEBNODEFDLAP_2D_K_H_
12 Real hmx = (ecx(i-1,j ,0) == Real(1.)) ? Real(1.) : Real(1.) - Real(2.)*ecx(i-1,j ,0);
13 Real hpx = (ecx(i ,j ,0) == Real(1.)) ? Real(1.) : Real(1.) + Real(2.)*ecx(i ,j ,0);
14 Real hmy = (ecy(i ,j-1,0) == Real(1.)) ? Real(1.) : Real(1.) - Real(2.)*ecy(i ,j-1,0);
15 Real hpy = (ecy(i ,j ,0) == Real(1.)) ? Real(1.) : Real(1.) + Real(2.)*ecy(i ,j ,0);
27 F
const& xeb, Real bx, Real by) noexcept
33 Real hp, hm,
scale, out;
35 hp = (ecx(i,j,k) == Real(1.0)) ? Real(1.0) : (Real(1.0)+Real(2.)*ecx(i,j,k));
36 if (levset(i+1,j,k) < Real(0.0)) {
37 tmp =
x(i+1,j,k) -
x(i,j,k);
39 tmp = (xeb(i+1,j,k) -
x(i,j,k)) / hp;
42 hm = (ecx(i-1,j,k) == Real(1.0)) ? Real(1.0) : (Real(1.0)-Real(2.)*ecx(i-1,j,k));
43 if (levset(i-1,j,k) < Real(0.0)) {
44 tmp +=
x(i-1,j,k) -
x(i,j,k);
46 tmp += (xeb(i-1,j,k) -
x(i,j,k)) / hm;
49 out = tmp * bx * Real(2.0) / (hp+hm);
52 hp = (ecy(i,j,k) == Real(1.0)) ? Real(1.0) : (Real(1.0)+Real(2.)*ecy(i,j,k));
53 if (levset(i,j+1,k) < Real(0.0)) {
54 tmp =
x(i,j+1,k) -
x(i,j,k);
56 tmp = (xeb(i,j+1,k) -
x(i,j,k)) / hp;
59 hm = (ecy(i,j-1,k) == Real(1.0)) ? Real(1.0) : (Real(1.0)-Real(2.)*ecy(i,j-1,k));
60 if (levset(i,j-1,k) < Real(0.0)) {
61 tmp +=
x(i,j-1,k) -
x(i,j,k);
63 tmp += (xeb(i,j-1,k) -
x(i,j,k)) / hm;
66 out += tmp * by * Real(2.0) / (hp+hm);
78 Real xeb, Real bx, Real by) noexcept
81 [=] (
int,
int,
int) -> Real {
return xeb; },
93 [=] (
int i1,
int i2,
int i3) -> Real {
94 return xeb(i1,i2,i3); },
101 Real bx, Real by) noexcept
104 y(i,j,k) = Real(0.0);
106 y(i,j,k) = bx * (
x(i-1,j,k) +
x(i+1,j,k))
107 + by * (
x(i,j-1,k) +
x(i,j+1,k))
108 - (Real(2.0)*(bx+by)) *
x(i,j,k);
117 Real bx, Real by,
int redblack) noexcept
119 if ((i+j+k+redblack)%2 == 0) {
126 hp = (ecx(i,j,k) == Real(1.0)) ? Real(1.0) : (Real(1.0)+Real(2.)*ecx(i,j,k));
127 if (levset(i+1,j,k) < Real(0.0)) {
131 tmp0 = Real(-1.0) / hp;
135 hm = (ecx(i-1,j,k) == Real(1.0)) ? Real(1.0) : (Real(1.0)-Real(2.)*ecx(i-1,j,k));
136 if (levset(i-1,j,k) < Real(0.0)) {
140 tmp0 += Real(-1.0) / hm;
143 Real gamma = tmp0 * (bx * Real(2.0) / (hp+hm));
144 Real rho = tmp1 * (bx * Real(2.0) / (hp+hm));
147 hp = (ecy(i,j,k) == Real(1.0)) ? Real(1.0) : (Real(1.0)+Real(2.)*ecy(i,j,k));
148 if (levset(i,j+1,k) < Real(0.0)) {
152 tmp0 = Real(-1.0) / hp;
156 hm = (ecy(i,j-1,k) == Real(1.0)) ? Real(1.0) : (Real(1.0)-Real(2.)*ecy(i,j-1,k));
157 if (levset(i,j-1,k) < Real(0.0)) {
161 tmp0 += Real(-1.0) / hm;
164 gamma += tmp0 * (by * Real(2.0) / (hp+hm));
165 rho += tmp1 * (by * Real(2.0) / (hp+hm));
168 Real Ax = rho + gamma*
x(i,j,k);
169 constexpr Real omega = Real(1.25);
170 x(i,j,k) += (rhs(i,j,k) - Ax*
scale) * (omega / (gamma*
scale));
178 Real bx, Real by,
int redblack) noexcept
180 if ((i+j+k+redblack)%2 == 0) {
184 Real gamma = Real(-2.0)*(bx+by);
185 Real Ax = bx * (
x(i-1,j,k) +
x(i+1,j,k))
186 + by * (
x(i,j-1,k) +
x(i,j+1,k))
188 constexpr Real omega = Real(1.25);
189 x(i,j,k) += (rhs(i,j,k) - Ax) * (omega / gamma);
196 template <
typename F>
202 F
const& xeb, Real sigr, Real dr, Real dz, Real rlo, Real alpha) noexcept
204 Real
const r = rlo + Real(i) * dr;
205 if (dmsk(i,j,k) || (
r == Real(0.0) && alpha != Real(0.0))) {
206 y(i,j,k) = Real(0.0);
209 Real hp, hm,
scale, out;
211 if (
r == Real(0.0)) {
212 if (levset(i+1,j,k) < Real(0.0)) {
213 out = Real(4.0) * sigr * (
x(i+1,j,k)-
x(i,j,k)) / (dr*dr);
216 hp = (ecx(i,j,k) == Real(1.0)) ? Real(1.0) : (Real(1.0)+Real(2.)*ecx(i,j,k));
217 out = Real(4.0) * sigr * (xeb(i+1,j,k)-
x(i,j,k)) / (dr*dr*hp*hp);
221 hp = (ecx(i,j,k) == Real(1.0)) ? Real(1.0) : (Real(1.0)+Real(2.)*ecx(i,j,k));
222 if (levset(i+1,j,k) < Real(0.0)) {
223 tmp = (
x(i+1,j,k) -
x(i,j,k)) * (
r + Real(0.5) * dr);
225 tmp = (xeb(i+1,j,k) -
x(i,j,k)) / hp * (
r + Real(0.5) * hp * dr);
228 hm = (ecx(i-1,j,k) == Real(1.0)) ? Real(1.0) : (Real(1.0)-Real(2.)*ecx(i-1,j,k));
229 if (levset(i-1,j,k) < Real(0.0)) {
230 tmp += (
x(i-1,j,k) -
x(i,j,k)) * (
r - Real(0.5) * dr);
232 tmp += (xeb(i-1,j,k) -
x(i,j,k)) / hm * (
r - Real(0.5) * hm * dr);
235 out = tmp * Real(2.0) * sigr / ((hp+hm) *
r * dr * dr);
239 hp = (ecy(i,j,k) == Real(1.0)) ? Real(1.0) : (Real(1.0)+Real(2.)*ecy(i,j,k));
240 if (levset(i,j+1,k) < Real(0.0)) {
241 tmp =
x(i,j+1,k) -
x(i,j,k);
243 tmp = (xeb(i,j+1,k) -
x(i,j,k)) / hp;
247 hm = (ecy(i,j-1,k) == Real(1.0)) ? Real(1.0) : (Real(1.0)-Real(2.)*ecy(i,j-1,k));
248 if (levset(i,j-1,k) < Real(0.0)) {
249 tmp +=
x(i,j-1,k) -
x(i,j,k);
251 tmp += (xeb(i,j-1,k) -
x(i,j,k)) / hm;
254 out += tmp * Real(2.0) / ((hp+hm) * dz * dz);
257 if (
r != Real(0.0)) {
258 out -= alpha/(
r*
r) *
x(i,j,k);
261 y(i,j,k) = out*
scale;
270 Real xeb, Real sigr, Real dr, Real dz, Real rlo, Real alpha) noexcept
273 [=] (
int,
int,
int) -> Real {
return xeb; },
274 sigr, dr, dz, rlo, alpha);
286 [=] (
int i1,
int i2,
int i3) -> Real {
287 return xeb(i1,i2,i3); },
288 sigr, dr, dz, rlo, alpha);
294 Real sigr, Real dr, Real dz, Real rlo, Real alpha) noexcept
296 Real
const r = rlo + Real(i)*dr;
297 if (dmsk(i,j,k) || (
r == Real(0.0) && alpha != Real(0.0))) {
298 y(i,j,k) = Real(0.0);
300 Real Ax = (
x(i,j-1,k) - Real(2.0)*
x(i,j,k) +
x(i,j+1,k)) / (dz*dz);
301 if (
r == Real(0.0)) {
302 Ax += Real(4.0) * sigr * (
x(i+1,j,k)-
x(i,j,k)) / (dr*dr);
304 Real
const rp =
r + Real(0.5)*dr;
305 Real
const rm =
r - Real(0.5)*dr;
306 Ax += sigr * (rp*
x(i+1,j,k) - (rp+rm)*
x(i,j,k) + rm*
x(i-1,j,k)) / (
r*dr*dr);
307 Ax -= alpha/(
r*
r) *
x(i,j,k);
318 Real sigr, Real dr, Real dz, Real rlo,
int redblack, Real alpha) noexcept
320 if ((i+j+k+redblack)%2 == 0) {
321 Real
const r = rlo + Real(i) * dr;
322 if (dmsk(i,j,k) || (
r == Real(0.0) && alpha != Real(0.0))) {
326 Real hp, hm,
scale, Ax, gamma;
328 if (
r == Real(0.0)) {
329 if (levset(i+1,j,k) < Real(0.0)) {
330 Ax = (Real(4.0) * sigr / (dr*dr)) * (
x(i+1,j,k)-
x(i,j,k));
331 gamma = -(Real(4.0) * sigr / (dr*dr));
334 hp = (ecx(i,j,k) == Real(1.0)) ? Real(1.0) : (Real(1.0)+Real(2.)*ecx(i,j,k));
335 gamma = -(Real(4.0) * sigr / (dr*dr*hp*hp));
336 Ax = gamma *
x(i,j,k);
340 hp = (ecx(i,j,k) == Real(1.0)) ? Real(1.0) : (Real(1.0)+Real(2.)*ecx(i,j,k));
341 if (levset(i+1,j,k) < Real(0.0)) {
342 tmp = (
x(i+1,j,k) -
x(i,j,k)) * (
r + Real(0.5) * dr);
343 tmp0 = -(
r + Real(0.5) * dr);
345 tmp0 = Real(-1.0) / hp * (
r + Real(0.5) * hp * dr);
346 tmp = tmp0 *
x(i,j,k);
349 hm = (ecx(i-1,j,k) == Real(1.0)) ? Real(1.0) : (Real(1.0)-Real(2.)*ecx(i-1,j,k));
350 if (levset(i-1,j,k) < Real(0.0)) {
351 tmp += (
x(i-1,j,k) -
x(i,j,k)) * (
r - Real(0.5) * dr);
352 tmp0 += -(
r - Real(0.5) * dr);
354 tmp += -
x(i,j,k) / hm * (
r - Real(0.5) * hm * dr);
355 tmp0 += Real(-1.0) / hm * (
r - Real(0.5) * hm * dr);
358 Ax = tmp * Real(2.0) * sigr / ((hp+hm) *
r * dr * dr);
359 gamma = tmp0 * Real(2.0) * sigr / ((hp+hm) *
r * dr * dr);
363 hp = (ecy(i,j,k) == Real(1.0)) ? Real(1.0) : (Real(1.0)+Real(2.)*ecy(i,j,k));
364 if (levset(i,j+1,k) < Real(0.0)) {
365 tmp =
x(i,j+1,k) -
x(i,j,k);
368 tmp0 = Real(-1.0) / hp;
369 tmp = tmp0 *
x(i,j,k);
372 hm = (ecy(i,j-1,k) == Real(1.0)) ? Real(1.0) : (Real(1.0)-Real(2.)*ecy(i,j-1,k));
373 if (levset(i,j-1,k) < Real(0.0)) {
374 tmp +=
x(i,j-1,k) -
x(i,j,k);
377 tmp += -
x(i,j,k) / hm;
378 tmp0 += Real(-1.0) / hm;
381 Ax += tmp * Real(2.0) / ((hp+hm) * dz * dz);
382 gamma += tmp0 * Real(2.0) / ((hp+hm) * dz * dz);
385 if (
r != Real(0.0)) {
386 Ax -= alpha/(
r*
r) *
x(i,j,k);
387 gamma -= alpha/(
r*
r);
390 constexpr Real omega = Real(1.25);
391 x(i,j,k) += (rhs(i,j,k) - Ax*
scale) * (omega / (gamma*
scale));
399 Real sigr, Real dr, Real dz, Real rlo,
int redblack, Real alpha) noexcept
401 if ((i+j+k+redblack)%2 == 0) {
402 Real
const r = rlo + Real(i)*dr;
403 if (dmsk(i,j,k) || (
r == Real(0.0) && alpha != Real(0.0))) {
406 Real Ax = (
x(i,j-1,k) - Real(2.0)*
x(i,j,k) +
x(i,j+1,k)) / (dz*dz);
407 Real gamma = -Real(2.0) / (dz*dz);
408 if (
r == Real(0.0)) {
409 Ax += (Real(4.0)*sigr/(dr*dr)) * (
x(i+1,j,k)-
x(i,j,k));
410 gamma += -(Real(4.0)*sigr/(dr*dr));
412 Real
const rp =
r + Real(0.5)*dr;
413 Real
const rm =
r - Real(0.5)*dr;
414 Ax += sigr*(rp*
x(i+1,j,k) - (rp+rm)*
x(i,j,k) + rm*
x(i-1,j,k)) / (
r*dr*dr);
415 gamma += -sigr*(rp+rm) / (
r*dr*dr);
416 Ax -= alpha/(
r*
r) *
x(i,j,k);
417 gamma -= alpha/(
r*
r);
419 constexpr Real omega = Real(1.25);
420 x(i,j,k) += (rhs(i,j,k) - Ax) * (omega / gamma);
430 Real bx, Real by) noexcept
433 y(i,j,k) = Real(0.0);
435 Real sigxm = Real(0.5)*(sig(i-1,j-1,k)+sig(i-1,j ,k));
436 Real sigxp = Real(0.5)*(sig(i ,j-1,k)+sig(i ,j ,k));
437 Real sigym = Real(0.5)*(sig(i-1,j-1,k)+sig(i ,j-1,k));
438 Real sigyp = Real(0.5)*(sig(i-1,j ,k)+sig(i ,j ,k));
439 y(i,j,k) = bx * (sigxm*
x(i-1,j,k) + sigxp*
x(i+1,j,k))
440 + by * (sigym*
x(i,j-1,k) + sigyp*
x(i,j+1,k))
441 - (bx*(sigxm+sigxp) + by*(sigym+sigyp)) *
x(i,j,k);
450 Real bx, Real by,
int redblack) noexcept
452 if ((i+j+k+redblack)%2 == 0) {
456 Real sigxm = Real(0.5)*(sig(i-1,j-1,k)+sig(i-1,j ,k));
457 Real sigxp = Real(0.5)*(sig(i ,j-1,k)+sig(i ,j ,k));
458 Real sigym = Real(0.5)*(sig(i-1,j-1,k)+sig(i ,j-1,k));
459 Real sigyp = Real(0.5)*(sig(i-1,j ,k)+sig(i ,j ,k));
460 Real gamma = -(bx*(sigxm+sigxp) + by*(sigym+sigyp));
461 Real Ax = bx * (sigxm*
x(i-1,j,k) + sigxp*
x(i+1,j,k))
462 + by * (sigym*
x(i,j-1,k) + sigyp*
x(i,j+1,k))
464 constexpr Real omega = Real(1.25);
465 x(i,j,k) += (rhs(i,j,k) - Ax) * (omega / gamma);
470 template <
typename F>
477 F
const& xeb, Real bx, Real by) noexcept
480 y(i,j,k) = Real(0.0);
483 Real hp, hm,
scale, out;
485 sigma = (sig(i,j-1,k)*vfrc(i,j-1,k) + sig(i,j,k)*vfrc(i,j,k))
486 / (vfrc(i,j-1,k) + vfrc(i,j,k));
487 hp = (ecx(i,j,k) == Real(1.0)) ? Real(1.0) : (Real(1.0)+Real(2.)*ecx(i,j,k));
488 if (levset(i+1,j,k) < Real(0.0)) {
489 tmp = sigma*(
x(i+1,j,k) -
x(i,j,k));
491 tmp = sigma*((xeb(i+1,j,k) -
x(i,j,k)) / hp);
494 sigma = (sig(i-1,j-1,k)*vfrc(i-1,j-1,k) + sig(i-1,j,k)*vfrc(i-1,j,k))
495 / (vfrc(i-1,j-1,k) + vfrc(i-1,j,k));
496 hm = (ecx(i-1,j,k) == Real(1.0)) ? Real(1.0) : (Real(1.0)-Real(2.)*ecx(i-1,j,k));
497 if (levset(i-1,j,k) < Real(0.0)) {
498 tmp += sigma*(
x(i-1,j,k) -
x(i,j,k));
500 tmp += sigma*((xeb(i-1,j,k) -
x(i,j,k)) / hm);
503 out = tmp * bx * Real(2.0) / (hp+hm);
506 sigma = (sig(i-1,j,k)*vfrc(i-1,j,k) + sig(i,j,k)*vfrc(i,j,k))
507 / (vfrc(i-1,j,k) + vfrc(i,j,k));
508 hp = (ecy(i,j,k) == Real(1.0)) ? Real(1.0) : (Real(1.0)+Real(2.)*ecy(i,j,k));
509 if (levset(i,j+1,k) < Real(0.0)) {
510 tmp = sigma*(
x(i,j+1,k) -
x(i,j,k));
512 tmp = sigma*((xeb(i,j+1,k) -
x(i,j,k)) / hp);
515 sigma = (sig(i-1,j-1,k)*vfrc(i-1,j-1,k) + sig(i,j-1,k)*vfrc(i,j-1,k))
516 / (vfrc(i-1,j-1,k) + vfrc(i,j-1,k));
517 hm = (ecy(i,j-1,k) == Real(1.0)) ? Real(1.0) : (Real(1.0)-Real(2.)*ecy(i,j-1,k));
518 if (levset(i,j-1,k) < Real(0.0)) {
519 tmp += sigma*(
x(i,j-1,k) -
x(i,j,k));
521 tmp += sigma*((xeb(i,j-1,k) -
x(i,j,k)) / hm);
524 out += tmp * by * Real(2.0) / (hp+hm);
527 y(i,j,k) = out*
scale;
537 Real xeb, Real bx, Real by) noexcept
539 mlebndfdlap_sig_adotx_eb_doit(i, j, k, y,
x, levset, dmsk, ecx, ecy, sig, vfrc,
540 [=] (
int,
int,
int) -> Real {
return xeb; },
552 mlebndfdlap_sig_adotx_eb_doit(i, j, k, y,
x, levset, dmsk, ecx, ecy, sig, vfrc,
553 [=] (
int i1,
int i2,
int i3) -> Real {
554 return xeb(i1,i2,i3); },
567 Real bx, Real by,
int redblack) noexcept
569 if ((i+j+k+redblack)%2 == 0) {
573 Real tmp0, tmp1, sigma;
576 sigma = (sig(i,j-1,k)*vfrc(i,j-1,k) + sig(i,j,k)*vfrc(i,j,k))
577 / (vfrc(i,j-1,k) + vfrc(i,j,k));
578 hp = (ecx(i,j,k) == Real(1.0)) ? Real(1.0) : (Real(1.0)+Real(2.)*ecx(i,j,k));
579 if (levset(i+1,j,k) < Real(0.0)) {
580 tmp0 = sigma*Real(-1.0);
581 tmp1 = sigma*
x(i+1,j,k);
583 tmp0 = sigma*Real(-1.0) / hp;
587 sigma = (sig(i-1,j-1,k)*vfrc(i-1,j-1,k) + sig(i-1,j,k)*vfrc(i-1,j,k))
588 / (vfrc(i-1,j-1,k) + vfrc(i-1,j,k));
589 hm = (ecx(i-1,j,k) == Real(1.0)) ? Real(1.0) : (Real(1.0)-Real(2.)*ecx(i-1,j,k));
590 if (levset(i-1,j,k) < Real(0.0)) {
591 tmp0 += sigma*Real(-1.0);
592 tmp1 += sigma*
x(i-1,j,k);
594 tmp0 += sigma*Real(-1.0) / hm;
597 Real gamma = tmp0 * (bx * Real(2.0) / (hp+hm));
598 Real rho = tmp1 * (bx * Real(2.0) / (hp+hm));
601 sigma = (sig(i-1,j,k)*vfrc(i-1,j,k) + sig(i,j,k)*vfrc(i,j,k))
602 / (vfrc(i-1,j,k) + vfrc(i,j,k));
603 hp = (ecy(i,j,k) == Real(1.0)) ? Real(1.0) : (Real(1.0)+Real(2.)*ecy(i,j,k));
604 if (levset(i,j+1,k) < Real(0.0)) {
605 tmp0 = sigma*Real(-1.0);
606 tmp1 = sigma*
x(i,j+1,k);
608 tmp0 = sigma*Real(-1.0) / hp;
612 sigma = (sig(i-1,j-1,k)*vfrc(i-1,j-1,k) + sig(i,j-1,k)*vfrc(i,j-1,k))
613 / (vfrc(i-1,j-1,k) + vfrc(i,j-1,k));
614 hm = (ecy(i,j-1,k) == Real(1.0)) ? Real(1.0) : (Real(1.0)-Real(2.)*ecy(i,j-1,k));
615 if (levset(i,j-1,k) < Real(0.0)) {
616 tmp0 += sigma*Real(-1.0);
617 tmp1 += sigma*
x(i,j-1,k);
619 tmp0 += sigma*Real(-1.0) / hm;
622 gamma += tmp0 * (by * Real(2.0) / (hp+hm));
623 rho += tmp1 * (by * Real(2.0) / (hp+hm));
626 Real Ax = rho + gamma*
x(i,j,k);
627 constexpr Real omega = Real(1.25);
628 x(i,j,k) += (rhs(i,j,k) - Ax*
scale) * (omega / (gamma*
scale));
#define AMREX_FORCE_INLINE
Definition: AMReX_Extension.H:119
#define AMREX_GPU_HOST_DEVICE
Definition: AMReX_GpuQualifiers.H:20
Definition: AMReX_Amr.cpp:49
AMREX_GPU_HOST_DEVICE AMREX_FORCE_INLINE void mlebndfdlap_sig_adotx(int, int, int, Array4< Real > const &, Array4< Real const > const &, Array4< int const > const &, Array4< Real const > const &, Real) noexcept
Definition: AMReX_MLEBNodeFDLap_1D_K.H:21
AMREX_GPU_HOST_DEVICE AMREX_FORCE_INLINE void mlebndfdlap_adotx_rz_eb(int i, int j, int k, Array4< Real > const &y, Array4< Real const > const &x, Array4< Real const > const &levset, Array4< int const > const &dmsk, Array4< Real const > const &ecx, Array4< Real const > const &ecy, Real xeb, Real sigr, Real dr, Real dz, Real rlo, Real alpha) noexcept
Definition: AMReX_MLEBNodeFDLap_2D_K.H:266
AMREX_GPU_HOST_DEVICE AMREX_FORCE_INLINE void mlebndfdlap_gsrb(int, int, int, Array4< Real > const &, Array4< Real const > const &, Array4< int const > const &, Real, int) noexcept
Definition: AMReX_MLEBNodeFDLap_1D_K.H:14
AMREX_GPU_HOST_DEVICE AMREX_FORCE_INLINE void mlebndfdlap_gsrb_eb(int i, int j, int k, Array4< Real > const &x, Array4< Real const > const &rhs, Array4< Real const > const &levset, Array4< int const > const &dmsk, Array4< Real const > const &ecx, Array4< Real const > const &ecy, Real bx, Real by, int redblack) noexcept
Definition: AMReX_MLEBNodeFDLap_2D_K.H:113
AMREX_GPU_HOST_DEVICE AMREX_FORCE_INLINE void mlebndfdlap_sig_adotx_eb_doit(int i, int j, int k, Array4< Real > const &y, Array4< Real const > const &x, Array4< Real const > const &levset, Array4< int const > const &dmsk, Array4< Real const > const &ecx, Array4< Real const > const &ecy, Array4< Real const > const &sig, Array4< Real const > const &vfrc, F const &xeb, Real bx, Real by) noexcept
Definition: AMReX_MLEBNodeFDLap_2D_K.H:472
AMREX_GPU_HOST_DEVICE AMREX_FORCE_INLINE void mlebndfdlap_gsrb_rz(int i, int j, int k, Array4< Real > const &x, Array4< Real const > const &rhs, Array4< int const > const &dmsk, Real sigr, Real dr, Real dz, Real rlo, int redblack, Real alpha) noexcept
Definition: AMReX_MLEBNodeFDLap_2D_K.H:397
AMREX_GPU_HOST_DEVICE AMREX_FORCE_INLINE void mlebndfdlap_gsrb_rz_eb(int i, int j, int k, Array4< Real > const &x, Array4< Real const > const &rhs, Array4< Real const > const &levset, Array4< int const > const &dmsk, Array4< Real const > const &ecx, Array4< Real const > const &ecy, Real sigr, Real dr, Real dz, Real rlo, int redblack, Real alpha) noexcept
Definition: AMReX_MLEBNodeFDLap_2D_K.H:314
AMREX_GPU_HOST_DEVICE constexpr AMREX_FORCE_INLINE const T & min(const T &a, const T &b) noexcept
Definition: AMReX_Algorithm.H:21
AMREX_GPU_HOST_DEVICE AMREX_FORCE_INLINE void mlebndfdlap_adotx_rz(int i, int j, int k, Array4< Real > const &y, Array4< Real const > const &x, Array4< int const > const &dmsk, Real sigr, Real dr, Real dz, Real rlo, Real alpha) noexcept
Definition: AMReX_MLEBNodeFDLap_2D_K.H:292
AMREX_GPU_HOST_DEVICE AMREX_FORCE_INLINE void mlebndfdlap_sig_gsrb(int, int, int, Array4< Real > const &, Array4< Real const > const &, Array4< int const > const &, Array4< Real const > const &, Real, int) noexcept
Definition: AMReX_MLEBNodeFDLap_1D_K.H:28
AMREX_GPU_HOST_DEVICE AMREX_FORCE_INLINE void mlebndfdlap_sig_adotx_eb(int i, int j, int k, Array4< Real > const &y, Array4< Real const > const &x, Array4< Real const > const &levset, Array4< int const > const &dmsk, Array4< Real const > const &ecx, Array4< Real const > const &ecy, Array4< Real const > const &sig, Array4< Real const > const &vfrc, Real xeb, Real bx, Real by) noexcept
Definition: AMReX_MLEBNodeFDLap_2D_K.H:532
AMREX_GPU_HOST_DEVICE AMREX_FORCE_INLINE void mlebndfdlap_adotx(int, int, int, Array4< Real > const &, Array4< Real const > const &, Array4< int const > const &, Real) noexcept
Definition: AMReX_MLEBNodeFDLap_1D_K.H:7
AMREX_GPU_HOST_DEVICE AMREX_FORCE_INLINE void mlebndfdlap_adotx_eb_doit(int i, int j, int k, Array4< Real > const &y, Array4< Real const > const &x, Array4< Real const > const &levset, Array4< int const > const &dmsk, Array4< Real const > const &ecx, Array4< Real const > const &ecy, F const &xeb, Real bx, Real by) noexcept
Definition: AMReX_MLEBNodeFDLap_2D_K.H:23
AMREX_GPU_HOST_DEVICE AMREX_FORCE_INLINE IntVectND< dim > scale(const IntVectND< dim > &p, int s) noexcept
Returns a IntVectND obtained by multiplying each of the components of this IntVectND by s.
Definition: AMReX_IntVect.H:1006
AMREX_GPU_HOST_DEVICE AMREX_FORCE_INLINE void mlebndfdlap_scale_rhs(int i, int j, int, Array4< Real > const &rhs, Array4< int const > const &dmsk, Array4< Real const > const &ecx, Array4< Real const > const &ecy) noexcept
Definition: AMReX_MLEBNodeFDLap_2D_K.H:7
AMREX_GPU_HOST_DEVICE AMREX_FORCE_INLINE void mlebndfdlap_adotx_rz_eb_doit(int i, int j, int k, Array4< Real > const &y, Array4< Real const > const &x, Array4< Real const > const &levset, Array4< int const > const &dmsk, Array4< Real const > const &ecx, Array4< Real const > const &ecy, F const &xeb, Real sigr, Real dr, Real dz, Real rlo, Real alpha) noexcept
Definition: AMReX_MLEBNodeFDLap_2D_K.H:198
AMREX_GPU_HOST_DEVICE AMREX_FORCE_INLINE void mlebndfdlap_adotx_eb(int i, int j, int k, Array4< Real > const &y, Array4< Real const > const &x, Array4< Real const > const &levset, Array4< int const > const &dmsk, Array4< Real const > const &ecx, Array4< Real const > const &ecy, Real xeb, Real bx, Real by) noexcept
Definition: AMReX_MLEBNodeFDLap_2D_K.H:74
AMREX_GPU_HOST_DEVICE AMREX_FORCE_INLINE void mlebndfdlap_sig_gsrb_eb(int i, int j, int k, Array4< Real > const &x, Array4< Real const > const &rhs, Array4< Real const > const &levset, Array4< int const > const &dmsk, Array4< Real const > const &ecx, Array4< Real const > const &ecy, Array4< Real const > const &sig, Array4< Real const > const &vfrc, Real bx, Real by, int redblack) noexcept
Definition: AMReX_MLEBNodeFDLap_2D_K.H:559
Definition: AMReX_Array4.H:61