ERF
Energy Research and Forecasting: An Atmospheric Modeling Code
ERF_UpdateRhoQtSources_GATE.H
Go to the documentation of this file.
1  const auto dx = geom.CellSizeArray();
2  bool use_zlevels = (z_phys_cc != nullptr);
3 
4  for (MFIter mfi(*qsrc, TilingIfNotGPU()); mfi.isValid(); ++mfi)
5  {
6  const auto &box = mfi.tilebox();
7  const Array4<Real>& qsrc_arr = qsrc->array(mfi);
8  if (box.length(0) != 1)
9  {
10  qsrc->setVal(0.0);
11  } else {
12  ParallelFor(box, [=] AMREX_GPU_DEVICE (int i, int j, int k) {
13  const Real z_cc = (use_zlevels) ? d_zlevels_arr[k] : (k+0.5)*dx[2];
14  Real f_a[9] = {-3.19860779e-39, 2.41718658e-34, -7.62715842e-30, 1.30171558e-25,
15  -1.30129938e-21, 7.71169160e-18, -2.59263914e-14, 4.05941658e-11,
16  2.56947279e-09};
17  Real result = f_a[0];
18  for (int ind = 1; ind < 9; ++ind) {
19  result = result * z_cc + f_a[ind];
20  }
21  qsrc_arr(i, j, k) = result;
22  });
23  }
24  }
ParallelFor(fab_box, [=] AMREX_GPU_DEVICE(int i, int j, int k) { qrcuten_arr(i, j, k)=Real(0);qscuten_arr(i, j, k)=Real(0);qicuten_arr(i, j, k)=Real(0);})
amrex::Real Real
Definition: ERF_ShocInterface.H:19
bool use_zlevels
Definition: ERF_UpdateRhoQtSources_GATE.H:2
const auto dx
Definition: ERF_UpdateRhoQtSources_GATE.H:1