4 #ifndef ERF_TERRAINPOISSON_3D_K_H_
5 #define ERF_TERRAINPOISSON_3D_K_H_
7 #include <AMReX_FArrayBox.H>
23 AMREX_GPU_HOST_DEVICE AMREX_FORCE_INLINE
25 amrex::Array4<T const>
const& sol,
26 amrex::Array4<T const>
const& zp,
34 Real px_lo = (sol(i,j,k) - sol(i-1,j,k)) * dxinv;
37 Real pz_lo_md_hi =
myhalf * ( sol(i,j,k+1) + sol(i-1,j,k+1)
38 -sol(i,j,k ) - sol(i-1,j,k ) );
39 h_xi =
fourth * ( zp(i+1,j ,k+1) - zp(i-1,j ,k+1)
40 +zp(i+1,j+1,k+1) - zp(i-1,j+1,k+1) ) * dxinv;
41 h_zeta =
fourth * ( zp(i,j ,k+2) - zp(i ,j ,k )
42 +zp(i,j+1,k+2) - zp(i ,j+1,k ) );
43 pz_lo_md_hi *= h_xi / h_zeta;
46 Real pz_lo_md_lo =
myhalf * ( sol(i,j,k ) + sol(i-1,j,k )
47 -sol(i,j,k-1) - sol(i-1,j,k-1) );
49 h_xi =
fourth * ( zp(i+1,j ,k ) - zp(i-1,j ,k )
50 +zp(i+1,j+1,k ) - zp(i-1,j+1,k ) ) * dxinv;
51 h_zeta =
fourth * ( zp(i,j ,k+1) - zp(i ,j ,k-1)
52 +zp(i,j+1,k+1) - zp(i ,j+1,k-1) );
53 pz_lo_md_lo *= h_xi / h_zeta;
56 px_lo -=
myhalf * ( pz_lo_md_hi + pz_lo_md_lo );
74 AMREX_GPU_HOST_DEVICE AMREX_FORCE_INLINE
76 amrex::Array4<T const>
const& sol,
77 amrex::Array4<T const>
const& zp,
84 Real py_lo = (sol(i,j,k) - sol(i,j-1,k)) * dyinv;
87 Real pz_md_lo_hi =
myhalf * ( sol(i,j,k+1) + sol(i,j-1,k+1)
88 -sol(i,j,k ) - sol(i,j-1,k ) );
89 h_eta =
fourth * ( zp(i ,j+1,k+1) - zp(i ,j-1,k+1)
90 +zp(i+1,j+1,k+1) - zp(i+1,j-1,k+1) ) * dyinv;
91 h_zeta =
fourth * ( zp(i ,j,k+2) - zp(i ,j ,k )
92 +zp(i+1,j,k+2) - zp(i+1,j ,k ) );
93 pz_md_lo_hi *= h_eta/ h_zeta;
96 Real pz_md_lo_lo =
myhalf * ( sol(i,j,k ) + sol(i,j-1,k )
97 -sol(i,j,k-1) - sol(i,j-1,k-1) );
99 h_eta =
fourth * ( zp(i ,j+1,k ) - zp(i ,j-1,k )
100 +zp(i+1,j+1,k ) - zp(i+1,j-1,k ) ) * dyinv;
101 h_zeta =
fourth * ( zp(i ,j,k+1) - zp(i ,j ,k-1)
102 +zp(i+1,j,k+1) - zp(i+1,j ,k-1) );
103 pz_md_lo_lo *= h_eta/ h_zeta;
106 py_lo -=
myhalf * ( pz_md_lo_hi + pz_md_lo_lo );
123 template <
typename T>
124 AMREX_GPU_HOST_DEVICE AMREX_FORCE_INLINE
126 amrex::Array4<T const>
const& sol,
127 amrex::Array4<T const>
const& zp,
128 T dxinv,
T dyinv) noexcept
132 Real h_xi, h_eta, h_zeta;
135 Real pz_lo = (sol(i,j,k ) - sol(i,j,k-1));
136 Real hzeta_inv_on_zlo =
amrex::Real(8.0) / ( (zp(i,j,k+1) + zp(i+1,j,k+1) + zp(i,j+1,k+1) + zp(i+1,j+1,k+1))
137 -(zp(i,j,k-1) + zp(i+1,j,k-1) + zp(i,j+1,k-1) + zp(i+1,j+1,k-1)) );
138 pz_lo *= hzeta_inv_on_zlo;
141 Real px_hi_md_lo =
myhalf * ( sol(i+1,j ,k ) - sol(i ,j ,k )
142 +sol(i+1,j ,k-1) - sol(i ,j ,k-1)) * dxinv;
143 Real px_lo_md_lo =
myhalf * ( sol(i ,j ,k ) - sol(i-1,j ,k )
144 +sol(i ,j ,k-1) - sol(i-1,j ,k-1)) * dxinv;
145 Real py_md_hi_lo =
myhalf * ( sol(i ,j+1,k ) - sol(i ,j ,k )
146 +sol(i ,j+1,k-1) - sol(i ,j ,k-1)) * dyinv;
147 Real py_md_lo_lo =
myhalf * ( sol(i ,j ,k ) - sol(i ,j-1,k )
148 +sol(i ,j ,k-1) - sol(i ,j-1,k-1)) * dyinv;
151 Real pz_hi_md_lo =
myhalf * ( sol(i+1,j,k ) + sol(i,j,k )
152 -sol(i+1,j,k-1) - sol(i,j,k-1) );
153 h_xi =
fourth * ( zp(i+2,j ,k ) - zp(i ,j ,k )
154 +zp(i+2,j+1,k ) - zp(i ,j+1,k ) ) * dxinv;
155 h_zeta =
fourth * ( zp(i+1,j ,k+1) - zp(i+1,j ,k-1)
156 +zp(i+1,j+1,k+1) - zp(i+1,j+1,k-1) );
157 pz_hi_md_lo *= h_xi / h_zeta;
160 Real pz_lo_md_lo =
myhalf * ( sol(i,j,k ) + sol(i-1,j,k )
161 -sol(i,j,k-1) - sol(i-1,j,k-1) );
162 h_xi =
fourth * ( zp(i+1,j ,k ) - zp(i-1,j ,k )
163 +zp(i+1,j+1,k ) - zp(i-1,j+1,k ) ) * dxinv;
164 h_zeta =
fourth * ( zp(i,j ,k+1) - zp(i ,j ,k-1)
165 +zp(i,j+1,k+1) - zp(i ,j+1,k-1) );
166 pz_lo_md_lo *= h_xi / h_zeta;
169 Real pz_md_hi_lo =
myhalf * ( sol(i,j+1,k ) + sol(i,j,k )
170 -sol(i,j+1,k-1) - sol(i,j,k-1) );
171 h_eta =
fourth * ( zp(i ,j+2,k ) - zp(i ,j ,k )
172 +zp(i+1,j+2,k ) - zp(i+1,j ,k ) ) * dyinv;
173 h_zeta =
fourth * ( zp(i ,j+1,k+1) - zp(i ,j+1,k-1)
174 +zp(i+1,j+1,k+1) - zp(i+1,j+1,k-1) );
175 pz_md_hi_lo *= h_eta/ h_zeta;
178 Real pz_md_lo_lo =
myhalf * ( sol(i,j,k ) + sol(i,j-1,k )
179 -sol(i,j,k-1) - sol(i,j-1,k-1) );
180 h_eta =
fourth * ( zp(i ,j+1,k ) - zp(i ,j-1,k )
181 +zp(i+1,j+1,k ) - zp(i+1,j-1,k ) ) * dyinv;
182 h_zeta =
fourth * ( zp(i ,j,k+1) - zp(i ,j ,k-1)
183 +zp(i+1,j,k+1) - zp(i+1,j ,k-1) );
184 pz_md_lo_lo *= h_eta/ h_zeta;
187 Real h_xi_on_zlo =
myhalf * (zp(i+1,j+1,k) + zp(i+1,j,k) - zp(i,j+1,k) - zp(i,j,k)) * dxinv;
188 Real h_eta_on_zlo =
myhalf * (zp(i+1,j+1,k) + zp(i,j+1,k) - zp(i+1,j,k) - zp(i,j,k)) * dyinv;
190 pz_lo -=
myhalf * h_xi_on_zlo * ( (px_hi_md_lo + px_lo_md_lo) - (pz_hi_md_lo + pz_lo_md_lo) );
191 pz_lo -=
myhalf * h_eta_on_zlo * ( (py_md_hi_lo + py_md_lo_lo) - (pz_md_hi_lo + pz_md_lo_lo) );
193 if (k == 0) pz_lo =
zero;
212 template <
typename T>
213 AMREX_GPU_HOST_DEVICE AMREX_FORCE_INLINE
215 amrex::Array4<T const>
const& sol,
216 amrex::Array4<T const>
const& zp,
217 T dxinv,
T dyinv) noexcept
221 Real h_xi, h_eta, h_zeta;
224 Real pz_lo = sol(i,j,k);
225 Real hzeta_inv_on_zlo =
amrex::Real(8.0) / ( (zp(i,j,k+1) + zp(i+1,j,k+1) + zp(i,j+1,k+1) + zp(i+1,j+1,k+1))
226 -(zp(i,j,k ) + zp(i+1,j,k ) + zp(i,j+1,k ) + zp(i+1,j+1,k )) );
227 pz_lo *= hzeta_inv_on_zlo;
236 Real pz_hi_md_lo =
myhalf * ( sol(i+1,j,k ) + sol(i,j,k ));
237 h_xi =
fourth * ( zp(i+2,j ,k ) - zp(i ,j ,k )
238 +zp(i+2,j+1,k ) - zp(i ,j+1,k ) ) * dxinv;
239 h_zeta =
fourth * ( zp(i+1,j ,k+1) - zp(i+1,j ,k )
240 +zp(i+1,j+1,k+1) - zp(i+1,j+1,k ) );
241 pz_hi_md_lo *= h_xi / h_zeta;
244 Real pz_lo_md_lo =
myhalf * ( sol(i,j,k ) + sol(i-1,j,k ));
245 h_xi =
fourth * ( zp(i+1,j ,k ) - zp(i-1,j ,k )
246 +zp(i+1,j+1,k ) - zp(i-1,j+1,k ) ) * dxinv;
247 h_zeta =
fourth * ( zp(i,j ,k+1) - zp(i ,j ,k )
248 +zp(i,j+1,k+1) - zp(i ,j+1,k ) );
249 pz_lo_md_lo *= h_xi / h_zeta;
252 Real pz_md_hi_lo =
myhalf * ( sol(i,j+1,k ) + sol(i,j,k ));
253 h_eta =
fourth * ( zp(i ,j+2,k ) - zp(i ,j ,k )
254 +zp(i+1,j+2,k ) - zp(i+1,j ,k ) ) * dyinv;
255 h_zeta =
fourth * ( zp(i ,j+1,k+1) - zp(i ,j+1,k )
256 +zp(i+1,j+1,k+1) - zp(i+1,j+1,k ) );
257 pz_md_hi_lo *= h_eta/ h_zeta;
260 Real pz_md_lo_lo =
myhalf * ( sol(i,j,k ) + sol(i,j-1,k ));
261 h_eta =
fourth * ( zp(i ,j+1,k ) - zp(i ,j-1,k )
262 +zp(i+1,j+1,k ) - zp(i+1,j-1,k ) ) * dyinv;
263 h_zeta =
fourth * ( zp(i ,j,k+1) - zp(i ,j ,k )
264 +zp(i+1,j,k+1) - zp(i+1,j ,k ) );
265 pz_md_lo_lo *= h_eta/ h_zeta;
268 Real h_xi_on_zlo =
myhalf * (zp(i+1,j+1,k) + zp(i+1,j,k) - zp(i,j+1,k) - zp(i,j,k)) * dxinv;
269 Real h_eta_on_zlo =
myhalf * (zp(i+1,j+1,k) + zp(i,j+1,k) - zp(i+1,j,k) - zp(i,j,k)) * dyinv;
271 pz_lo -=
myhalf * h_xi_on_zlo * ( (px_hi_md_lo + px_lo_md_lo) - (pz_hi_md_lo + pz_lo_md_lo) );
272 pz_lo -=
myhalf * h_eta_on_zlo * ( (py_md_hi_lo + py_md_lo_lo) - (pz_md_hi_lo + pz_md_lo_lo) );
316 template <
typename T>
317 AMREX_GPU_HOST_DEVICE AMREX_FORCE_INLINE
319 amrex::Array4<T const>
const& x,
320 amrex::Array4<T const>
const& ax,
321 amrex::Array4<T const>
const& ay,
322 amrex::Array4<T const>
const& az,
323 amrex::Array4<T const>
const& dJ,
324 amrex::Array4<T const>
const& zp,
325 T dxinv,
T dyinv,
T dzinv,
326 amrex::Dim3
const& dlo = amrex::Dim3{0,0,0},
327 amrex::Dim3
const& dhi = amrex::Dim3{0,0,0},
331 Real h_xi, h_eta, h_zeta;
338 Real px_hi = (
x(i+1,j,k) -
x(i,j,k)) * dxinv;
341 Real pz_hi_md_hi =
myhalf * (
x(i+1,j ,k+1) +
x(i ,j ,k+1)
342 -
x(i+1,j ,k ) -
x(i ,j ,k ) );
343 h_xi =
fourth * ( zp(i+2,j ,k+1) - zp(i ,j ,k+1)
344 +zp(i+2,j+1,k+1) - zp(i ,j+1,k+1) ) * dxinv;
345 h_zeta =
fourth * ( zp(i+1,j ,k+2) - zp(i+1,j ,k )
346 +zp(i+1,j+1,k+2) - zp(i+1,j+1,k ) );
347 pz_hi_md_hi *= h_xi / h_zeta;
350 Real pz_hi_md_lo =
myhalf * (
x(i+1,j ,k ) +
x(i ,j ,k )
351 -
x(i+1,j ,k-1) -
x(i ,j ,k-1) );
352 h_xi =
fourth * ( zp(i+2,j ,k ) - zp(i ,j ,k )
353 +zp(i+2,j+1,k ) - zp(i ,j+1,k ) ) * dxinv;
354 h_zeta =
fourth * ( zp(i+1,j ,k+1) - zp(i+1,j ,k-1)
355 +zp(i+1,j+1,k+1) - zp(i+1,j+1,k-1) );
356 pz_hi_md_lo *= h_xi / h_zeta;
359 px_hi -=
myhalf * ( pz_hi_md_hi + pz_hi_md_lo );
364 Real px_lo = (
x(i,j,k) -
x(i-1,j,k)) * dxinv;
368 -
x(i,j,k ) -
x(i-1,j,k ) );
369 h_xi =
fourth * ( zp(i+1,j ,k+1) - zp(i-1,j ,k+1)
370 +zp(i+1,j+1,k+1) - zp(i-1,j+1,k+1) ) * dxinv;
371 h_zeta =
fourth * ( zp(i,j ,k+2) - zp(i ,j ,k )
372 +zp(i,j+1,k+2) - zp(i ,j+1,k ) );
373 pz_lo_md_hi *= h_xi / h_zeta;
377 -
x(i,j,k-1) -
x(i-1,j,k-1) );
378 h_xi =
fourth * ( zp(i+1,j ,k ) - zp(i-1,j ,k )
379 +zp(i+1,j+1,k ) - zp(i-1,j+1,k ) ) * dxinv;
380 h_zeta =
fourth * ( zp(i,j ,k+1) - zp(i ,j ,k-1)
381 +zp(i,j+1,k+1) - zp(i ,j+1,k-1) );
382 pz_lo_md_lo *= h_xi / h_zeta;
385 px_lo -=
myhalf * ( pz_lo_md_hi + pz_lo_md_lo );
391 Real py_hi = (
x(i,j+1,k) -
x(i,j,k)) * dyinv;
395 -
x(i,j+1,k ) -
x(i,j,k ) );
396 h_eta =
fourth * ( zp(i ,j+2,k+1) - zp(i ,j ,k+1)
397 +zp(i+1,j+2,k+1) - zp(i+1,j ,k+1) ) * dyinv;
398 h_zeta =
fourth * ( zp(i ,j+1,k+2) - zp(i ,j+1,k )
399 +zp(i+1,j+1,k+2) - zp(i+1,j+1,k ) );
400 pz_md_hi_hi *= h_eta/ h_zeta;
404 -
x(i,j+1,k-1) -
x(i,j,k-1) );
405 h_eta =
fourth * ( zp(i ,j+2,k ) - zp(i ,j ,k )
406 +zp(i+1,j+2,k ) - zp(i+1,j ,k ) ) * dyinv;
407 h_zeta =
fourth * ( zp(i ,j+1,k+1) - zp(i ,j+1,k-1)
408 +zp(i+1,j+1,k+1) - zp(i+1,j+1,k-1) );
409 pz_md_hi_lo *= h_eta/ h_zeta;
412 py_hi -=
myhalf * ( pz_md_hi_hi + pz_md_hi_lo );
418 Real py_lo = (
x(i,j,k) -
x(i,j-1,k)) * dyinv;
421 Real pz_md_lo_hi =
myhalf * (
x(i ,j,k+1) +
x(i ,j-1,k+1)
422 -
x(i ,j,k ) -
x(i ,j-1,k ) );
423 h_eta =
fourth * ( zp(i ,j+1,k+1) - zp(i ,j-1,k+1)
424 +zp(i+1,j+1,k+1) - zp(i+1,j-1,k+1) ) * dyinv;
425 h_zeta =
fourth * ( zp(i ,j,k+2) - zp(i ,j ,k )
426 +zp(i+1,j,k+2) - zp(i+1,j ,k ) );
427 pz_md_lo_hi *= h_eta/ h_zeta;
431 -
x(i ,j,k-1) -
x(i ,j-1,k-1) );
432 h_eta =
fourth * ( zp(i ,j+1,k ) - zp(i ,j-1,k )
433 +zp(i+1,j+1,k ) - zp(i+1,j-1,k ) ) * dyinv;
434 h_zeta =
fourth * ( zp(i ,j,k+1) - zp(i ,j ,k-1)
435 +zp(i+1,j,k+1) - zp(i+1,j ,k-1) );
436 pz_md_lo_lo *= h_eta/ h_zeta;
439 py_lo -=
myhalf * ( pz_md_lo_hi + pz_md_lo_lo );
445 Real pz_hi =
x(i,j,k+1) -
x(i,j,k );
446 Real hzeta_inv_on_zhi =
amrex::Real(8.0) / ( (zp(i,j,k+2) + zp(i+1,j,k+2) + zp(i,j+1,k+2) + zp(i+1,j+1,k+2))
447 -(zp(i,j,k ) + zp(i+1,j,k ) + zp(i,j+1,k ) + zp(i+1,j+1,k )) );
448 pz_hi *= hzeta_inv_on_zhi;
451 Real px_hi_md_hi =
myhalf * (
x(i+1,j,k+1) -
x(i ,j ,k+1)
452 +
x(i+1,j,k ) -
x(i ,j ,k )) * dxinv;
453 Real px_lo_md_hi =
myhalf * (
x(i ,j,k+1) -
x(i-1,j ,k+1)
454 +
x(i ,j,k ) -
x(i-1,j ,k )) * dxinv;
455 Real py_md_hi_hi =
myhalf * (
x(i,j+1,k+1) -
x(i ,j ,k+1)
456 +
x(i,j+1,k ) -
x(i ,j ,k )) * dyinv;
457 Real py_md_lo_hi =
myhalf * (
x(i,j ,k+1) -
x(i ,j-1,k+1)
458 +
x(i,j ,k ) -
x(i ,j-1,k )) * dyinv;
461 Real h_xi_on_zhi =
myhalf * ( zp(i+1,j+1,k+1) + zp(i+1,j,k+1) - zp(i,j+1,k+1) - zp(i,j,k+1) ) * dxinv;
462 Real h_eta_on_zhi =
myhalf * ( zp(i+1,j+1,k+1) + zp(i,j+1,k+1) - zp(i+1,j,k+1) - zp(i,j,k+1) ) * dyinv;
466 pz_hi -=
myhalf * h_xi_on_zhi * ( (px_hi_md_hi + px_lo_md_hi) - (pz_hi_md_hi + pz_lo_md_hi) );
467 pz_hi -=
myhalf * h_eta_on_zhi * ( (py_md_hi_hi + py_md_lo_hi) - (pz_md_hi_hi + pz_md_lo_hi) );
473 Real pz_lo =
x(i,j,k ) -
x(i,j,k-1);
474 Real hzeta_inv_on_zlo =
amrex::Real(8.0) / ( (zp(i,j,k+1) + zp(i+1,j,k+1) + zp(i,j+1,k+1) + zp(i+1,j+1,k+1))
475 -(zp(i,j,k-1) + zp(i+1,j,k-1) + zp(i,j+1,k-1) + zp(i+1,j+1,k-1)) );
476 pz_lo *= hzeta_inv_on_zlo;
479 Real px_hi_md_lo =
myhalf * (
x(i+1,j ,k ) -
x(i ,j ,k )
480 +
x(i+1,j ,k-1) -
x(i ,j ,k-1)) * dxinv;
481 Real px_lo_md_lo =
myhalf * (
x(i ,j ,k ) -
x(i-1,j ,k )
482 +
x(i ,j ,k-1) -
x(i-1,j ,k-1)) * dxinv;
483 Real py_md_hi_lo =
myhalf * (
x(i ,j+1,k ) -
x(i ,j ,k )
484 +
x(i ,j+1,k-1) -
x(i ,j ,k-1)) * dyinv;
485 Real py_md_lo_lo =
myhalf * (
x(i ,j ,k ) -
x(i ,j-1,k )
486 +
x(i ,j ,k-1) -
x(i ,j-1,k-1)) * dyinv;
489 Real h_xi_on_zlo =
myhalf * (zp(i+1,j+1,k) + zp(i+1,j,k) - zp(i,j+1,k) - zp(i,j,k)) * dxinv;
490 Real h_eta_on_zlo =
myhalf * (zp(i+1,j+1,k) + zp(i,j+1,k) - zp(i+1,j,k) - zp(i,j,k)) * dyinv;
494 pz_lo -=
myhalf * h_xi_on_zlo * ( (px_hi_md_lo + px_lo_md_lo) - (pz_hi_md_lo + pz_lo_md_lo) );
495 pz_lo -=
myhalf * h_eta_on_zlo * ( (py_md_hi_lo + py_md_lo_lo) - (pz_md_hi_lo + pz_md_lo_lo) );
518 if (k == 0) pz_lo =
zero;
526 y(i,j,k) = (ax(i+1,j,k)*px_hi - ax(i,j,k)*px_lo) * dxinv
527 +(ay(i,j+1,k)*py_hi - ay(i,j,k)*py_lo) * dyinv
528 +(az(i,j,k+1)*pz_hi - az(i,j,k)*pz_lo) * dzinv;
529 y(i,j,k) /= dJ(i,j,k);
Dimensionless numeric literals and pure mathematical constants.
constexpr amrex::Real fourth
Definition: ERF_NumericalConstants.H:42
constexpr amrex::Real zero
Definition: ERF_NumericalConstants.H:36
constexpr amrex::Real myhalf
Definition: ERF_NumericalConstants.H:41
amrex::Real Real
Definition: ERF_ShocInterface.H:19
TerrainPoissonFaceBit
Definition: ERF_TerrainPoisson_3D_K.H:281
@ tp_face_xlo
Definition: ERF_TerrainPoisson_3D_K.H:282
@ tp_face_zhi
Definition: ERF_TerrainPoisson_3D_K.H:284
@ tp_face_yhi
Definition: ERF_TerrainPoisson_3D_K.H:283
@ tp_face_zlo
Definition: ERF_TerrainPoisson_3D_K.H:284
@ tp_face_ylo
Definition: ERF_TerrainPoisson_3D_K.H:283
@ tp_face_xhi
Definition: ERF_TerrainPoisson_3D_K.H:282
AMREX_GPU_HOST_DEVICE AMREX_FORCE_INLINE T terrpoisson_flux_x(int i, int j, int k, amrex::Array4< T const > const &sol, amrex::Array4< T const > const &zp, T dxinv) noexcept
Definition: ERF_TerrainPoisson_3D_K.H:24
AMREX_GPU_HOST_DEVICE AMREX_FORCE_INLINE T terrpoisson_flux_zlo_dir(int i, int j, int k, amrex::Array4< T const > const &sol, amrex::Array4< T const > const &zp, T dxinv, T dyinv) noexcept
Definition: ERF_TerrainPoisson_3D_K.H:214
AMREX_GPU_HOST_DEVICE AMREX_FORCE_INLINE T terrpoisson_flux_z(int i, int j, int k, amrex::Array4< T const > const &sol, amrex::Array4< T const > const &zp, T dxinv, T dyinv) noexcept
Definition: ERF_TerrainPoisson_3D_K.H:125
AMREX_GPU_HOST_DEVICE AMREX_FORCE_INLINE T terrpoisson_flux_y(int i, int j, int k, amrex::Array4< T const > const &sol, amrex::Array4< T const > const &zp, T dyinv) noexcept
Definition: ERF_TerrainPoisson_3D_K.H:75
AMREX_GPU_HOST_DEVICE AMREX_FORCE_INLINE void terrpoisson_adotx(int i, int j, int k, amrex::Array4< T > const &y, amrex::Array4< T const > const &x, amrex::Array4< T const > const &ax, amrex::Array4< T const > const &ay, amrex::Array4< T const > const &az, amrex::Array4< T const > const &dJ, amrex::Array4< T const > const &zp, T dxinv, T dyinv, T dzinv, amrex::Dim3 const &dlo=amrex::Dim3{0, 0, 0}, amrex::Dim3 const &dhi=amrex::Dim3{0, 0, 0}, int zf=0) noexcept
Definition: ERF_TerrainPoisson_3D_K.H:318
@ T
Definition: ERF_IndexDefines.H:131