| 248 | #endif |
| 249 | |
| 250 | void |
| 251 | Castro::advance_particles(int iteration, Real time, Real dt) |
| 252 | { |
| 253 | if (TracerPC) |
| 254 | { |
| 255 | int ng = iteration; |
| 256 | Real t = time + 0.5*dt; |
| 257 | |
| 258 | MultiFab Ucc(grids,dmap,AMREX_SPACEDIM,ng); // cell centered velocity |
| 259 | |
| 260 | { |
| 261 | FillPatchIterator fpi(*this, Ucc, ng, t, State_Type, 0, AMREX_SPACEDIM+1); |
| 262 | MultiFab& S = fpi.get_mf(); |
| 263 | |
| 264 | #ifdef _OPENMP |
| 265 | #pragma omp parallel |
| 266 | #endif |
| 267 | for (MFIter mfi(Ucc,true); mfi.isValid(); ++mfi) |
| 268 | { |
| 269 | const Box& bx = mfi.growntilebox(); |
| 270 | S[mfi].invert(1.0, bx, 0, 1); |
| 271 | for (int dir=0; dir < AMREX_SPACEDIM; ++dir) { |
| 272 | Ucc[mfi].copy(S[mfi], bx, dir+1, bx, dir, 1); |
| 273 | Ucc[mfi].mult(S[mfi], bx, 0, dir); |
| 274 | } |
| 275 | } |
| 276 | } |
| 277 | |
| 278 | TracerPC->AdvectWithUcc(Ucc, level, dt); |
| 279 | } |
| 280 | } |
no test coverage detected