Skip to content

Commit

Permalink
Clang tidy CI test: add several clang-analyzer-* checks to clang tidy…
Browse files Browse the repository at this point in the history
… CI test (#4684)

* Clang tidy CI test: add several clang-analyzer-* checks to clang tidy CI test

* address issues found with clang-tidy

* fix bug

* fix spaces

* simplify

* avoid using potentially confusing v[counter++] syntax

* disable clang-analyzer-optin.mpi.MPI-Checker

* make thread_required constexpr in mpi_init

* make thread_required constexpr in mpi_init

* disable clang-analyzer-optin.performance.Padding

* start using get_field_pointer

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* introduce AMREX_ASSUME

* update amrex

* using get_field_pointer more

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* use new function get_field_pointer

* use new functions to get fields and field pointers everywhere

* fix bug

* bugfixing

* add missing [[nodiscard]] and remove redundant [[nodiscard]]

* address issue related to auto* const found with clang-tidy

* fix bug

* fix issue found with clang tidy

* fixed bug

* fix bug

---------

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
  • Loading branch information
lucafedeli88 and pre-commit-ci[bot] authored Apr 1, 2024
1 parent 6a4ebd9 commit 0466145
Show file tree
Hide file tree
Showing 33 changed files with 574 additions and 411 deletions.
5 changes: 5 additions & 0 deletions .clang-tidy
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,11 @@ Checks: '
-bugprone-unchecked-optional-access,
cert-*,
-cert-err58-cpp,
clang-analyzer-*,
-clang-analyzer-optin.performance.Padding,
-clang-analyzer-optin.mpi.MPI-Checker,
-clang-analyzer-osx.*,
-clang-analyzer-optin.osx.*,
clang-diagnostic-*,
cppcoreguidelines-*,
-cppcoreguidelines-avoid-c-arrays,
Expand Down
37 changes: 19 additions & 18 deletions Source/BoundaryConditions/PML.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -678,23 +678,23 @@ PML::PML (const int lev, const BoxArray& grid_ba, const DistributionMapping& gri
const int ncompe = (m_dive_cleaning) ? 3 : 2;
const int ncompb = (m_divb_cleaning) ? 3 : 2;

const amrex::BoxArray ba_Ex = amrex::convert(ba, WarpX::GetInstance().getEfield_fp(0,0).ixType().toIntVect());
const amrex::BoxArray ba_Ey = amrex::convert(ba, WarpX::GetInstance().getEfield_fp(0,1).ixType().toIntVect());
const amrex::BoxArray ba_Ez = amrex::convert(ba, WarpX::GetInstance().getEfield_fp(0,2).ixType().toIntVect());
const amrex::BoxArray ba_Ex = amrex::convert(ba, WarpX::GetInstance().getField(FieldType::Efield_fp, 0,0).ixType().toIntVect());
const amrex::BoxArray ba_Ey = amrex::convert(ba, WarpX::GetInstance().getField(FieldType::Efield_fp, 0,1).ixType().toIntVect());
const amrex::BoxArray ba_Ez = amrex::convert(ba, WarpX::GetInstance().getField(FieldType::Efield_fp, 0,2).ixType().toIntVect());
WarpX::AllocInitMultiFab(pml_E_fp[0], ba_Ex, dm, ncompe, nge, lev, "pml_E_fp[x]", 0.0_rt);
WarpX::AllocInitMultiFab(pml_E_fp[1], ba_Ey, dm, ncompe, nge, lev, "pml_E_fp[y]", 0.0_rt);
WarpX::AllocInitMultiFab(pml_E_fp[2], ba_Ez, dm, ncompe, nge, lev, "pml_E_fp[z]", 0.0_rt);

const amrex::BoxArray ba_Bx = amrex::convert(ba, WarpX::GetInstance().getBfield_fp(0,0).ixType().toIntVect());
const amrex::BoxArray ba_By = amrex::convert(ba, WarpX::GetInstance().getBfield_fp(0,1).ixType().toIntVect());
const amrex::BoxArray ba_Bz = amrex::convert(ba, WarpX::GetInstance().getBfield_fp(0,2).ixType().toIntVect());
const amrex::BoxArray ba_Bx = amrex::convert(ba, WarpX::GetInstance().getField(FieldType::Bfield_fp, 0,0).ixType().toIntVect());
const amrex::BoxArray ba_By = amrex::convert(ba, WarpX::GetInstance().getField(FieldType::Bfield_fp, 0,1).ixType().toIntVect());
const amrex::BoxArray ba_Bz = amrex::convert(ba, WarpX::GetInstance().getField(FieldType::Bfield_fp, 0,2).ixType().toIntVect());
WarpX::AllocInitMultiFab(pml_B_fp[0], ba_Bx, dm, ncompb, ngb, lev, "pml_B_fp[x]", 0.0_rt);
WarpX::AllocInitMultiFab(pml_B_fp[1], ba_By, dm, ncompb, ngb, lev, "pml_B_fp[y]", 0.0_rt);
WarpX::AllocInitMultiFab(pml_B_fp[2], ba_Bz, dm, ncompb, ngb, lev, "pml_B_fp[z]", 0.0_rt);

const amrex::BoxArray ba_jx = amrex::convert(ba, WarpX::GetInstance().getcurrent_fp(0,0).ixType().toIntVect());
const amrex::BoxArray ba_jy = amrex::convert(ba, WarpX::GetInstance().getcurrent_fp(0,1).ixType().toIntVect());
const amrex::BoxArray ba_jz = amrex::convert(ba, WarpX::GetInstance().getcurrent_fp(0,2).ixType().toIntVect());
const amrex::BoxArray ba_jx = amrex::convert(ba, WarpX::GetInstance().getField(FieldType::current_fp, 0,0).ixType().toIntVect());
const amrex::BoxArray ba_jy = amrex::convert(ba, WarpX::GetInstance().getField(FieldType::current_fp, 0,1).ixType().toIntVect());
const amrex::BoxArray ba_jz = amrex::convert(ba, WarpX::GetInstance().getField(FieldType::current_fp, 0,2).ixType().toIntVect());
WarpX::AllocInitMultiFab(pml_j_fp[0], ba_jx, dm, 1, ngb, lev, "pml_j_fp[x]", 0.0_rt);
WarpX::AllocInitMultiFab(pml_j_fp[1], ba_jy, dm, 1, ngb, lev, "pml_j_fp[y]", 0.0_rt);
WarpX::AllocInitMultiFab(pml_j_fp[2], ba_jz, dm, 1, ngb, lev, "pml_j_fp[z]", 0.0_rt);
Expand Down Expand Up @@ -812,16 +812,17 @@ PML::PML (const int lev, const BoxArray& grid_ba, const DistributionMapping& gri
} else {
cdm.define(cba);
}
const amrex::BoxArray cba_Ex = amrex::convert(cba, WarpX::GetInstance().getEfield_cp(1,0).ixType().toIntVect());
const amrex::BoxArray cba_Ey = amrex::convert(cba, WarpX::GetInstance().getEfield_cp(1,1).ixType().toIntVect());
const amrex::BoxArray cba_Ez = amrex::convert(cba, WarpX::GetInstance().getEfield_cp(1,2).ixType().toIntVect());

const amrex::BoxArray cba_Ex = amrex::convert(cba, WarpX::GetInstance().getField(FieldType::Efield_cp, 1,0).ixType().toIntVect());
const amrex::BoxArray cba_Ey = amrex::convert(cba, WarpX::GetInstance().getField(FieldType::Efield_cp, 1,1).ixType().toIntVect());
const amrex::BoxArray cba_Ez = amrex::convert(cba, WarpX::GetInstance().getField(FieldType::Efield_cp, 1,2).ixType().toIntVect());
WarpX::AllocInitMultiFab(pml_E_cp[0], cba_Ex, cdm, ncompe, nge, lev, "pml_E_cp[x]", 0.0_rt);
WarpX::AllocInitMultiFab(pml_E_cp[1], cba_Ey, cdm, ncompe, nge, lev, "pml_E_cp[y]", 0.0_rt);
WarpX::AllocInitMultiFab(pml_E_cp[2], cba_Ez, cdm, ncompe, nge, lev, "pml_E_cp[z]", 0.0_rt);

const amrex::BoxArray cba_Bx = amrex::convert(cba, WarpX::GetInstance().getBfield_cp(1,0).ixType().toIntVect());
const amrex::BoxArray cba_By = amrex::convert(cba, WarpX::GetInstance().getBfield_cp(1,1).ixType().toIntVect());
const amrex::BoxArray cba_Bz = amrex::convert(cba, WarpX::GetInstance().getBfield_cp(1,2).ixType().toIntVect());
const amrex::BoxArray cba_Bx = amrex::convert(cba, WarpX::GetInstance().getField(FieldType::Bfield_cp, 1,0).ixType().toIntVect());
const amrex::BoxArray cba_By = amrex::convert(cba, WarpX::GetInstance().getField(FieldType::Bfield_cp, 1,1).ixType().toIntVect());
const amrex::BoxArray cba_Bz = amrex::convert(cba, WarpX::GetInstance().getField(FieldType::Bfield_cp, 1,2).ixType().toIntVect());
WarpX::AllocInitMultiFab(pml_B_cp[0], cba_Bx, cdm, ncompb, ngb, lev, "pml_B_cp[x]", 0.0_rt);
WarpX::AllocInitMultiFab(pml_B_cp[1], cba_By, cdm, ncompb, ngb, lev, "pml_B_cp[y]", 0.0_rt);
WarpX::AllocInitMultiFab(pml_B_cp[2], cba_Bz, cdm, ncompb, ngb, lev, "pml_B_cp[z]", 0.0_rt);
Expand All @@ -842,9 +843,9 @@ PML::PML (const int lev, const BoxArray& grid_ba, const DistributionMapping& gri
WarpX::AllocInitMultiFab( pml_G_cp, cba_G_nodal, cdm, 3, ngf, lev, "pml_G_cp", 0.0_rt);
}

const amrex::BoxArray cba_jx = amrex::convert(cba, WarpX::GetInstance().getcurrent_cp(1,0).ixType().toIntVect());
const amrex::BoxArray cba_jy = amrex::convert(cba, WarpX::GetInstance().getcurrent_cp(1,1).ixType().toIntVect());
const amrex::BoxArray cba_jz = amrex::convert(cba, WarpX::GetInstance().getcurrent_cp(1,2).ixType().toIntVect());
const amrex::BoxArray cba_jx = amrex::convert(cba, WarpX::GetInstance().getField(FieldType::current_cp, 1,0).ixType().toIntVect());
const amrex::BoxArray cba_jy = amrex::convert(cba, WarpX::GetInstance().getField(FieldType::current_cp, 1,1).ixType().toIntVect());
const amrex::BoxArray cba_jz = amrex::convert(cba, WarpX::GetInstance().getField(FieldType::current_cp, 1,2).ixType().toIntVect());
WarpX::AllocInitMultiFab(pml_j_cp[0], cba_jx, cdm, 1, ngb, lev, "pml_j_cp[x]", 0.0_rt);
WarpX::AllocInitMultiFab(pml_j_cp[1], cba_jy, cdm, 1, ngb, lev, "pml_j_cp[y]", 0.0_rt);
WarpX::AllocInitMultiFab(pml_j_cp[2], cba_jz, cdm, 1, ngb, lev, "pml_j_cp[z]", 0.0_rt);
Expand Down
8 changes: 4 additions & 4 deletions Source/BoundaryConditions/PML_RZ.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -41,15 +41,15 @@ PML_RZ::PML_RZ (const int lev, const amrex::BoxArray& grid_ba, const amrex::Dist
m_geom(geom)
{

const amrex::MultiFab & Er_fp = WarpX::GetInstance().getEfield_fp(lev,0);
const amrex::MultiFab & Et_fp = WarpX::GetInstance().getEfield_fp(lev,1);
const amrex::MultiFab & Er_fp = WarpX::GetInstance().getField(FieldType::Efield_fp, lev,0);
const amrex::MultiFab & Et_fp = WarpX::GetInstance().getField(FieldType::Efield_fp, lev,1);
const amrex::BoxArray ba_Er = amrex::convert(grid_ba, Er_fp.ixType().toIntVect());
const amrex::BoxArray ba_Et = amrex::convert(grid_ba, Et_fp.ixType().toIntVect());
WarpX::AllocInitMultiFab(pml_E_fp[0], ba_Er, grid_dm, Er_fp.nComp(), Er_fp.nGrowVect(), lev, "pml_E_fp[0]", 0.0_rt);
WarpX::AllocInitMultiFab(pml_E_fp[1], ba_Et, grid_dm, Et_fp.nComp(), Et_fp.nGrowVect(), lev, "pml_E_fp[1]", 0.0_rt);

const amrex::MultiFab & Br_fp = WarpX::GetInstance().getBfield_fp(lev,0);
const amrex::MultiFab & Bt_fp = WarpX::GetInstance().getBfield_fp(lev,1);
const amrex::MultiFab & Br_fp = WarpX::GetInstance().getField(FieldType::Bfield_fp, lev,0);
const amrex::MultiFab & Bt_fp = WarpX::GetInstance().getField(FieldType::Bfield_fp, lev,1);
const amrex::BoxArray ba_Br = amrex::convert(grid_ba, Br_fp.ixType().toIntVect());
const amrex::BoxArray ba_Bt = amrex::convert(grid_ba, Bt_fp.ixType().toIntVect());
WarpX::AllocInitMultiFab(pml_B_fp[0], ba_Br, grid_dm, Br_fp.nComp(), Br_fp.nGrowVect(), lev, "pml_B_fp[0]", 0.0_rt);
Expand Down
48 changes: 24 additions & 24 deletions Source/BoundaryConditions/WarpXFieldBoundaries.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -22,18 +22,18 @@ void WarpX::ApplyEfieldBoundary(const int lev, PatchType patch_type)
{
if (PEC::isAnyBoundaryPEC()) {
if (patch_type == PatchType::fine) {
PEC::ApplyPECtoEfield( { get_pointer_Efield_fp(lev, 0),
get_pointer_Efield_fp(lev, 1),
get_pointer_Efield_fp(lev, 2) }, lev, patch_type);
PEC::ApplyPECtoEfield( { getFieldPointer(FieldType::Efield_fp, lev, 0),
getFieldPointer(FieldType::Efield_fp, lev, 1),
getFieldPointer(FieldType::Efield_fp, lev, 2) }, lev, patch_type);
if (WarpX::isAnyBoundaryPML()) {
// apply pec on split E-fields in PML region
const bool split_pml_field = true;
PEC::ApplyPECtoEfield( pml[lev]->GetE_fp(), lev, patch_type, split_pml_field);
}
} else {
PEC::ApplyPECtoEfield( { get_pointer_Efield_cp(lev, 0),
get_pointer_Efield_cp(lev, 1),
get_pointer_Efield_cp(lev, 2) }, lev, patch_type);
PEC::ApplyPECtoEfield( { getFieldPointer(FieldType::Efield_cp, lev, 0),
getFieldPointer(FieldType::Efield_cp, lev, 1),
getFieldPointer(FieldType::Efield_cp, lev, 2) }, lev, patch_type);
if (WarpX::isAnyBoundaryPML()) {
// apply pec on split E-fields in PML region
const bool split_pml_field = true;
Expand All @@ -44,13 +44,13 @@ void WarpX::ApplyEfieldBoundary(const int lev, PatchType patch_type)

#ifdef WARPX_DIM_RZ
if (patch_type == PatchType::fine) {
ApplyFieldBoundaryOnAxis(get_pointer_Efield_fp(lev, 0),
get_pointer_Efield_fp(lev, 1),
get_pointer_Efield_fp(lev, 2), lev);
ApplyFieldBoundaryOnAxis(getFieldPointer(FieldType::Efield_fp, lev, 0),
getFieldPointer(FieldType::Efield_fp, lev, 1),
getFieldPointer(FieldType::Efield_fp, lev, 2), lev);
} else {
ApplyFieldBoundaryOnAxis(get_pointer_Efield_cp(lev, 0),
get_pointer_Efield_cp(lev, 1),
get_pointer_Efield_cp(lev, 2), lev);
ApplyFieldBoundaryOnAxis(getFieldPointer(FieldType::Efield_cp, lev, 0),
getFieldPointer(FieldType::Efield_cp, lev, 1),
getFieldPointer(FieldType::Efield_cp, lev, 2), lev);
}
#endif
}
Expand All @@ -59,13 +59,13 @@ void WarpX::ApplyBfieldBoundary (const int lev, PatchType patch_type, DtType a_d
{
if (PEC::isAnyBoundaryPEC()) {
if (patch_type == PatchType::fine) {
PEC::ApplyPECtoBfield( { get_pointer_Bfield_fp(lev, 0),
get_pointer_Bfield_fp(lev, 1),
get_pointer_Bfield_fp(lev, 2) }, lev, patch_type);
PEC::ApplyPECtoBfield( { getFieldPointer(FieldType::Bfield_fp, lev, 0),
getFieldPointer(FieldType::Bfield_fp, lev, 1),
getFieldPointer(FieldType::Bfield_fp, lev, 2) }, lev, patch_type);
} else {
PEC::ApplyPECtoBfield( { get_pointer_Bfield_cp(lev, 0),
get_pointer_Bfield_cp(lev, 1),
get_pointer_Bfield_cp(lev, 2) }, lev, patch_type);
PEC::ApplyPECtoBfield( { getFieldPointer(FieldType::Bfield_cp, lev, 0),
getFieldPointer(FieldType::Bfield_cp, lev, 1),
getFieldPointer(FieldType::Bfield_cp, lev, 2) }, lev, patch_type);
}
}

Expand All @@ -92,13 +92,13 @@ void WarpX::ApplyBfieldBoundary (const int lev, PatchType patch_type, DtType a_d

#ifdef WARPX_DIM_RZ
if (patch_type == PatchType::fine) {
ApplyFieldBoundaryOnAxis(get_pointer_Bfield_fp(lev, 0),
get_pointer_Bfield_fp(lev, 1),
get_pointer_Bfield_fp(lev, 2), lev);
ApplyFieldBoundaryOnAxis(getFieldPointer(FieldType::Bfield_fp, lev, 0),
getFieldPointer(FieldType::Bfield_fp, lev, 1),
getFieldPointer(FieldType::Bfield_fp, lev, 2), lev);
} else {
ApplyFieldBoundaryOnAxis(get_pointer_Bfield_cp(lev, 0),
get_pointer_Bfield_cp(lev, 1),
get_pointer_Bfield_cp(lev, 2), lev);
ApplyFieldBoundaryOnAxis(getFieldPointer(FieldType::Bfield_cp, lev, 0),
getFieldPointer(FieldType::Bfield_cp, lev, 1),
getFieldPointer(FieldType::Bfield_cp, lev, 2), lev);
}
#endif
}
Expand Down
Loading

0 comments on commit 0466145

Please sign in to comment.