aboutsummaryrefslogtreecommitdiff
path: root/Source/Parallelization
diff options
context:
space:
mode:
authorGravatar Luca Fedeli <luca.fedeli@cea.fr> 2020-10-19 10:17:46 +0200
committerGravatar GitHub <noreply@github.com> 2020-10-19 01:17:46 -0700
commit1e7de3b536c974327513d17f9aee156d93030825 (patch)
treefb5885e8fbbbfdd51d5d9efcc53c597a41b2fa1d /Source/Parallelization
parent1f8f4f74adf7d460c593752a83e3574cc5cc0589 (diff)
downloadWarpX-1e7de3b536c974327513d17f9aee156d93030825.tar.gz
WarpX-1e7de3b536c974327513d17f9aee156d93030825.tar.zst
WarpX-1e7de3b536c974327513d17f9aee156d93030825.zip
Replace wherever possible '.reset(new' with '= make_unique' (#1429)
* replace wherever possible .reset(new with = make_unique * fixed bug * fixed bug * revert WarpXOpenPMD.cpp to the original version * removed another .reset(new
Diffstat (limited to 'Source/Parallelization')
-rw-r--r--Source/Parallelization/WarpXComm.cpp13
-rw-r--r--Source/Parallelization/WarpXRegrid.cpp84
2 files changed, 52 insertions, 45 deletions
diff --git a/Source/Parallelization/WarpXComm.cpp b/Source/Parallelization/WarpXComm.cpp
index ac619a937..667be0696 100644
--- a/Source/Parallelization/WarpXComm.cpp
+++ b/Source/Parallelization/WarpXComm.cpp
@@ -14,6 +14,8 @@
#include <algorithm>
#include <cstdlib>
+#include <memory>
+
using namespace amrex;
void
@@ -114,12 +116,13 @@ WarpX::UpdateAuxilaryDataStagToNodal ()
Array<std::unique_ptr<MultiFab>,3> Btmp;
if (Bfield_cax[lev][0]) {
for (int i = 0; i < 3; ++i) {
- Btmp[i].reset(new MultiFab(*Bfield_cax[lev][i], amrex::make_alias, 0, 1));
+ Btmp[i] = std::make_unique<MultiFab>(
+ *Bfield_cax[lev][i], amrex::make_alias, 0, 1);
}
} else {
IntVect ngtmp = Bfield_aux[lev-1][0]->nGrowVect();
for (int i = 0; i < 3; ++i) {
- Btmp[i].reset(new MultiFab(cnba, dm, 1, ngtmp));
+ Btmp[i] = std::make_unique<MultiFab>(cnba, dm, 1, ngtmp);
}
}
// ParallelCopy from coarse level
@@ -162,12 +165,14 @@ WarpX::UpdateAuxilaryDataStagToNodal ()
Array<std::unique_ptr<MultiFab>,3> Etmp;
if (Efield_cax[lev][0]) {
for (int i = 0; i < 3; ++i) {
- Etmp[i].reset(new MultiFab(*Efield_cax[lev][i], amrex::make_alias, 0, 1));
+ Etmp[i] = std::make_unique<MultiFab>(
+ *Efield_cax[lev][i], amrex::make_alias, 0, 1);
}
} else {
IntVect ngtmp = Efield_aux[lev-1][0]->nGrowVect();
for (int i = 0; i < 3; ++i) {
- Etmp[i].reset(new MultiFab(cnba, dm, 1, ngtmp));
+ Etmp[i] = std::make_unique<MultiFab>(
+ cnba, dm, 1, ngtmp);
}
}
// ParallelCopy from coarse level
diff --git a/Source/Parallelization/WarpXRegrid.cpp b/Source/Parallelization/WarpXRegrid.cpp
index 374948aa8..1fdfd6564 100644
--- a/Source/Parallelization/WarpXRegrid.cpp
+++ b/Source/Parallelization/WarpXRegrid.cpp
@@ -11,6 +11,8 @@
#include <AMReX_BLProfiler.H>
+#include <memory>
+
using namespace amrex;
void
@@ -107,29 +109,29 @@ WarpX::RemakeLevel (int lev, Real /*time*/, const BoxArray& ba, const Distributi
{
{
const IntVect& ng = Bfield_fp[lev][idim]->nGrowVect();
- auto pmf = std::unique_ptr<MultiFab>(new MultiFab(Bfield_fp[lev][idim]->boxArray(),
- dm, Bfield_fp[lev][idim]->nComp(), ng));
+ auto pmf = std::make_unique<MultiFab>(Bfield_fp[lev][idim]->boxArray(),
+ dm, Bfield_fp[lev][idim]->nComp(), ng);
pmf->Redistribute(*Bfield_fp[lev][idim], 0, 0, Bfield_fp[lev][idim]->nComp(), ng);
Bfield_fp[lev][idim] = std::move(pmf);
}
{
const IntVect& ng = Efield_fp[lev][idim]->nGrowVect();
- auto pmf = std::unique_ptr<MultiFab>(new MultiFab(Efield_fp[lev][idim]->boxArray(),
- dm, Efield_fp[lev][idim]->nComp(), ng));
+ auto pmf = std::make_unique<MultiFab>(Efield_fp[lev][idim]->boxArray(),
+ dm, Efield_fp[lev][idim]->nComp(), ng);
pmf->Redistribute(*Efield_fp[lev][idim], 0, 0, Efield_fp[lev][idim]->nComp(), ng);
Efield_fp[lev][idim] = std::move(pmf);
}
{
const IntVect& ng = current_fp[lev][idim]->nGrowVect();
- auto pmf = std::unique_ptr<MultiFab>(new MultiFab(current_fp[lev][idim]->boxArray(),
- dm, current_fp[lev][idim]->nComp(), ng));
+ auto pmf = std::make_unique<MultiFab>(current_fp[lev][idim]->boxArray(),
+ dm, current_fp[lev][idim]->nComp(), ng);
current_fp[lev][idim] = std::move(pmf);
}
if (current_store[lev][idim])
{
const IntVect& ng = current_store[lev][idim]->nGrowVect();
- auto pmf = std::unique_ptr<MultiFab>(new MultiFab(current_store[lev][idim]->boxArray(),
- dm, current_store[lev][idim]->nComp(), ng));
+ auto pmf = std::make_unique<MultiFab>(current_store[lev][idim]->boxArray(),
+ dm, current_store[lev][idim]->nComp(), ng);
// no need to redistribute
current_store[lev][idim] = std::move(pmf);
}
@@ -137,8 +139,8 @@ WarpX::RemakeLevel (int lev, Real /*time*/, const BoxArray& ba, const Distributi
if (F_fp[lev] != nullptr) {
const IntVect& ng = F_fp[lev]->nGrowVect();
- auto pmf = std::unique_ptr<MultiFab>(new MultiFab(F_fp[lev]->boxArray(),
- dm, F_fp[lev]->nComp(), ng));
+ auto pmf = std::make_unique<MultiFab>(F_fp[lev]->boxArray(),
+ dm, F_fp[lev]->nComp(), ng);
pmf->Redistribute(*F_fp[lev], 0, 0, F_fp[lev]->nComp(), ng);
F_fp[lev] = std::move(pmf);
}
@@ -146,8 +148,8 @@ WarpX::RemakeLevel (int lev, Real /*time*/, const BoxArray& ba, const Distributi
if (rho_fp[lev] != nullptr) {
const int nc = rho_fp[lev]->nComp();
const IntVect& ng = rho_fp[lev]->nGrowVect();
- auto pmf = std::unique_ptr<MultiFab>(new MultiFab(rho_fp[lev]->boxArray(),
- dm, nc, ng));
+ auto pmf = std::make_unique<MultiFab>(rho_fp[lev]->boxArray(),
+ dm, nc, ng);
rho_fp[lev] = std::move(pmf);
}
@@ -155,23 +157,23 @@ WarpX::RemakeLevel (int lev, Real /*time*/, const BoxArray& ba, const Distributi
if (lev == 0 && Bfield_aux[0][0]->ixType() == Bfield_fp[0][0]->ixType())
{
for (int idim = 0; idim < 3; ++idim) {
- Bfield_aux[lev][idim].reset(new MultiFab(*Bfield_fp[lev][idim], amrex::make_alias, 0, Bfield_aux[lev][idim]->nComp()));
- Efield_aux[lev][idim].reset(new MultiFab(*Efield_fp[lev][idim], amrex::make_alias, 0, Efield_aux[lev][idim]->nComp()));
+ Bfield_aux[lev][idim] = std::make_unique<MultiFab>(*Bfield_fp[lev][idim], amrex::make_alias, 0, Bfield_aux[lev][idim]->nComp());
+ Efield_aux[lev][idim] = std::make_unique<MultiFab>(*Efield_fp[lev][idim], amrex::make_alias, 0, Efield_aux[lev][idim]->nComp());
}
} else {
for (int idim=0; idim < 3; ++idim)
{
{
const IntVect& ng = Bfield_aux[lev][idim]->nGrowVect();
- auto pmf = std::unique_ptr<MultiFab>(new MultiFab(Bfield_aux[lev][idim]->boxArray(),
- dm, Bfield_aux[lev][idim]->nComp(), ng));
+ auto pmf = std::make_unique<MultiFab>(Bfield_aux[lev][idim]->boxArray(),
+ dm, Bfield_aux[lev][idim]->nComp(), ng);
// pmf->Redistribute(*Bfield_aux[lev][idim], 0, 0, Bfield_aux[lev][idim]->nComp(), ng);
Bfield_aux[lev][idim] = std::move(pmf);
}
{
const IntVect& ng = Efield_aux[lev][idim]->nGrowVect();
- auto pmf = std::unique_ptr<MultiFab>(new MultiFab(Efield_aux[lev][idim]->boxArray(),
- dm, Efield_aux[lev][idim]->nComp(), ng));
+ auto pmf = std::make_unique<MultiFab>(Efield_aux[lev][idim]->boxArray(),
+ dm, Efield_aux[lev][idim]->nComp(), ng);
// pmf->Redistribute(*Efield_aux[lev][idim], 0, 0, Efield_aux[lev][idim]->nComp(), ng);
Efield_aux[lev][idim] = std::move(pmf);
}
@@ -184,30 +186,30 @@ WarpX::RemakeLevel (int lev, Real /*time*/, const BoxArray& ba, const Distributi
{
{
const IntVect& ng = Bfield_cp[lev][idim]->nGrowVect();
- auto pmf = std::unique_ptr<MultiFab>(new MultiFab(Bfield_cp[lev][idim]->boxArray(),
- dm, Bfield_cp[lev][idim]->nComp(), ng));
+ auto pmf = std::make_unique<MultiFab>(Bfield_cp[lev][idim]->boxArray(),
+ dm, Bfield_cp[lev][idim]->nComp(), ng);
pmf->Redistribute(*Bfield_cp[lev][idim], 0, 0, Bfield_cp[lev][idim]->nComp(), ng);
Bfield_cp[lev][idim] = std::move(pmf);
}
{
const IntVect& ng = Efield_cp[lev][idim]->nGrowVect();
- auto pmf = std::unique_ptr<MultiFab>(new MultiFab(Efield_cp[lev][idim]->boxArray(),
- dm, Efield_cp[lev][idim]->nComp(), ng));
+ auto pmf = std::make_unique<MultiFab>(Efield_cp[lev][idim]->boxArray(),
+ dm, Efield_cp[lev][idim]->nComp(), ng);
pmf->Redistribute(*Efield_cp[lev][idim], 0, 0, Efield_cp[lev][idim]->nComp(), ng);
Efield_cp[lev][idim] = std::move(pmf);
}
{
const IntVect& ng = current_cp[lev][idim]->nGrowVect();
- auto pmf = std::unique_ptr<MultiFab>( new MultiFab(current_cp[lev][idim]->boxArray(),
- dm, current_cp[lev][idim]->nComp(), ng));
+ auto pmf = std::make_unique<MultiFab>(current_cp[lev][idim]->boxArray(),
+ dm, current_cp[lev][idim]->nComp(), ng);
current_cp[lev][idim] = std::move(pmf);
}
}
if (F_cp[lev] != nullptr) {
const IntVect& ng = F_cp[lev]->nGrowVect();
- auto pmf = std::unique_ptr<MultiFab>(new MultiFab(F_cp[lev]->boxArray(),
- dm, F_cp[lev]->nComp(), ng));
+ auto pmf = std::make_unique<MultiFab>(F_cp[lev]->boxArray(),
+ dm, F_cp[lev]->nComp(), ng);
pmf->Redistribute(*F_cp[lev], 0, 0, F_cp[lev]->nComp(), ng);
F_cp[lev] = std::move(pmf);
}
@@ -215,8 +217,8 @@ WarpX::RemakeLevel (int lev, Real /*time*/, const BoxArray& ba, const Distributi
if (rho_cp[lev] != nullptr) {
const int nc = rho_cp[lev]->nComp();
const IntVect& ng = rho_cp[lev]->nGrowVect();
- auto pmf = std::unique_ptr<MultiFab>(new MultiFab(rho_cp[lev]->boxArray(),
- dm, nc, ng));
+ auto pmf = std::make_unique<MultiFab>(rho_cp[lev]->boxArray(),
+ dm, nc, ng);
rho_cp[lev] = std::move(pmf);
}
}
@@ -227,24 +229,24 @@ WarpX::RemakeLevel (int lev, Real /*time*/, const BoxArray& ba, const Distributi
if (Bfield_cax[lev][idim])
{
const IntVect& ng = Bfield_cax[lev][idim]->nGrowVect();
- auto pmf = std::unique_ptr<MultiFab>(new MultiFab(Bfield_cax[lev][idim]->boxArray(),
- dm, Bfield_cax[lev][idim]->nComp(), ng));
+ auto pmf = std::make_unique<MultiFab>(Bfield_cax[lev][idim]->boxArray(),
+ dm, Bfield_cax[lev][idim]->nComp(), ng);
// pmf->ParallelCopy(*Bfield_cax[lev][idim], 0, 0, Bfield_cax[lev][idim]->nComp(), ng, ng);
Bfield_cax[lev][idim] = std::move(pmf);
}
if (Efield_cax[lev][idim])
{
const IntVect& ng = Efield_cax[lev][idim]->nGrowVect();
- auto pmf = std::unique_ptr<MultiFab>(new MultiFab(Efield_cax[lev][idim]->boxArray(),
- dm, Efield_cax[lev][idim]->nComp(), ng));
+ auto pmf = std::make_unique<MultiFab>(Efield_cax[lev][idim]->boxArray(),
+ dm, Efield_cax[lev][idim]->nComp(), ng);
// pmf->ParallelCopy(*Efield_cax[lev][idim], 0, 0, Efield_cax[lev][idim]->nComp(), ng, ng);
Efield_cax[lev][idim] = std::move(pmf);
}
if (current_buf[lev][idim])
{
const IntVect& ng = current_buf[lev][idim]->nGrowVect();
- auto pmf = std::unique_ptr<MultiFab>(new MultiFab(current_buf[lev][idim]->boxArray(),
- dm, current_buf[lev][idim]->nComp(), ng));
+ auto pmf = std::make_unique<MultiFab>(current_buf[lev][idim]->boxArray(),
+ dm, current_buf[lev][idim]->nComp(), ng);
// pmf->ParallelCopy(*current_buf[lev][idim], 0, 0, current_buf[lev][idim]->nComp(), ng, ng);
current_buf[lev][idim] = std::move(pmf);
}
@@ -252,24 +254,24 @@ WarpX::RemakeLevel (int lev, Real /*time*/, const BoxArray& ba, const Distributi
if (charge_buf[lev])
{
const IntVect& ng = charge_buf[lev]->nGrowVect();
- auto pmf = std::unique_ptr<MultiFab>(new MultiFab(charge_buf[lev]->boxArray(),
- dm, charge_buf[lev]->nComp(), ng));
+ auto pmf = std::make_unique<MultiFab>(charge_buf[lev]->boxArray(),
+ dm, charge_buf[lev]->nComp(), ng);
// pmf->ParallelCopy(*charge_buf[lev][idim], 0, 0, charge_buf[lev]->nComp(), ng, ng);
charge_buf[lev] = std::move(pmf);
}
if (current_buffer_masks[lev])
{
const IntVect& ng = current_buffer_masks[lev]->nGrowVect();
- auto pmf = std::unique_ptr<iMultiFab>(new iMultiFab(current_buffer_masks[lev]->boxArray(),
- dm, current_buffer_masks[lev]->nComp(), ng));
+ auto pmf = std::make_unique<iMultiFab>(current_buffer_masks[lev]->boxArray(),
+ dm, current_buffer_masks[lev]->nComp(), ng);
// pmf->ParallelCopy(*current_buffer_masks[lev], 0, 0, current_buffer_masks[lev]->nComp(), ng, ng);
current_buffer_masks[lev] = std::move(pmf);
}
if (gather_buffer_masks[lev])
{
const IntVect& ng = gather_buffer_masks[lev]->nGrowVect();
- auto pmf = std::unique_ptr<iMultiFab>(new iMultiFab(gather_buffer_masks[lev]->boxArray(),
- dm, gather_buffer_masks[lev]->nComp(), ng));
+ auto pmf = std::make_unique<iMultiFab>(gather_buffer_masks[lev]->boxArray(),
+ dm, gather_buffer_masks[lev]->nComp(), ng);
// pmf->ParallelCopy(*gather_buffer_masks[lev], 0, 0, gather_buffer_masks[lev]->nComp(), ng, ng);
gather_buffer_masks[lev] = std::move(pmf);
}
@@ -277,7 +279,7 @@ WarpX::RemakeLevel (int lev, Real /*time*/, const BoxArray& ba, const Distributi
if (costs[lev] != nullptr)
{
- costs[lev].reset(new amrex::LayoutData<Real>(ba, dm));
+ costs[lev] = std::make_unique<LayoutData<Real>>(ba, dm);
for (int i : costs[lev]->IndexArray())
{
(*costs[lev])[i] = 0.0;