From d4a3b6f0de6dc42a7d971680a653b7684afa6e3f Mon Sep 17 00:00:00 2001 From: Axel Huebl Date: Wed, 8 Jun 2022 14:51:16 -0700 Subject: ABLASTR: Move Communication Utilities (#3167) * Move: WarpXCommUtils to ABLASTR * Update Usage Locations * Refactor: `WarpX::do_single_precision_comms` Do not use a global from WarpX in ABLASTR routines. --- Source/Particles/WarpXParticleContainer.cpp | 17 ++++++++++------- 1 file changed, 10 insertions(+), 7 deletions(-) (limited to 'Source/Particles/WarpXParticleContainer.cpp') diff --git a/Source/Particles/WarpXParticleContainer.cpp b/Source/Particles/WarpXParticleContainer.cpp index 15b431394..ec3f7f4a8 100644 --- a/Source/Particles/WarpXParticleContainer.cpp +++ b/Source/Particles/WarpXParticleContainer.cpp @@ -14,7 +14,6 @@ #include "Deposition/CurrentDeposition.H" #include "Pusher/GetAndSetPosition.H" #include "Pusher/UpdatePosition.H" -#include "Parallelization/WarpXCommUtil.H" #include "ParticleBoundaries_K.H" #include "Utils/CoarsenMR.H" #include "Utils/TextMsg.H" @@ -23,6 +22,8 @@ #include "Utils/WarpXProfilerWrapper.H" #include "WarpX.H" +#include + #include #include #include @@ -674,7 +675,7 @@ WarpXParticleContainer::DepositCharge (amrex::VectorGeom(lev).periodicity()); + ablastr::utils::communication::SumBoundary(*rho[lev], WarpX::do_single_precision_comms, m_gdb->Geom(lev).periodicity()); } } @@ -691,10 +692,12 @@ WarpXParticleContainer::DepositCharge (amrex::VectorrefRatio(lev) ); - WarpXCommUtil::ParallelAdd(*rho[lev], coarsened_fine_data, 0, 0, rho[lev]->nComp(), - amrex::IntVect::TheZeroVector(), - amrex::IntVect::TheZeroVector(), - m_gdb->Geom(lev).periodicity()); + ablastr::utils::communication::ParallelAdd(*rho[lev], coarsened_fine_data, 0, 0, + rho[lev]->nComp(), + amrex::IntVect::TheZeroVector(), + amrex::IntVect::TheZeroVector(), + WarpX::do_single_precision_comms, + m_gdb->Geom(lev).periodicity()); } } } @@ -755,7 +758,7 @@ WarpXParticleContainer::GetChargeDensity (int lev, bool local) WarpX::GetInstance().ApplyInverseVolumeScalingToChargeDensity(rho.get(), lev); #endif - if (local == false) { WarpXCommUtil::SumBoundary(*rho, gm.periodicity()); } + if (local == false) { ablastr::utils::communication::SumBoundary(*rho, WarpX::do_single_precision_comms, gm.periodicity()); } return rho; } -- cgit v1.2.3