1 #ifndef ERF_INTERPOLATE_UPW_H_
2 #define ERF_INTERPOLATE_UPW_H_
11 CENTERED2 (
const amrex::Array4<const amrex::Real>& phi,
26 amrex::Real s =
m_phi(i , j , k , qty_index);
27 amrex::Real sm1 =
m_phi(i-1, j , k , qty_index);
44 amrex::Real s =
m_phi(i , j , k , qty_index);
45 amrex::Real sm1 =
m_phi(i , j-1, k , qty_index);
62 amrex::Real s =
m_phi(i , j , k , qty_index);
63 amrex::Real sm1 =
m_phi(i , j , k-1, qty_index);
73 const amrex::Real& sm1)
const
76 amrex::Real a1 = (s + sm1);
85 amrex::Array4<const amrex::Real>
m_phi;
86 static constexpr amrex::Real
g1=(0.5);
94 UPWIND3 (
const amrex::Array4<const amrex::Real>& phi,
95 const amrex::Real upw_frac)
106 const int& qty_index,
108 amrex::Real upw_lo)
const
111 amrex::Real sp1 =
m_phi(i+1, j , k , qty_index);
112 amrex::Real s =
m_phi(i , j , k , qty_index);
113 amrex::Real sm1 =
m_phi(i-1, j , k , qty_index);
114 amrex::Real sm2 =
m_phi(i-2, j , k , qty_index);
117 if (upw_lo != 0.) upw_lo = (upw_lo > 0) ? 1. : -1.;
123 val_lo =
Evaluate(sp1,s,sm1,sm2,upw_lo);
132 const int& qty_index,
134 amrex::Real upw_lo)
const
137 amrex::Real sp1 =
m_phi(i , j+1, k , qty_index);
138 amrex::Real s =
m_phi(i , j , k , qty_index);
139 amrex::Real sm1 =
m_phi(i , j-1, k , qty_index);
140 amrex::Real sm2 =
m_phi(i , j-2, k , qty_index);
143 if (upw_lo != 0.) upw_lo = (upw_lo > 0) ? 1. : -1.;
149 val_lo =
Evaluate(sp1,s,sm1,sm2,upw_lo);
158 const int& qty_index,
160 amrex::Real upw_lo)
const
163 amrex::Real sp1 =
m_phi(i , j , k+1, qty_index);
164 amrex::Real s =
m_phi(i , j , k , qty_index);
165 amrex::Real sm1 =
m_phi(i , j , k-1, qty_index);
166 amrex::Real sm2 =
m_phi(i , j , k-2, qty_index);
169 if (upw_lo != 0.) upw_lo = (upw_lo > 0) ? 1. : -1.;
175 val_lo =
Evaluate(sp1,s,sm1,sm2,upw_lo);
182 const amrex::Real& s,
183 const amrex::Real& sm1,
184 const amrex::Real& sm2,
185 const amrex::Real& upw)
const
188 amrex::Real a1 = (s + sm1);
189 amrex::Real d1 = (s - sm1);
190 amrex::Real
a2 = (sp1 + sm2);
191 amrex::Real d2 = (sp1 - sm2);
194 return (
g1*a1 -
g2*
a2 + upw *
g2 * (d2 - 3.0*d1) );
202 amrex::Array4<const amrex::Real>
m_phi;
204 static constexpr amrex::Real
g1=(7.0/12.0);
205 static constexpr amrex::Real
g2=(1.0/12.0);
225 const int& qty_index,
227 amrex::Real upw_lo)
const
230 if (upw_lo != 0.) upw_lo = (upw_lo > 0) ? 1. : -1.;
233 amrex::Real sp1 =
m_phi(i+1, j , k , qty_index);
234 amrex::Real s =
m_phi(i , j , k , qty_index);
235 amrex::Real sm1 =
m_phi(i-1, j , k , qty_index);
236 amrex::Real sm2 =
m_phi(i-2, j , k , qty_index);
239 amrex::Real Fhi =
Evaluate(s ,sm1,sm2);
240 amrex::Real Flo =
Evaluate(sm1,s ,sp1);
243 val_lo = (1.0 + upw_lo)/2.0 * Fhi + (1.0 - upw_lo)/2.0 * Flo;
252 const int& qty_index,
254 amrex::Real upw_lo)
const
257 if (upw_lo != 0.) upw_lo = (upw_lo > 0) ? 1. : -1.;
260 amrex::Real sp1 =
m_phi(i , j+1, k , qty_index);
261 amrex::Real s =
m_phi(i , j , k , qty_index);
262 amrex::Real sm1 =
m_phi(i , j-1, k , qty_index);
263 amrex::Real sm2 =
m_phi(i , j-2, k , qty_index);
266 amrex::Real Fhi =
Evaluate(s ,sm1,sm2);
267 amrex::Real Flo =
Evaluate(sm1,s ,sp1);
270 val_lo = (1.0 + upw_lo)/2.0 * Fhi + (1.0 - upw_lo)/2.0 * Flo;
279 const int& qty_index,
281 amrex::Real upw_lo)
const
284 if (upw_lo != 0.) upw_lo = (upw_lo > 0) ? 1. : -1.;
287 amrex::Real sp1 =
m_phi(i , j , k+1, qty_index);
288 amrex::Real s =
m_phi(i , j , k , qty_index);
289 amrex::Real sm1 =
m_phi(i , j , k-1, qty_index);
290 amrex::Real sm2 =
m_phi(i , j , k-2, qty_index);
293 amrex::Real Fhi =
Evaluate(s ,sm1,sm2);
294 amrex::Real Flo =
Evaluate(sm1,s ,sp1);
297 val_lo = (1.0 + upw_lo)/2.0 * Fhi + (1.0 - upw_lo)/2.0 * Flo;
304 const amrex::Real& sm1,
305 const amrex::Real& sm2)
const
307 amrex::Real rmh = (s - sm1) / ((sm1 - sm2) +
eps);
308 amrex::Real K =
l2 + 2.0*
l2*rmh;
309 amrex::Real phi = std::max(0.0,std::min(2.0*rmh,std::min(2.0,K)));
310 return (sm1 + 0.5 * phi * (sm1 - sm2));
316 amrex::Array4<const amrex::Real>
m_phi;
317 static constexpr amrex::Real
eps=(1.0e-16);
318 static constexpr amrex::Real
l1 =(1.0/6.0);
319 static constexpr amrex::Real
l2 =(1.0/3.0);
338 const int& qty_index,
343 amrex::Real sp1 =
m_phi(i+1, j , k , qty_index);
344 amrex::Real s =
m_phi(i , j , k , qty_index);
345 amrex::Real sm1 =
m_phi(i-1, j , k , qty_index);
346 amrex::Real sm2 =
m_phi(i-2, j , k , qty_index);
358 const int& qty_index,
363 amrex::Real sp1 =
m_phi(i , j+1, k , qty_index);
364 amrex::Real s =
m_phi(i , j , k , qty_index);
365 amrex::Real sm1 =
m_phi(i , j-1, k , qty_index);
366 amrex::Real sm2 =
m_phi(i , j-2, k , qty_index);
378 const int& qty_index,
383 amrex::Real sp1 =
m_phi(i , j , k+1, qty_index);
384 amrex::Real s =
m_phi(i , j , k , qty_index);
385 amrex::Real sm1 =
m_phi(i , j , k-1, qty_index);
386 amrex::Real sm2 =
m_phi(i , j , k-2, qty_index);
396 const amrex::Real& s,
397 const amrex::Real& sm1,
398 const amrex::Real& sm2)
const
401 amrex::Real a1 = (s + sm1);
402 amrex::Real
a2 = (sp1 + sm2);
411 amrex::Array4<const amrex::Real>
m_phi;
412 static constexpr amrex::Real
g1=(7.0/12.0);
413 static constexpr amrex::Real
g2=(1.0/12.0);
421 UPWIND5 (
const amrex::Array4<const amrex::Real>& phi,
422 const amrex::Real upw_frac)
433 const int& qty_index,
435 amrex::Real upw_lo)
const
438 amrex::Real sp2 =
m_phi(i+2, j , k , qty_index);
439 amrex::Real sp1 =
m_phi(i+1, j , k , qty_index);
440 amrex::Real s =
m_phi(i , j , k , qty_index);
441 amrex::Real sm1 =
m_phi(i-1, j , k , qty_index);
442 amrex::Real sm2 =
m_phi(i-2, j , k , qty_index);
443 amrex::Real sm3 =
m_phi(i-3, j , k , qty_index);
446 if (upw_lo != 0.) upw_lo = (upw_lo > 0) ? 1. : -1.;
452 val_lo =
Evaluate(sp2,sp1,s,sm1,sm2,sm3,upw_lo);
461 const int& qty_index,
463 amrex::Real upw_lo)
const
466 amrex::Real sp2 =
m_phi(i , j+2, k , qty_index);
467 amrex::Real sp1 =
m_phi(i , j+1, k , qty_index);
468 amrex::Real s =
m_phi(i , j , k , qty_index);
469 amrex::Real sm1 =
m_phi(i , j-1, k , qty_index);
470 amrex::Real sm2 =
m_phi(i , j-2, k , qty_index);
471 amrex::Real sm3 =
m_phi(i , j-3, k , qty_index);
474 if (upw_lo != 0.) upw_lo = (upw_lo > 0) ? 1. : -1.;
480 val_lo =
Evaluate(sp2,sp1,s,sm1,sm2,sm3,upw_lo);
489 const int& qty_index,
491 amrex::Real upw_lo)
const
494 amrex::Real sp2 =
m_phi(i , j , k+2, qty_index);
495 amrex::Real sp1 =
m_phi(i , j , k+1, qty_index);
496 amrex::Real s =
m_phi(i , j , k , qty_index);
497 amrex::Real sm1 =
m_phi(i , j , k-1, qty_index);
498 amrex::Real sm2 =
m_phi(i , j , k-2, qty_index);
499 amrex::Real sm3 =
m_phi(i , j , k-3, qty_index);
502 if (upw_lo != 0.) upw_lo = (upw_lo > 0) ? 1. : -1.;
508 val_lo =
Evaluate(sp2,sp1,s,sm1,sm2,sm3,upw_lo);
515 const amrex::Real& sp1,
516 const amrex::Real& s,
517 const amrex::Real& sm1,
518 const amrex::Real& sm2,
519 const amrex::Real& sm3,
520 const amrex::Real& upw)
const
523 amrex::Real a1 = (s + sm1);
524 amrex::Real
a2 = (sp1 + sm2);
525 amrex::Real
a3 = (sp2 + sm3);
526 amrex::Real d1 = (s - sm1);
527 amrex::Real d2 = (sp1 - sm2);
528 amrex::Real d3 = (sp2 - sm3);
531 return (
g1*a1 -
g2*
a2 +
g3*
a3 - upw *
g3 * (d3 - 5.0*d2 + 10.0*d1) );
539 amrex::Array4<const amrex::Real>
m_phi;
541 static constexpr amrex::Real
g1=(37.0/60.0);
542 static constexpr amrex::Real
g2=(2.0/15.0);
543 static constexpr amrex::Real
g3=(1.0/60.0);
561 const int& qty_index,
566 amrex::Real sp2 =
m_phi(i+2, j , k , qty_index);
567 amrex::Real sp1 =
m_phi(i+1, j , k , qty_index);
568 amrex::Real s =
m_phi(i , j , k , qty_index);
569 amrex::Real sm1 =
m_phi(i-1, j , k , qty_index);
570 amrex::Real sm2 =
m_phi(i-2, j , k , qty_index);
571 amrex::Real sm3 =
m_phi(i-3, j , k , qty_index);
574 val_lo =
Evaluate(sp2,sp1,s,sm1,sm2,sm3);
583 const int& qty_index,
588 amrex::Real sp2 =
m_phi(i , j+2, k , qty_index);
589 amrex::Real sp1 =
m_phi(i , j+1, k , qty_index);
590 amrex::Real s =
m_phi(i , j , k , qty_index);
591 amrex::Real sm1 =
m_phi(i , j-1, k , qty_index);
592 amrex::Real sm2 =
m_phi(i , j-2, k , qty_index);
593 amrex::Real sm3 =
m_phi(i , j-3, k , qty_index);
596 val_lo =
Evaluate(sp2,sp1,s,sm1,sm2,sm3);
605 const int& qty_index,
610 amrex::Real sp2 =
m_phi(i , j , k+2, qty_index);
611 amrex::Real sp1 =
m_phi(i , j , k+1, qty_index);
612 amrex::Real s =
m_phi(i , j , k , qty_index);
613 amrex::Real sm1 =
m_phi(i , j , k-1, qty_index);
614 amrex::Real sm2 =
m_phi(i , j , k-2, qty_index);
615 amrex::Real sm3 =
m_phi(i , j , k-3, qty_index);
618 val_lo =
Evaluate(sp2,sp1,s,sm1,sm2,sm3);
625 const amrex::Real& sp1,
626 const amrex::Real& s,
627 const amrex::Real& sm1,
628 const amrex::Real& sm2,
629 const amrex::Real& sm3)
const
632 amrex::Real a1 = (s + sm1);
633 amrex::Real
a2 = (sp1 + sm2);
634 amrex::Real
a3 = (sp2 + sm3);
643 amrex::Array4<const amrex::Real>
m_phi;
644 static constexpr amrex::Real
g1=(37.0/60.0);
645 static constexpr amrex::Real
g2=(2.0/15.0);
646 static constexpr amrex::Real
g3=(1.0/60.0);
655 const amrex::Real upw_frac)
666 const int& qty_index,
672 val_lo = 0.5 * (
m_phi(i,j,k,qty_index) +
m_phi(i,j,k-1,qty_index) );
677 amrex::Real sp1 =
m_phi(i , j , k+1, qty_index);
678 amrex::Real s =
m_phi(i , j , k , qty_index);
679 amrex::Real sm1 =
m_phi(i , j , k-1, qty_index);
680 amrex::Real sm2 =
m_phi(i , j , k-2, qty_index);
684 if (upw_lo != 0.) upw_lo = (upw_lo > 0) ? 1. : -1.;
690 val_lo =
Evaluate(sp2,sp1,s,sm1,sm2,sm3,upw_lo,adv_type);
698 const amrex::Real& sp1,
699 const amrex::Real& s,
700 const amrex::Real& sm1,
701 const amrex::Real& sm2,
702 const amrex::Real& sm3,
703 const amrex::Real& upw,
707 amrex::Real a1 = (s + sm1);
708 amrex::Real
a2 = (sp1 + sm2);
709 amrex::Real d1 = (s - sm1);
710 amrex::Real d2 = (sp1 - sm2);
711 amrex::Real
a3 = (sp2 + sm3);
712 amrex::Real d3 = (sp2 - sm3);
731 amrex::Array4<const amrex::Real>
m_phi;
733 static constexpr amrex::Real
g1_3_4=( 7.0/12.0);
734 static constexpr amrex::Real
g2_3_4=( 1.0/12.0);
735 static constexpr amrex::Real
g1_5_6=(37.0/60.0);
736 static constexpr amrex::Real
g2_5_6=( 2.0/15.0);
737 static constexpr amrex::Real
g3_5_6=( 1.0/60.0);
AdvType
Definition: ERF_IndexDefines.H:221
real(c_double), parameter a2
Definition: ERF_module_model_constants.F90:95
real(c_double), parameter a3
Definition: ERF_module_model_constants.F90:96
Definition: ERF_Interpolation_UPW.H:10
AMREX_GPU_DEVICE AMREX_FORCE_INLINE amrex::Real Evaluate(const amrex::Real &s, const amrex::Real &sm1) const
Definition: ERF_Interpolation_UPW.H:72
AMREX_GPU_DEVICE AMREX_FORCE_INLINE void InterpolateInY(const int &i, const int &j, const int &k, const int &qty_index, amrex::Real &val_lo, amrex::Real) const
Definition: ERF_Interpolation_UPW.H:36
int GetUpwindCellNumber() const
Definition: ERF_Interpolation_UPW.H:82
AMREX_GPU_DEVICE AMREX_FORCE_INLINE void InterpolateInZ(const int &i, const int &j, const int &k, const int &qty_index, amrex::Real &val_lo, amrex::Real) const
Definition: ERF_Interpolation_UPW.H:54
CENTERED2(const amrex::Array4< const amrex::Real > &phi, const amrex::Real)
Definition: ERF_Interpolation_UPW.H:11
amrex::Array4< const amrex::Real > m_phi
Definition: ERF_Interpolation_UPW.H:85
static constexpr amrex::Real g1
Definition: ERF_Interpolation_UPW.H:86
AMREX_GPU_DEVICE AMREX_FORCE_INLINE void InterpolateInX(const int &i, const int &j, const int &k, const int &qty_index, amrex::Real &val_lo, amrex::Real) const
Definition: ERF_Interpolation_UPW.H:18
Definition: ERF_Interpolation_UPW.H:327
CENTERED4(const amrex::Array4< const amrex::Real > &phi, const amrex::Real)
Definition: ERF_Interpolation_UPW.H:328
AMREX_GPU_DEVICE AMREX_FORCE_INLINE void InterpolateInZ(const int &i, const int &j, const int &k, const int &qty_index, amrex::Real &val_lo, amrex::Real) const
Definition: ERF_Interpolation_UPW.H:375
AMREX_GPU_DEVICE AMREX_FORCE_INLINE void InterpolateInY(const int &i, const int &j, const int &k, const int &qty_index, amrex::Real &val_lo, amrex::Real) const
Definition: ERF_Interpolation_UPW.H:355
amrex::Array4< const amrex::Real > m_phi
Definition: ERF_Interpolation_UPW.H:411
static constexpr amrex::Real g1
Definition: ERF_Interpolation_UPW.H:412
int GetUpwindCellNumber() const
Definition: ERF_Interpolation_UPW.H:408
AMREX_GPU_DEVICE AMREX_FORCE_INLINE void InterpolateInX(const int &i, const int &j, const int &k, const int &qty_index, amrex::Real &val_lo, amrex::Real) const
Definition: ERF_Interpolation_UPW.H:335
AMREX_GPU_DEVICE AMREX_FORCE_INLINE amrex::Real Evaluate(const amrex::Real &sp1, const amrex::Real &s, const amrex::Real &sm1, const amrex::Real &sm2) const
Definition: ERF_Interpolation_UPW.H:395
static constexpr amrex::Real g2
Definition: ERF_Interpolation_UPW.H:413
Definition: ERF_Interpolation_UPW.H:550
AMREX_GPU_DEVICE AMREX_FORCE_INLINE void InterpolateInX(const int &i, const int &j, const int &k, const int &qty_index, amrex::Real &val_lo, amrex::Real) const
Definition: ERF_Interpolation_UPW.H:558
static constexpr amrex::Real g2
Definition: ERF_Interpolation_UPW.H:645
AMREX_GPU_DEVICE AMREX_FORCE_INLINE void InterpolateInY(const int &i, const int &j, const int &k, const int &qty_index, amrex::Real &val_lo, amrex::Real) const
Definition: ERF_Interpolation_UPW.H:580
int GetUpwindCellNumber() const
Definition: ERF_Interpolation_UPW.H:640
static constexpr amrex::Real g1
Definition: ERF_Interpolation_UPW.H:644
amrex::Array4< const amrex::Real > m_phi
Definition: ERF_Interpolation_UPW.H:643
AMREX_GPU_DEVICE AMREX_FORCE_INLINE void InterpolateInZ(const int &i, const int &j, const int &k, const int &qty_index, amrex::Real &val_lo, amrex::Real) const
Definition: ERF_Interpolation_UPW.H:602
AMREX_GPU_DEVICE AMREX_FORCE_INLINE amrex::Real Evaluate(const amrex::Real &sp2, const amrex::Real &sp1, const amrex::Real &s, const amrex::Real &sm1, const amrex::Real &sm2, const amrex::Real &sm3) const
Definition: ERF_Interpolation_UPW.H:624
CENTERED6(const amrex::Array4< const amrex::Real > &phi, const amrex::Real)
Definition: ERF_Interpolation_UPW.H:551
static constexpr amrex::Real g3
Definition: ERF_Interpolation_UPW.H:646
Definition: ERF_Interpolation_UPW.H:213
AMREX_GPU_DEVICE AMREX_FORCE_INLINE void InterpolateInX(const int &i, const int &j, const int &k, const int &qty_index, amrex::Real &val_lo, amrex::Real upw_lo) const
Definition: ERF_Interpolation_UPW.H:222
static constexpr amrex::Real eps
Definition: ERF_Interpolation_UPW.H:317
int GetUpwindCellNumber() const
Definition: ERF_Interpolation_UPW.H:313
AMREX_GPU_DEVICE AMREX_FORCE_INLINE amrex::Real Evaluate(const amrex::Real &s, const amrex::Real &sm1, const amrex::Real &sm2) const
Definition: ERF_Interpolation_UPW.H:303
static constexpr amrex::Real l1
Definition: ERF_Interpolation_UPW.H:318
AMREX_GPU_DEVICE AMREX_FORCE_INLINE void InterpolateInZ(const int &i, const int &j, const int &k, const int &qty_index, amrex::Real &val_lo, amrex::Real upw_lo) const
Definition: ERF_Interpolation_UPW.H:276
AMREX_GPU_DEVICE AMREX_FORCE_INLINE void InterpolateInY(const int &i, const int &j, const int &k, const int &qty_index, amrex::Real &val_lo, amrex::Real upw_lo) const
Definition: ERF_Interpolation_UPW.H:249
UPWIND3SL(const amrex::Array4< const amrex::Real > &phi, const amrex::Real)
Definition: ERF_Interpolation_UPW.H:214
amrex::Array4< const amrex::Real > m_phi
Definition: ERF_Interpolation_UPW.H:316
static constexpr amrex::Real l2
Definition: ERF_Interpolation_UPW.H:319
Definition: ERF_Interpolation_UPW.H:93
AMREX_GPU_DEVICE AMREX_FORCE_INLINE amrex::Real Evaluate(const amrex::Real &sp1, const amrex::Real &s, const amrex::Real &sm1, const amrex::Real &sm2, const amrex::Real &upw) const
Definition: ERF_Interpolation_UPW.H:181
static constexpr amrex::Real g2
Definition: ERF_Interpolation_UPW.H:205
AMREX_GPU_DEVICE AMREX_FORCE_INLINE void InterpolateInZ(const int &i, const int &j, const int &k, const int &qty_index, amrex::Real &val_lo, amrex::Real upw_lo) const
Definition: ERF_Interpolation_UPW.H:155
void SetUpwinding(amrex::Real upw_frac)
Definition: ERF_Interpolation_UPW.H:199
amrex::Array4< const amrex::Real > m_phi
Definition: ERF_Interpolation_UPW.H:202
static constexpr amrex::Real g1
Definition: ERF_Interpolation_UPW.H:204
AMREX_GPU_DEVICE AMREX_FORCE_INLINE void InterpolateInY(const int &i, const int &j, const int &k, const int &qty_index, amrex::Real &val_lo, amrex::Real upw_lo) const
Definition: ERF_Interpolation_UPW.H:129
int GetUpwindCellNumber() const
Definition: ERF_Interpolation_UPW.H:197
amrex::Real m_upw_frac
Definition: ERF_Interpolation_UPW.H:203
UPWIND3(const amrex::Array4< const amrex::Real > &phi, const amrex::Real upw_frac)
Definition: ERF_Interpolation_UPW.H:94
AMREX_GPU_DEVICE AMREX_FORCE_INLINE void InterpolateInX(const int &i, const int &j, const int &k, const int &qty_index, amrex::Real &val_lo, amrex::Real upw_lo) const
Definition: ERF_Interpolation_UPW.H:103
Definition: ERF_Interpolation_UPW.H:420
amrex::Real m_upw_frac
Definition: ERF_Interpolation_UPW.H:540
AMREX_GPU_DEVICE AMREX_FORCE_INLINE amrex::Real Evaluate(const amrex::Real &sp2, const amrex::Real &sp1, const amrex::Real &s, const amrex::Real &sm1, const amrex::Real &sm2, const amrex::Real &sm3, const amrex::Real &upw) const
Definition: ERF_Interpolation_UPW.H:514
amrex::Array4< const amrex::Real > m_phi
Definition: ERF_Interpolation_UPW.H:539
static constexpr amrex::Real g2
Definition: ERF_Interpolation_UPW.H:542
AMREX_GPU_DEVICE AMREX_FORCE_INLINE void InterpolateInZ(const int &i, const int &j, const int &k, const int &qty_index, amrex::Real &val_lo, amrex::Real upw_lo) const
Definition: ERF_Interpolation_UPW.H:486
AMREX_GPU_DEVICE AMREX_FORCE_INLINE void InterpolateInY(const int &i, const int &j, const int &k, const int &qty_index, amrex::Real &val_lo, amrex::Real upw_lo) const
Definition: ERF_Interpolation_UPW.H:458
AMREX_GPU_DEVICE AMREX_FORCE_INLINE void InterpolateInX(const int &i, const int &j, const int &k, const int &qty_index, amrex::Real &val_lo, amrex::Real upw_lo) const
Definition: ERF_Interpolation_UPW.H:430
UPWIND5(const amrex::Array4< const amrex::Real > &phi, const amrex::Real upw_frac)
Definition: ERF_Interpolation_UPW.H:421
int GetUpwindCellNumber() const
Definition: ERF_Interpolation_UPW.H:534
static constexpr amrex::Real g1
Definition: ERF_Interpolation_UPW.H:541
static constexpr amrex::Real g3
Definition: ERF_Interpolation_UPW.H:543
void SetUpwinding(amrex::Real upw_frac)
Definition: ERF_Interpolation_UPW.H:536
Definition: ERF_Interpolation_UPW.H:653
amrex::Array4< const amrex::Real > m_phi
Definition: ERF_Interpolation_UPW.H:731
static constexpr amrex::Real g1_5_6
Definition: ERF_Interpolation_UPW.H:735
static constexpr amrex::Real g1_3_4
Definition: ERF_Interpolation_UPW.H:733
amrex::Real m_upw_frac
Definition: ERF_Interpolation_UPW.H:732
static constexpr amrex::Real g2_3_4
Definition: ERF_Interpolation_UPW.H:734
AMREX_GPU_DEVICE AMREX_FORCE_INLINE amrex::Real Evaluate(const amrex::Real &sp2, const amrex::Real &sp1, const amrex::Real &s, const amrex::Real &sm1, const amrex::Real &sm2, const amrex::Real &sm3, const amrex::Real &upw, const AdvType adv_type) const
Definition: ERF_Interpolation_UPW.H:697
static constexpr amrex::Real g3_5_6
Definition: ERF_Interpolation_UPW.H:737
UPWINDALL(const amrex::Array4< const amrex::Real > &phi, const amrex::Real upw_frac)
Definition: ERF_Interpolation_UPW.H:654
AMREX_GPU_DEVICE AMREX_FORCE_INLINE void InterpolateInZ(const int &i, const int &j, const int &k, const int &qty_index, amrex::Real &val_lo, amrex::Real upw_lo, const AdvType adv_type) const
Definition: ERF_Interpolation_UPW.H:663
static constexpr amrex::Real g2_5_6
Definition: ERF_Interpolation_UPW.H:736