diff options
author | 2019-09-27 11:14:00 -0700 | |
---|---|---|
committer | 2019-09-27 15:17:34 -0700 | |
commit | c9577f8d200d99c40d15d5ff0d2fdacbddc2026f (patch) | |
tree | 5606dba411201d581ae386bb9694b933c4b07bcd /Source | |
parent | 9db3a53e959a6279c313a0d8d3e80288f6775b5a (diff) | |
download | WarpX-c9577f8d200d99c40d15d5ff0d2fdacbddc2026f.tar.gz WarpX-c9577f8d200d99c40d15d5ff0d2fdacbddc2026f.tar.zst WarpX-c9577f8d200d99c40d15d5ff0d2fdacbddc2026f.zip |
Rename, Profile & Remove TODO
Diffstat (limited to 'Source')
-rw-r--r-- | Source/Parallelization/InterpolateCurrentFineToCoarse.H (renamed from Source/Parallelization/CurrentSynchronize.H) | 18 | ||||
-rw-r--r-- | Source/Parallelization/WarpXComm.cpp | 19 | ||||
-rw-r--r-- | Source/WarpX.H | 6 |
3 files changed, 22 insertions, 21 deletions
diff --git a/Source/Parallelization/CurrentSynchronize.H b/Source/Parallelization/InterpolateCurrentFineToCoarse.H index 5329ca242..148b725d0 100644 --- a/Source/Parallelization/CurrentSynchronize.H +++ b/Source/Parallelization/InterpolateCurrentFineToCoarse.H @@ -5,8 +5,8 @@ * License: BSD-3-Clause-LBNL */ -#ifndef WARPX_CURRENTSYNCHRONIZE_H -#define WARPX_CURRENTSYNCHRONIZE_H +#ifndef INTERPOLATECURRENTFINETOCOARSE_H +#define INTERPOLATECURRENTFINETOCOARSE_H #include <AMReX_Array4.H> #include <AMReX_REAL.H> @@ -14,7 +14,7 @@ #include <AMReX_Extension.H> #include <AMReX_GpuQualifiers.H> -#include <utility> // std::move +#include <utility> // std::move /** Fill a current coarse patch with averaged values from a fine patch @@ -25,7 +25,7 @@ * @tparam IDim j-field component on which the averaging is performed */ template< int IDim > -class WarpxSyncCurrent +class InterpolateCurrentFineToCoarse { public: /** Construct with fine and coarse patch and their refinement ratio @@ -36,9 +36,9 @@ public: * (currently, only a value of is implemented) */ AMREX_GPU_HOST_DEVICE AMREX_FORCE_INLINE - WarpxSyncCurrent( - amrex::Array4<amrex::Real const> const fine, - amrex::Array4<amrex::Real > const coarse, + InterpolateCurrentFineToCoarse( + amrex::Array4< amrex::Real const > const fine, + amrex::Array4< amrex::Real > const coarse, int const refinement_ratio ) : m_fine(std::move(fine)), m_coarse(std::move(coarse)), @@ -54,7 +54,7 @@ public: int const i, int const j, int const k - ) const noexcept // TODO rename to jkl + ) const noexcept { auto const & fine_unsafe = m_fine; // out-of-bounds access not secured with zero-values yet auto const & coarse = m_coarse; // out-of-bounds access not secured but will also not occur @@ -172,4 +172,4 @@ private: int m_refinement_ratio; }; -#endif //WARPX_CURRENTSYNCHRONIZE_H +#endif // INTERPOLATECURRENTFINETOCOARSE_H diff --git a/Source/Parallelization/WarpXComm.cpp b/Source/Parallelization/WarpXComm.cpp index 40f8203a9..4f870e79c 100644 --- a/Source/Parallelization/WarpXComm.cpp +++ b/Source/Parallelization/WarpXComm.cpp @@ -2,7 +2,7 @@ #include <WarpX.H> #include <WarpX_f.H> #include <WarpXSumGuardCells.H> -#include <Parallelization/CurrentSynchronize.H> +#include <Parallelization/InterpolateCurrentFineToCoarse.H> #include <algorithm> #include <cstdlib> @@ -337,7 +337,7 @@ WarpX::SyncCurrent () std::array< MultiFab*,3> crse { current_cp[lev][0].get(), current_cp[lev][1].get(), current_cp[lev][2].get() }; - SyncCurrent(fine, crse, refinement_ratio[0]); + interpolateCurrentFineToCoarse(fine, crse, refinement_ratio[0]); } // For each level @@ -350,10 +350,11 @@ WarpX::SyncCurrent () } void -WarpX::SyncCurrent (const std::array<const amrex::MultiFab*,3>& fine, - const std::array< amrex::MultiFab*,3>& coarse, - int const refinement_ratio) +WarpX::interpolateCurrentFineToCoarse ( std::array< amrex::MultiFab const *, 3 > const & fine, + std::array< amrex::MultiFab *, 3 > const & coarse, + int const refinement_ratio) { + BL_PROFILE("InterpolateCurrentFineToCoarse()"); BL_ASSERT(refinement_ratio == 2); const IntVect& ng = (fine[0]->nGrowVect() + 1) / refinement_ratio; // add equivalent no. of guards to coarse patch @@ -372,11 +373,11 @@ WarpX::SyncCurrent (const std::array<const amrex::MultiFab*,3>& fine, auto const & arrCoarse = coarse[idim]->array(mfi); if( idim == 0 ) - amrex::ParallelFor( bx, WarpxSyncCurrent<0>(arrFine, arrCoarse, refinement_ratio) ); + amrex::ParallelFor( bx, InterpolateCurrentFineToCoarse<0>(arrFine, arrCoarse, refinement_ratio) ); else if( idim == 1 ) - amrex::ParallelFor( bx, WarpxSyncCurrent<1>(arrFine, arrCoarse, refinement_ratio) ); + amrex::ParallelFor( bx, InterpolateCurrentFineToCoarse<1>(arrFine, arrCoarse, refinement_ratio) ); else if( idim == 2 ) - amrex::ParallelFor( bx, WarpxSyncCurrent<2>(arrFine, arrCoarse, refinement_ratio) ); + amrex::ParallelFor( bx, InterpolateCurrentFineToCoarse<2>(arrFine, arrCoarse, refinement_ratio) ); } } } @@ -452,7 +453,7 @@ WarpX::RestrictCurrentFromFineToCoarsePatch (int lev) std::array< MultiFab*,3> crse { current_cp[lev][0].get(), current_cp[lev][1].get(), current_cp[lev][2].get() }; - SyncCurrent(fine, crse, refinement_ratio[0]); + interpolateCurrentFineToCoarse(fine, crse, refinement_ratio[0]); } void diff --git a/Source/WarpX.H b/Source/WarpX.H index 9b9fb045c..c59802427 100644 --- a/Source/WarpX.H +++ b/Source/WarpX.H @@ -428,9 +428,9 @@ private: * \param[out] coarse coarse patches to interpolate to * \param[in] refinement_ratio integer ratio between the two */ - void SyncCurrent (const std::array<const amrex::MultiFab*,3>& fine, - const std::array< amrex::MultiFab*,3>& coarse, - int const refinement_ratio); + void interpolateCurrentFineToCoarse (std::array< amrex::MultiFab const *, 3 > const & fine, + std::array< amrex::MultiFab *, 3 > const & coarse, + int const refinement_ratio); /** \brief Fills the values of the charge density on the coarse patch by * averaging the values of the charge density of the fine patch (on the same level). |