1 #ifndef ERF_INTERPOLATE_WENO_Z_H_
2 #define ERF_INTERPOLATE_WENO_Z_H_
11 WENO_Z3 (
const amrex::Array4<const amrex::Real>& phi,
23 amrex::Real upw_lo)
const
26 if (upw_lo != 0.) upw_lo = (upw_lo > 0) ? 1. : -1.;
29 amrex::Real sp1 =
m_phi(i+1, j , k , qty_index);
30 amrex::Real s =
m_phi(i , j , k , qty_index);
31 amrex::Real sm1 =
m_phi(i-1, j , k , qty_index);
32 amrex::Real sm2 =
m_phi(i-2, j , k , qty_index);
35 amrex::Real Fhi =
Evaluate(sm2,sm1,s );
36 amrex::Real Flo =
Evaluate(sp1,s ,sm1);
39 val_lo = (1.0 + upw_lo)/2.0 * Fhi + (1.0 - upw_lo)/2.0 * Flo;
50 amrex::Real upw_lo)
const
53 if (upw_lo != 0.) upw_lo = (upw_lo > 0) ? 1. : -1.;
56 amrex::Real sp1 =
m_phi(i , j+1, k , qty_index);
57 amrex::Real s =
m_phi(i , j , k , qty_index);
58 amrex::Real sm1 =
m_phi(i , j-1, k , qty_index);
59 amrex::Real sm2 =
m_phi(i , j-2, k , qty_index);
62 amrex::Real Fhi =
Evaluate(sm2,sm1,s );
63 amrex::Real Flo =
Evaluate(sp1,s ,sm1);
66 val_lo = (1.0 + upw_lo)/2.0 * Fhi + (1.0 - upw_lo)/2.0 * Flo;
77 amrex::Real upw_lo)
const
80 if (upw_lo != 0.) upw_lo = (upw_lo > 0) ? 1. : -1.;
83 amrex::Real sp1 =
m_phi(i , j , k+1, qty_index);
84 amrex::Real s =
m_phi(i , j , k , qty_index);
85 amrex::Real sm1 =
m_phi(i , j , k-1, qty_index);
86 amrex::Real sm2 =
m_phi(i , j , k-2, qty_index);
89 amrex::Real Fhi =
Evaluate(sm2,sm1,s );
90 amrex::Real Flo =
Evaluate(sp1,s ,sm1);
93 val_lo = (1.0 + upw_lo)/2.0 * Fhi + (1.0 - upw_lo)/2.0 * Flo;
100 const amrex::Real& s ,
101 const amrex::Real& sp1)
const
104 amrex::Real b1 = (s - sm1) * (s - sm1);
105 amrex::Real b2 = (sp1 - s) * (sp1 - s);
108 amrex::Real t5 = std::abs(b2 - b1);
109 amrex::Real w1 =
g1 * ( 1.0 + (t5*t5) / ((
eps + b1) * (
eps + b1)) );
110 amrex::Real w2 =
g2 * ( 1.0 + (t5*t5) / ((
eps + b2) * (
eps + b2)) );
113 amrex::Real wsum = w1 + w2;
116 amrex::Real v1 = -sm1 + 3.0 * s;
117 amrex::Real v2 = s + sp1;
120 return ( (w1 * v1 + w2 * v2) / (2.0 * wsum) );
124 amrex::Array4<const amrex::Real>
m_phi;
125 const amrex::Real
eps=1.0e-40;
126 static constexpr amrex::Real
g1=(1.0/3.0);
127 static constexpr amrex::Real
g2=(2.0/3.0);
145 const int& qty_index,
147 amrex::Real upw_lo)
const
150 if (upw_lo != 0.) upw_lo = (upw_lo > 0) ? 1. : -1.;
153 amrex::Real sp1 =
m_phi(i+1, j , k , qty_index);
154 amrex::Real s =
m_phi(i , j , k , qty_index);
155 amrex::Real sm1 =
m_phi(i-1, j , k , qty_index);
156 amrex::Real sm2 =
m_phi(i-2, j , k , qty_index);
159 amrex::Real Fhi =
Evaluate(sm2,sm1,s );
160 amrex::Real Flo =
Evaluate(sp1,s ,sm1);
163 val_lo = (1.0 + upw_lo)/2.0 * Fhi + (1.0 - upw_lo)/2.0 * Flo;
172 const int& qty_index,
174 amrex::Real upw_lo)
const
177 if (upw_lo != 0.) upw_lo = (upw_lo > 0) ? 1. : -1.;
180 amrex::Real sp1 =
m_phi(i , j+1, k , qty_index);
181 amrex::Real s =
m_phi(i , j , k , qty_index);
182 amrex::Real sm1 =
m_phi(i , j-1, k , qty_index);
183 amrex::Real sm2 =
m_phi(i , j-2, k , qty_index);
186 amrex::Real Fhi =
Evaluate(sm2,sm1,s );
187 amrex::Real Flo =
Evaluate(sp1,s ,sm1);
190 val_lo = (1.0 + upw_lo)/2.0 * Fhi + (1.0 - upw_lo)/2.0 * Flo;
199 const int& qty_index,
201 amrex::Real upw_lo)
const
204 if (upw_lo != 0.) upw_lo = (upw_lo > 0) ? 1. : -1.;
207 amrex::Real sp1 =
m_phi(i , j , k+1, qty_index);
208 amrex::Real s =
m_phi(i , j , k , qty_index);
209 amrex::Real sm1 =
m_phi(i , j , k-1, qty_index);
210 amrex::Real sm2 =
m_phi(i , j , k-2, qty_index);
213 amrex::Real Fhi =
Evaluate(sm2,sm1,s );
214 amrex::Real Flo =
Evaluate(sp1,s ,sm1);
217 val_lo = (1.0 + upw_lo)/2.0 * Fhi + (1.0 - upw_lo)/2.0 * Flo;
224 const amrex::Real& s ,
225 const amrex::Real& sp1)
const
228 amrex::Real b1 = (s - sm1) * (s - sm1);
229 amrex::Real b2 = (sp1 - s) * (sp1 - s);
230 amrex::Real b3 = ( (13.0 / 12.0) * ((sm1 - 2.0*s + sp1)*(sm1 - 2.0*s + sp1)) ) + ( ((sp1 - sm1)*(sp1 - sm1)) / 4.0 );
233 amrex::Real t5 = ( std::abs(b3 - b1) + std::abs(b3 - b2) ) / 32.0;
234 amrex::Real a1 =
g1 * ( 1.0 + (t5*t5) / ((
eps + b1) * (
eps + b1)) );
235 amrex::Real
a2 =
g2 * ( 1.0 + (t5*t5) / ((
eps + b2) * (
eps + b2)) );
236 amrex::Real
a3 =
g3 * ( 1.0 + (t5*t5) / ((
eps + b3) * (
eps + b3)) );
237 amrex::Real asum = a1 +
a2 +
a3;
238 amrex::Real w1 = a1 / asum;
239 amrex::Real w2 =
a2 / asum;
240 amrex::Real w3 =
a3 / asum;
243 amrex::Real v1 = (-sm1 + 3.0 * s) / 2.0;
244 amrex::Real v2 = ( s + sp1) / 2.0;
245 amrex::Real v3 = (-sm1 + 5.0 * s + 2.0 * sp1) / 6.0;
248 return ( (w3 /
g3) * (v3 -
g1 * v1 -
g2 * v2) + w1 * v1 + w2 * v2 );
252 amrex::Array4<const amrex::Real>
m_phi;
253 const amrex::Real
eps=1.0e-40;
254 static constexpr amrex::Real
g1=(1.0/3.0);
255 static constexpr amrex::Real
g2=(1.0/3.0);
256 static constexpr amrex::Real
g3=(1.0/3.0);
264 WENO_Z5 (
const amrex::Array4<const amrex::Real>& phi,
274 const int& qty_index,
276 amrex::Real upw_lo)
const
279 if (upw_lo != 0.) upw_lo = (upw_lo > 0) ? 1. : -1.;
282 amrex::Real sp2 =
m_phi(i+2, j , k , qty_index);
283 amrex::Real sp1 =
m_phi(i+1, j , k , qty_index);
284 amrex::Real s =
m_phi(i , j , k , qty_index);
285 amrex::Real sm1 =
m_phi(i-1, j , k , qty_index);
286 amrex::Real sm2 =
m_phi(i-2, j , k , qty_index);
287 amrex::Real sm3 =
m_phi(i-3, j , k , qty_index);
290 amrex::Real Fhi =
Evaluate(sm3,sm2,sm1,s ,sp1);
291 amrex::Real Flo =
Evaluate(sp2,sp1,s ,sm1,sm2);
294 val_lo = (1.0 + upw_lo)/2.0 * Fhi + (1.0 - upw_lo)/2.0 * Flo;
303 const int& qty_index,
305 amrex::Real upw_lo)
const
308 if (upw_lo != 0.) upw_lo = (upw_lo > 0) ? 1. : -1.;
311 amrex::Real sp2 =
m_phi(i , j+2, k , qty_index);
312 amrex::Real sp1 =
m_phi(i , j+1, k , qty_index);
313 amrex::Real s =
m_phi(i , j , k , qty_index);
314 amrex::Real sm1 =
m_phi(i , j-1, k , qty_index);
315 amrex::Real sm2 =
m_phi(i , j-2, k , qty_index);
316 amrex::Real sm3 =
m_phi(i , j-3, k , qty_index);
319 amrex::Real Fhi =
Evaluate(sm3,sm2,sm1,s ,sp1);
320 amrex::Real Flo =
Evaluate(sp2,sp1,s ,sm1,sm2);
323 val_lo = (1.0 + upw_lo)/2.0 * Fhi + (1.0 - upw_lo)/2.0 * Flo;
332 const int& qty_index,
334 amrex::Real upw_lo)
const
337 if (upw_lo != 0.) upw_lo = (upw_lo > 0) ? 1. : -1.;
340 amrex::Real sp2 =
m_phi(i , j , k+2, qty_index);
341 amrex::Real sp1 =
m_phi(i , j , k+1, qty_index);
342 amrex::Real s =
m_phi(i , j , k , qty_index);
343 amrex::Real sm1 =
m_phi(i , j , k-1, qty_index);
344 amrex::Real sm2 =
m_phi(i , j , k-2, qty_index);
345 amrex::Real sm3 =
m_phi(i , j , k-3, qty_index);
348 amrex::Real Fhi =
Evaluate(sm3,sm2,sm1,s ,sp1);
349 amrex::Real Flo =
Evaluate(sp2,sp1,s ,sm1,sm2);
352 val_lo = (1.0 + upw_lo)/2.0 * Fhi + (1.0 - upw_lo)/2.0 * Flo;
359 const amrex::Real& sm1,
360 const amrex::Real& s ,
361 const amrex::Real& sp1,
362 const amrex::Real& sp2)
const
365 amrex::Real b1 =
c1 * (sm2 - 2.0 * sm1 + s) * (sm2 - 2.0 * sm1 + s) +
366 0.25 * (sm2 - 4.0 * sm1 + 3.0 * s) * (sm2 - 4.0 * sm1 + 3.0 * s);
367 amrex::Real b2 =
c1 * (sm1 - 2.0 * s + sp1) * (sm1 - 2.0 * s + sp1) +
368 0.25 * (sm1 - sp1) * (sm1 - sp1);
369 amrex::Real b3 =
c1 * (s - 2.0 * sp1 + sp2) * (s - 2.0 * sp1 + sp2) +
370 0.25 * (3.0 * s - 4.0 * sp1 + sp2) * (3.0 * s - 4.0 * sp1 + sp2);
373 amrex::Real t5 = std::abs(b3 - b1);
374 amrex::Real w1 =
g1 * ( 1.0 + (t5*t5) / ((
eps + b1) * (
eps + b1)) );
375 amrex::Real w2 =
g2 * ( 1.0 + (t5*t5) / ((
eps + b2) * (
eps + b2)) );
376 amrex::Real w3 =
g3 * ( 1.0 + (t5*t5) / ((
eps + b3) * (
eps + b3)) );
379 amrex::Real wsum = w1 + w2 + w3;
382 amrex::Real v1 = 2.0 * sm2 - 7.0 * sm1 + 11.0 * s;
383 amrex::Real v2 = -sm1 + 5.0 * s + 2.0 * sp1;
384 amrex::Real v3 = 2.0 * s + 5.0 * sp1 - sp2;
387 return ( (w1 * v1 + w2 * v2 + w3 * v3) / (6.0 * wsum) );
391 amrex::Array4<const amrex::Real>
m_phi;
392 const amrex::Real
eps=1.0e-40;
393 static constexpr amrex::Real
c1=(13.0/12.0);
394 static constexpr amrex::Real
g1=(1.0/10.0);
395 static constexpr amrex::Real
g2=(3.0/5.0);
396 static constexpr amrex::Real
g3=(3.0/10.0);
404 WENO_Z7 (
const amrex::Array4<const amrex::Real>& phi,
414 const int& qty_index,
416 amrex::Real upw_lo)
const
419 if (upw_lo != 0.) upw_lo = (upw_lo > 0) ? 1. : -1.;
422 amrex::Real sp3 =
m_phi(i+3, j , k , qty_index);
423 amrex::Real sp2 =
m_phi(i+2, j , k , qty_index);
424 amrex::Real sp1 =
m_phi(i+1, j , k , qty_index);
425 amrex::Real s =
m_phi(i , j , k , qty_index);
426 amrex::Real sm1 =
m_phi(i-1, j , k , qty_index);
427 amrex::Real sm2 =
m_phi(i-2, j , k , qty_index);
428 amrex::Real sm3 =
m_phi(i-3, j , k , qty_index);
429 amrex::Real sm4 =
m_phi(i-4, j , k , qty_index);
432 amrex::Real Fhi =
Evaluate(sm4,sm3,sm2,sm1,s ,sp1,sp2);
433 amrex::Real Flo =
Evaluate(sp3,sp2,sp1,s ,sm1,sm2,sm3);
436 val_lo = (1.0 + upw_lo)/2.0 * Fhi + (1.0 - upw_lo)/2.0 * Flo;
445 const int& qty_index,
447 amrex::Real upw_lo)
const
450 if (upw_lo != 0.) upw_lo = (upw_lo > 0) ? 1. : -1.;
453 amrex::Real sp3 =
m_phi(i , j+3, k , qty_index);
454 amrex::Real sp2 =
m_phi(i , j+2, k , qty_index);
455 amrex::Real sp1 =
m_phi(i , j+1, k , qty_index);
456 amrex::Real s =
m_phi(i , j , k , qty_index);
457 amrex::Real sm1 =
m_phi(i , j-1, k , qty_index);
458 amrex::Real sm2 =
m_phi(i , j-2, k , qty_index);
459 amrex::Real sm3 =
m_phi(i , j-3, k , qty_index);
460 amrex::Real sm4 =
m_phi(i , j-4, k , qty_index);
463 amrex::Real Fhi =
Evaluate(sm4,sm3,sm2,sm1,s ,sp1,sp2);
464 amrex::Real Flo =
Evaluate(sp3,sp2,sp1,s ,sm1,sm2,sm3);
467 val_lo = (1.0 + upw_lo)/2.0 * Fhi + (1.0 - upw_lo)/2.0 * Flo;
476 const int& qty_index,
478 amrex::Real upw_lo)
const
481 if (upw_lo != 0.) upw_lo = (upw_lo > 0) ? 1. : -1.;
484 amrex::Real sp3 =
m_phi(i , j , k+2, qty_index);
485 amrex::Real sp2 =
m_phi(i , j , k+2, qty_index);
486 amrex::Real sp1 =
m_phi(i , j , k+1, qty_index);
487 amrex::Real s =
m_phi(i , j , k , qty_index);
488 amrex::Real sm1 =
m_phi(i , j , k-1, qty_index);
489 amrex::Real sm2 =
m_phi(i , j , k-2, qty_index);
490 amrex::Real sm3 =
m_phi(i , j , k-3, qty_index);
491 amrex::Real sm4 =
m_phi(i , j , k-3, qty_index);
494 amrex::Real Fhi =
Evaluate(sm4,sm3,sm2,sm1,s ,sp1,sp2);
495 amrex::Real Flo =
Evaluate(sp3,sp2,sp1,s ,sm1,sm2,sm3);
498 val_lo = (1.0 + upw_lo)/2.0 * Fhi + (1.0 - upw_lo)/2.0 * Flo;
505 const amrex::Real& sm2,
506 const amrex::Real& sm1,
507 const amrex::Real& s ,
508 const amrex::Real& sp1,
509 const amrex::Real& sp2,
510 const amrex::Real& sp3)
const
513 amrex::Real b1 = ( sm3 * sm3 * 6649./2880.0
514 - sm3 * sm2 * 2623./160.0
515 + sm3 * sm1 * 9449./480.0
516 - sm3 * s * 11389./1440.0
517 + sm2 * sm2 * 28547./960.0
518 - sm2 * sm1 * 35047./480.0
519 + sm2 * s * 14369./480.0
520 + sm1 * sm1 * 44747./960.0
521 - sm1 * s * 6383./160.0
522 + s * s * 25729./2880.0 );
523 amrex::Real b2 = ( sm2 * sm2 * 3169/2880.0
524 - sm2 * sm1 * 3229/480.0
525 + sm2 * s * 3169/480.0
526 - sm2 * sp1 * 2989/1440.0
527 + sm1 * sm1 * 11147/960.0
528 - sm1 * s * 11767/480.0
529 + sm1 * sp1 * 1283/160.0
530 + s * s * 13667/960.0
531 - s * sp1 * 5069/480.0
532 + sp1 * sp1 * 6649/2880.0 );
533 amrex::Real b3 = ( sm1 * sm1 * 6649./2880.0
534 - sm1 * s * 5069./480.0
535 + sm1 * sp1 * 1283./160.0
536 - sm1 * sp2 * 2989./1440.0
537 + s * s * 13667./960.0
538 - s * sp1 * 11767./480.0
539 + s * sp2 * 3169./480.0
540 + sp1 * sp1 * 11147./960.0
541 - sp1 * sp2 * 3229./480.0
542 + sp2 * sp2 * 3169./2880.0 );
543 amrex::Real b4 = ( s * s * 25729./2880.
544 - s * sp1 * 6383./160.
545 + s * sp2 * 14369./480.
546 - s * sp3 * 11389./1440.
547 + sp1 * sp1 * 44747./960.
548 - sp1 * sp2 * 35047./480.
549 + sp1 * sp3 * 9449./480.
550 + sp2 * sp2 * 28547./960.
551 - sp2 * sp3 * 2623./160.
552 + sp3 * sp3 * 6649./2880. );
555 amrex::Real t5 = std::abs(b1 - b2 - b3 + b4);
556 amrex::Real w1 =
g1 * ( 1.0 + (t5*t5) / ((
eps + b1) * (
eps + b1)) );
557 amrex::Real w2 =
g2 * ( 1.0 + (t5*t5) / ((
eps + b2) * (
eps + b2)) );
558 amrex::Real w3 =
g3 * ( 1.0 + (t5*t5) / ((
eps + b3) * (
eps + b3)) );
559 amrex::Real w4 =
g4 * ( 1.0 + (t5*t5) / ((
eps + b3) * (
eps + b3)) );
562 amrex::Real wsum = w1 + w2 + w3 + w4;
565 amrex::Real v1 = (-0.3125)*sm3 + ( 1.3125)*sm2 + (-2.1875)*sm1 + ( 2.1875)*s;
566 amrex::Real v2 = ( 0.0625)*sm2 + (-0.3125)*sm1 + ( 0.9375)*s + ( 0.3125)*sp1;
567 amrex::Real v3 = (-0.0625)*sm1 + ( 0.5625)*s + ( 0.5625)*sp1 + (-0.0625)*sp2;
568 amrex::Real v4 = ( 0.3125)*s + ( 0.9375)*sp1 + (-0.3125)*sp2 + ( 0.0625)*sp3;
571 return ( (w1 * v1 + w2 * v2 + w3 * v3 + w4 * v4) / (wsum) );
575 amrex::Array4<const amrex::Real>
m_phi;
576 const amrex::Real
eps=1.0e-40;
577 static constexpr amrex::Real
g1=( 1.0/64.0);
578 static constexpr amrex::Real
g2=(21.0/64.0);
579 static constexpr amrex::Real
g3=(35.0/64.0);
580 static constexpr amrex::Real
g4=( 7.0/64.0);
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_WENO_Z.H:134
static constexpr amrex::Real g2
Definition: ERF_Interpolation_WENO_Z.H:255
amrex::Array4< const amrex::Real > m_phi
Definition: ERF_Interpolation_WENO_Z.H:252
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_WENO_Z.H:196
AMREX_GPU_DEVICE AMREX_FORCE_INLINE amrex::Real Evaluate(const amrex::Real &sm1, const amrex::Real &s, const amrex::Real &sp1) const
Definition: ERF_Interpolation_WENO_Z.H:223
static constexpr amrex::Real g3
Definition: ERF_Interpolation_WENO_Z.H:256
WENO_MZQ3(const amrex::Array4< const amrex::Real > &phi, const amrex::Real)
Definition: ERF_Interpolation_WENO_Z.H:135
const amrex::Real eps
Definition: ERF_Interpolation_WENO_Z.H:253
static constexpr amrex::Real g1
Definition: ERF_Interpolation_WENO_Z.H:254
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_WENO_Z.H:142
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_WENO_Z.H:169
Definition: ERF_Interpolation_WENO_Z.H:10
const amrex::Real eps
Definition: ERF_Interpolation_WENO_Z.H:125
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_WENO_Z.H:72
amrex::Array4< const amrex::Real > m_phi
Definition: ERF_Interpolation_WENO_Z.H:124
WENO_Z3(const amrex::Array4< const amrex::Real > &phi, const amrex::Real)
Definition: ERF_Interpolation_WENO_Z.H:11
AMREX_GPU_DEVICE AMREX_FORCE_INLINE amrex::Real Evaluate(const amrex::Real &sm1, const amrex::Real &s, const amrex::Real &sp1) const
Definition: ERF_Interpolation_WENO_Z.H:99
static constexpr amrex::Real g2
Definition: ERF_Interpolation_WENO_Z.H:127
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_WENO_Z.H:18
static constexpr amrex::Real g1
Definition: ERF_Interpolation_WENO_Z.H:126
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_WENO_Z.H:45
Definition: ERF_Interpolation_WENO_Z.H:263
AMREX_GPU_DEVICE AMREX_FORCE_INLINE amrex::Real Evaluate(const amrex::Real &sm2, const amrex::Real &sm1, const amrex::Real &s, const amrex::Real &sp1, const amrex::Real &sp2) const
Definition: ERF_Interpolation_WENO_Z.H:358
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_WENO_Z.H:329
static constexpr amrex::Real g3
Definition: ERF_Interpolation_WENO_Z.H:396
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_WENO_Z.H:300
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_WENO_Z.H:271
static constexpr amrex::Real g1
Definition: ERF_Interpolation_WENO_Z.H:394
amrex::Array4< const amrex::Real > m_phi
Definition: ERF_Interpolation_WENO_Z.H:391
static constexpr amrex::Real c1
Definition: ERF_Interpolation_WENO_Z.H:393
const amrex::Real eps
Definition: ERF_Interpolation_WENO_Z.H:392
static constexpr amrex::Real g2
Definition: ERF_Interpolation_WENO_Z.H:395
WENO_Z5(const amrex::Array4< const amrex::Real > &phi, const amrex::Real)
Definition: ERF_Interpolation_WENO_Z.H:264
Definition: ERF_Interpolation_WENO_Z.H:403
static constexpr amrex::Real g1
Definition: ERF_Interpolation_WENO_Z.H:577
AMREX_GPU_DEVICE AMREX_FORCE_INLINE amrex::Real Evaluate(const amrex::Real &sm3, const amrex::Real &sm2, const amrex::Real &sm1, const amrex::Real &s, const amrex::Real &sp1, const amrex::Real &sp2, const amrex::Real &sp3) const
Definition: ERF_Interpolation_WENO_Z.H:504
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_WENO_Z.H:411
amrex::Array4< const amrex::Real > m_phi
Definition: ERF_Interpolation_WENO_Z.H:575
const amrex::Real eps
Definition: ERF_Interpolation_WENO_Z.H:576
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_WENO_Z.H:473
WENO_Z7(const amrex::Array4< const amrex::Real > &phi, const amrex::Real)
Definition: ERF_Interpolation_WENO_Z.H:404
static constexpr amrex::Real g4
Definition: ERF_Interpolation_WENO_Z.H:580
static constexpr amrex::Real g2
Definition: ERF_Interpolation_WENO_Z.H:578
static constexpr amrex::Real g3
Definition: ERF_Interpolation_WENO_Z.H:579
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_WENO_Z.H:442