Real MCLinOp::norm (const MultiFab& in, int level) const { Real norm = 0.0; for (MFIter inmfi(in); inmfi.isValid(); ++inmfi) { Real tnorm = in[inmfi].norm(gbox[level][inmfi.index()]); norm += tnorm*tnorm; } ParallelDescriptor::ReduceRealSum(norm); return norm; }
void ABec4::compFlux (D_DECL(MultiFab &xflux, MultiFab &yflux, MultiFab &zflux), MultiFab& in, bool do_ApplyBC, const BC_Mode& bc_mode, int src_comp, int dst_comp, int num_comp, int bnd_comp) { const int level = 0; BL_ASSERT(num_comp==1); if (do_ApplyBC) applyBC(in,src_comp,num_comp,level,bc_mode,bnd_comp); const MultiFab& a = aCoefficients(level); const MultiFab& b = bCoefficients(level); const bool tiling = true; #ifdef _OPENMP #pragma omp parallel #endif for (MFIter inmfi(in,tiling); inmfi.isValid(); ++inmfi) { D_TERM(const Box& xbx = inmfi.nodaltilebox(0);, const Box& ybx = inmfi.nodaltilebox(1);,