KOKKOS_INLINE_FUNCTION void XZHydrostatic_UTracer<EvalT, Traits>:: operator() (const XZHydrostatic_UTracer_Tag& tag, const int& cell) const{ for (int node=0; node < numNodes; ++node) for (int level=0; level < numLevels; ++level) for (int dim=0; dim < numDims; ++dim) UTracer(cell,node,level,dim) = Velocity(cell,node,level,dim)*Tracer(cell,node,level); }
void XZHydrostatic_UTracer<EvalT, Traits>:: evaluateFields(typename Traits::EvalData workset) { for (int cell=0; cell < workset.numCells; ++cell) for (int node=0; node < numNodes; ++node) for (int level=0; level < numLevels; ++level) for (int dim=0; dim < numDims; ++dim) { UTracer(cell,node,level,dim) = Velx(cell,node,level,dim)*Tracer(cell,node,level); //UTracer(cell,node,level,dim) = PiVelx(cell,node,level,dim)*Tracer(cell,node,level); //std::cout << "pivelx: " << cell << " " << node << " " << level << " " << dim << " " << PiVelx(cell,node,level,dim) << std::endl; //std::cout << "Tracer " << Tracer(cell,node,level) << std::endl; } }
void XZHydrostatic_UTracer<EvalT, Traits>:: evaluateFields(typename Traits::EvalData workset) { #ifndef ALBANY_KOKKOS_UNDER_DEVELOPMENT for (int cell=0; cell < workset.numCells; ++cell) for (int node=0; node < numNodes; ++node) for (int level=0; level < numLevels; ++level) for (int dim=0; dim < numDims; ++dim) { UTracer(cell,node,level,dim) = Velocity(cell,node,level,dim)*Tracer(cell,node,level); //UTracer(cell,node,level,dim) = PiVelx(cell,node,level,dim)*Tracer(cell,node,level); //std::cout << "pivelx: " << cell << " " << node << " " << level << " " << dim << " " << PiVelx(cell,node,level,dim) << std::endl; //std::cout << "Tracer " << Tracer(cell,node,level) << std::endl; } #else Kokkos::parallel_for(XZHydrostatic_UTracer_Policy(0,workset.numCells),*this); #endif }