diff options
author | 2023-06-15 18:29:37 -0700 | |
---|---|---|
committer | 2023-06-16 01:29:37 +0000 | |
commit | b5417c201dbdf15ff086a4e3ac2e13c47dc98ed6 (patch) | |
tree | 843e4371d16382945e8aedfe371086b950082f9d /Source/FieldSolver | |
parent | 09dda773eadce6e9671bb6ad4f4d92e5b5100cfe (diff) | |
download | WarpX-b5417c201dbdf15ff086a4e3ac2e13c47dc98ed6.tar.gz WarpX-b5417c201dbdf15ff086a4e3ac2e13c47dc98ed6.tar.zst WarpX-b5417c201dbdf15ff086a4e3ac2e13c47dc98ed6.zip |
Generalize buffers for `SyncRho`, `SyncCurrent`, and related functions (#3995)
Diffstat (limited to 'Source/FieldSolver')
-rw-r--r-- | Source/FieldSolver/ElectrostaticSolver.cpp | 2 | ||||
-rw-r--r-- | Source/FieldSolver/MagnetostaticSolver/MagnetostaticSolver.cpp | 2 | ||||
-rw-r--r-- | Source/FieldSolver/WarpXPushFieldsEM.cpp | 6 |
3 files changed, 5 insertions, 5 deletions
diff --git a/Source/FieldSolver/ElectrostaticSolver.cpp b/Source/FieldSolver/ElectrostaticSolver.cpp index 9fea4974a..6089cdbf2 100644 --- a/Source/FieldSolver/ElectrostaticSolver.cpp +++ b/Source/FieldSolver/ElectrostaticSolver.cpp @@ -207,7 +207,7 @@ WarpX::AddSpaceChargeFieldLabFrame () // Deposit particle charge density (source of Poisson solver) mypc->DepositCharge(rho_fp, 0.0_rt); - SyncRho(rho_fp, rho_cp); // Apply filter, perform MPI exchange, interpolate across levels + SyncRho(rho_fp, rho_cp, charge_buf); // Apply filter, perform MPI exchange, interpolate across levels #ifndef WARPX_DIM_RZ for (int lev = 0; lev <= finestLevel(); lev++) { // Reflect density over PEC boundaries, if needed. diff --git a/Source/FieldSolver/MagnetostaticSolver/MagnetostaticSolver.cpp b/Source/FieldSolver/MagnetostaticSolver/MagnetostaticSolver.cpp index 9f91b2558..7bc4d4377 100644 --- a/Source/FieldSolver/MagnetostaticSolver/MagnetostaticSolver.cpp +++ b/Source/FieldSolver/MagnetostaticSolver/MagnetostaticSolver.cpp @@ -106,7 +106,7 @@ WarpX::AddMagnetostaticFieldLabFrame() } #endif - SyncCurrent(current_fp, current_cp); // Apply filter, perform MPI exchange, interpolate across levels + SyncCurrent(current_fp, current_cp, current_buf); // Apply filter, perform MPI exchange, interpolate across levels // set the boundary and current density potentials setVectorPotentialBC(vector_potential_fp_nodal); diff --git a/Source/FieldSolver/WarpXPushFieldsEM.cpp b/Source/FieldSolver/WarpXPushFieldsEM.cpp index 6e39c850b..d515462d7 100644 --- a/Source/FieldSolver/WarpXPushFieldsEM.cpp +++ b/Source/FieldSolver/WarpXPushFieldsEM.cpp @@ -724,8 +724,8 @@ WarpX::PushPSATD () PSATDBackwardTransformJ(current_fp, current_cp); // Synchronize J and rho - SyncCurrent(current_fp, current_cp); - SyncRho(rho_fp, rho_cp); + SyncCurrent(current_fp, current_cp, current_buf); + SyncRho(rho_fp, rho_cp, charge_buf); } else if (current_deposition_algo == CurrentDepositionAlgo::Vay) { @@ -746,7 +746,7 @@ WarpX::PushPSATD () // TODO This works only without mesh refinement const int lev = 0; SumBoundaryJ(current_fp, lev, Geom(lev).periodicity()); - SyncRho(rho_fp, rho_cp); + SyncRho(rho_fp, rho_cp, charge_buf); } // FFT of J and rho (if used) |