diff --git a/Source/Particles/WarpXParticleContainer.H b/Source/Particles/WarpXParticleContainer.H index b44cb33d66b..fc0865af980 100644 --- a/Source/Particles/WarpXParticleContainer.H +++ b/Source/Particles/WarpXParticleContainer.H @@ -284,7 +284,7 @@ public: std::array meanParticleVelocity(bool local = false); - amrex::ParticleReal maxParticleVelocity(bool local = false); + amrex::ParticleReal maxParticleVelocity(bool local = false) const; /** * \brief Adds n particles to the simulation diff --git a/Source/Particles/WarpXParticleContainer.cpp b/Source/Particles/WarpXParticleContainer.cpp index 19cf6335b45..865452400bf 100644 --- a/Source/Particles/WarpXParticleContainer.cpp +++ b/Source/Particles/WarpXParticleContainer.cpp @@ -1420,7 +1420,7 @@ std::array WarpXParticleContainer::meanParticleVelocity(bool lo return mean_v; } -amrex::ParticleReal WarpXParticleContainer::maxParticleVelocity(bool local) { +amrex::ParticleReal WarpXParticleContainer::maxParticleVelocity(bool local) const { const amrex::ParticleReal inv_clight_sq = 1.0_prt/(PhysConst::c*PhysConst::c); @@ -1428,11 +1428,12 @@ amrex::ParticleReal WarpXParticleContainer::maxParticleVelocity(bool local) { amrex::ReduceOps reduce_ops; const auto reduce_res = amrex::ParticleReduce>( *this, - [=] AMREX_GPU_HOST_DEVICE(const PType &p) noexcept -> amrex::GpuTuple { + [=] AMREX_GPU_HOST_DEVICE(const PType &p) noexcept -> amrex::GpuTuple + { const auto ux = p.rdata(PIdx::ux); const auto uy = p.rdata(PIdx::uy); const auto uz = p.rdata(PIdx::uz); - return (ux*ux + uy*uy + uz*uz) * inv_clight_sq; + return {(ux*ux + uy*uy + uz*uz) * inv_clight_sq,}; }, reduce_ops);