diff --git a/.clang-tidy b/.clang-tidy index 21f0343519c..5d2422af214 100644 --- a/.clang-tidy +++ b/.clang-tidy @@ -30,8 +30,6 @@ Checks: ' -modernize-use-trailing-return-type, mpi-*, performance-*, - -performance-unnecessary-copy-initialization, - -performance-unnecessary-value-param, portability-*, readability-*, -readability-convert-member-functions-to-static, diff --git a/Source/Diagnostics/BTD_Plotfile_Header_Impl.H b/Source/Diagnostics/BTD_Plotfile_Header_Impl.H index 0a22774bb8d..9d3250fa52f 100644 --- a/Source/Diagnostics/BTD_Plotfile_Header_Impl.H +++ b/Source/Diagnostics/BTD_Plotfile_Header_Impl.H @@ -200,12 +200,12 @@ class BTDMultiFabHeaderImpl */ void SetBox (int ibox, amrex::Box ba_box) { m_ba.set(ibox, ba_box); } /** Set Fab name of the ith fab to be written in the multifab Header file.*/ - void SetFabName (int ifab, std::string fodPrefix, std::string FabName, + void SetFabName (int ifab, const std::string& fodPrefix, const std::string& FabName, int FabHead); /** Set minimum value of all the components for the ith fab. */ - void SetMinVal (int ifab, amrex::Vector minval); + void SetMinVal (int ifab, const amrex::Vector& minval); /** Set maximum value of all the components for the ith fab. */ - void SetMaxVal (int ifab, amrex::Vector maxval); + void SetMaxVal (int ifab, const amrex::Vector& maxval); private: /** Header file path */ std::string m_Header_path; diff --git a/Source/Diagnostics/BTD_Plotfile_Header_Impl.cpp b/Source/Diagnostics/BTD_Plotfile_Header_Impl.cpp index cd3eb962405..4ec1c974f8e 100644 --- a/Source/Diagnostics/BTD_Plotfile_Header_Impl.cpp +++ b/Source/Diagnostics/BTD_Plotfile_Header_Impl.cpp @@ -323,7 +323,7 @@ BTDMultiFabHeaderImpl::ResizeFabData () } void -BTDMultiFabHeaderImpl::SetFabName (int ifab, std::string fodPrefix, std::string FabName, +BTDMultiFabHeaderImpl::SetFabName (int ifab, const std::string& fodPrefix, const std::string& FabName, int FabHead) { m_FabOnDiskPrefix[ifab] = fodPrefix; @@ -333,13 +333,13 @@ BTDMultiFabHeaderImpl::SetFabName (int ifab, std::string fodPrefix, std::string } void -BTDMultiFabHeaderImpl::SetMinVal (int ifab, amrex::Vector minval) +BTDMultiFabHeaderImpl::SetMinVal (int ifab, const amrex::Vector& minval) { CopyVec(m_minval[ifab], minval); } void -BTDMultiFabHeaderImpl::SetMaxVal (int ifab, amrex::Vector maxval) +BTDMultiFabHeaderImpl::SetMaxVal (int ifab, const amrex::Vector& maxval) { CopyVec(m_maxval[ifab], maxval); } diff --git a/Source/Diagnostics/BTDiagnostics.H b/Source/Diagnostics/BTDiagnostics.H index f6c44c777ea..679dd6b8fa4 100644 --- a/Source/Diagnostics/BTDiagnostics.H +++ b/Source/Diagnostics/BTDiagnostics.H @@ -28,7 +28,7 @@ class BTDiagnostics final : public Diagnostics { public: - BTDiagnostics (int i, std::string name); + BTDiagnostics (int i, const std::string& name); private: /** Whether to plot raw (i.e., NOT cell-centered) fields */ @@ -375,26 +375,26 @@ private: /** Interleave lab-frame meta-data of the buffers to be consistent * with the merged plotfile lab-frame data. */ - void InterleaveBufferAndSnapshotHeader ( std::string buffer_Header, - std::string snapshot_Header); + void InterleaveBufferAndSnapshotHeader (const std::string& buffer_Header, + const std::string& snapshot_Header); /** Interleave meta-data of the buffer multifabs to be consistent * with the merged plotfile lab-frame data. */ - void InterleaveFabArrayHeader (std::string Buffer_FabHeader_path, - std::string snapshot_FabHeader_path, - std::string newsnapshot_FabFilename); + void InterleaveFabArrayHeader (const std::string& Buffer_FabHeader_path, + const std::string& snapshot_FabHeader_path, + const std::string& newsnapshot_FabFilename); /** Interleave lab-frame metadata of the species header file in the buffers to * be consistent with the merged plotfile lab-frame data */ - void InterleaveSpeciesHeader(std::string buffer_species_Header_path, - std::string snapshot_species_Header_path, - std::string species_name, int new_data_index); + void InterleaveSpeciesHeader(const std::string& buffer_species_Header_path, + const std::string& snapshot_species_Header_path, + const std::string& species_name, int new_data_index); /** Interleave lab-frame metadata of the particle header file in the buffers to * be consistent with the merged plotfile lab-frame data */ - void InterleaveParticleDataHeader( std::string buffer_ParticleHdrFilename, - std::string snapshot_ParticleHdrFilename); + void InterleaveParticleDataHeader(const std::string& buffer_ParticleHdrFilename, + const std::string& snapshot_ParticleHdrFilename); /** Initialize particle functors for each species to compute the back-transformed lab-frame data. */ void InitializeParticleFunctors () override; diff --git a/Source/Diagnostics/BTDiagnostics.cpp b/Source/Diagnostics/BTDiagnostics.cpp index fd9c5c783c1..2422d1324af 100644 --- a/Source/Diagnostics/BTDiagnostics.cpp +++ b/Source/Diagnostics/BTDiagnostics.cpp @@ -52,8 +52,8 @@ namespace constexpr int permission_flag_rwxrxrx = 0755; } -BTDiagnostics::BTDiagnostics (int i, std::string name) - : Diagnostics(i, name) +BTDiagnostics::BTDiagnostics (int i, const std::string& name) + : Diagnostics{i, name} { ReadParameters(); } @@ -1290,8 +1290,8 @@ void BTDiagnostics::MergeBuffersForPlotfile (int i_snapshot) } void -BTDiagnostics::InterleaveBufferAndSnapshotHeader ( std::string buffer_Header_path, - std::string snapshot_Header_path) +BTDiagnostics::InterleaveBufferAndSnapshotHeader ( const std::string& buffer_Header_path, + const std::string& snapshot_Header_path) { BTDPlotfileHeaderImpl snapshot_HeaderImpl(snapshot_Header_path); snapshot_HeaderImpl.ReadHeaderData(); @@ -1335,9 +1335,9 @@ BTDiagnostics::InterleaveBufferAndSnapshotHeader ( std::string buffer_Header_pat void -BTDiagnostics::InterleaveFabArrayHeader (std::string Buffer_FabHeader_path, - std::string snapshot_FabHeader_path, - std::string newsnapshot_FabFilename) +BTDiagnostics::InterleaveFabArrayHeader(const std::string& Buffer_FabHeader_path, + const std::string& snapshot_FabHeader_path, + const std::string& newsnapshot_FabFilename) { BTDMultiFabHeaderImpl snapshot_FabHeader(snapshot_FabHeader_path); snapshot_FabHeader.ReadMultiFabHeader(); @@ -1365,9 +1365,9 @@ BTDiagnostics::InterleaveFabArrayHeader (std::string Buffer_FabHeader_path, } void -BTDiagnostics::InterleaveSpeciesHeader(std::string buffer_species_Header_path, - std::string snapshot_species_Header_path, - std::string species_name, const int new_data_index) +BTDiagnostics::InterleaveSpeciesHeader(const std::string& buffer_species_Header_path, + const std::string& snapshot_species_Header_path, + const std::string& species_name, const int new_data_index) { BTDSpeciesHeaderImpl BufferSpeciesHeader(buffer_species_Header_path, species_name); @@ -1389,8 +1389,8 @@ BTDiagnostics::InterleaveSpeciesHeader(std::string buffer_species_Header_path, } void -BTDiagnostics::InterleaveParticleDataHeader(std::string buffer_ParticleHdrFilename, - std::string snapshot_ParticleHdrFilename) +BTDiagnostics::InterleaveParticleDataHeader(const std::string& buffer_ParticleHdrFilename, + const std::string& snapshot_ParticleHdrFilename) { BTDParticleDataHeaderImpl BufferParticleHeader(buffer_ParticleHdrFilename); BufferParticleHeader.ReadHeader(); diff --git a/Source/Diagnostics/BoundaryScrapingDiagnostics.H b/Source/Diagnostics/BoundaryScrapingDiagnostics.H index 60d184c30e2..3e5fc1f19eb 100644 --- a/Source/Diagnostics/BoundaryScrapingDiagnostics.H +++ b/Source/Diagnostics/BoundaryScrapingDiagnostics.H @@ -23,7 +23,7 @@ public: * @param i index of diagnostics in MultiDiagnostics::alldiags * @param name diagnostics name in the inputs file */ - BoundaryScrapingDiagnostics (int i, std::string name); + BoundaryScrapingDiagnostics (int i, const std::string& name); private: /** Read relevant parameters for BoundaryScraping */ diff --git a/Source/Diagnostics/BoundaryScrapingDiagnostics.cpp b/Source/Diagnostics/BoundaryScrapingDiagnostics.cpp index 11ffce02f09..da1e5fdcc00 100644 --- a/Source/Diagnostics/BoundaryScrapingDiagnostics.cpp +++ b/Source/Diagnostics/BoundaryScrapingDiagnostics.cpp @@ -21,8 +21,8 @@ using namespace amrex::literals; -BoundaryScrapingDiagnostics::BoundaryScrapingDiagnostics (int i, std::string name) - : Diagnostics(i, name) +BoundaryScrapingDiagnostics::BoundaryScrapingDiagnostics (int i, const std::string& name) + : Diagnostics{i, name} { ReadParameters(); } diff --git a/Source/Diagnostics/ComputeDiagFunctors/ParticleReductionFunctor.H b/Source/Diagnostics/ComputeDiagFunctors/ParticleReductionFunctor.H index 56c4372fad8..7de9844a99e 100644 --- a/Source/Diagnostics/ComputeDiagFunctors/ParticleReductionFunctor.H +++ b/Source/Diagnostics/ComputeDiagFunctors/ParticleReductionFunctor.H @@ -30,9 +30,9 @@ public: * \param[in] ncomp Number of component of mf_src to cell-center in dst multifab. */ ParticleReductionFunctor(const amrex::MultiFab * mf_src, int lev, - amrex::IntVect crse_ratio, std::string fn_str, + amrex::IntVect crse_ratio, const std::string& fn_str, int ispec, bool do_average, - bool do_filter, std::string filter_str, + bool do_filter, const std::string& filter_str, int ncomp=1); /** \brief Compute the average of the function m_map_fn over each grid cell. diff --git a/Source/Diagnostics/ComputeDiagFunctors/ParticleReductionFunctor.cpp b/Source/Diagnostics/ComputeDiagFunctors/ParticleReductionFunctor.cpp index feb25c11183..15473890233 100644 --- a/Source/Diagnostics/ComputeDiagFunctors/ParticleReductionFunctor.cpp +++ b/Source/Diagnostics/ComputeDiagFunctors/ParticleReductionFunctor.cpp @@ -18,9 +18,9 @@ using namespace amrex::literals; ParticleReductionFunctor::ParticleReductionFunctor (const amrex::MultiFab* mf_src, const int lev, - const amrex::IntVect crse_ratio, const std::string fn_str, + const amrex::IntVect crse_ratio, const std::string& fn_str, const int ispec, const bool do_average, - const bool do_filter, const std::string filter_str, const int ncomp) + const bool do_filter, const std::string& filter_str, const int ncomp) : ComputeDiagFunctor(ncomp, crse_ratio), m_lev(lev), m_ispec(ispec), m_do_average(do_average), m_do_filter(do_filter) { // mf_src will not be used, let's make sure it's null. diff --git a/Source/Diagnostics/FlushFormats/FlushFormatPlotfile.cpp b/Source/Diagnostics/FlushFormats/FlushFormatPlotfile.cpp index 48361d90fc0..555ffb123e7 100644 --- a/Source/Diagnostics/FlushFormats/FlushFormatPlotfile.cpp +++ b/Source/Diagnostics/FlushFormats/FlushFormatPlotfile.cpp @@ -479,7 +479,7 @@ WriteZeroRawMF( const MultiFab& F, const DistributionMapping& dm, * coarse and fine patch to have the same shape. */ void -WriteCoarseVector( const std::string field_name, +WriteCoarseVector( const std::string& field_name, const MultiFab* Fx_cp, const MultiFab* Fy_cp, const MultiFab* Fz_cp, @@ -519,7 +519,7 @@ WriteCoarseVector( const std::string field_name, * coarse and fine patch to have the same shape. */ void -WriteCoarseScalar( const std::string field_name, +WriteCoarseScalar( const std::string& field_name, const MultiFab* F_cp, const MultiFab* F_fp, const DistributionMapping& dm, diff --git a/Source/Diagnostics/FlushFormats/FlushFormatSensei.H b/Source/Diagnostics/FlushFormats/FlushFormatSensei.H index d2ec9a5a4e0..45ea40077e4 100644 --- a/Source/Diagnostics/FlushFormats/FlushFormatSensei.H +++ b/Source/Diagnostics/FlushFormats/FlushFormatSensei.H @@ -45,7 +45,7 @@ public: * \param[in] amr_mesh an AmrMesh instance * \param[in] diag_name ParmParse scope string. */ - FlushFormatSensei (amrex::AmrMesh *amr_mesh, std::string diag_name); + FlushFormatSensei (amrex::AmrMesh *amr_mesh, const std::string& diag_name); /** Do in-situ visualization for field and particle data */ void WriteToFile ( diff --git a/Source/Diagnostics/FlushFormats/FlushFormatSensei.cpp b/Source/Diagnostics/FlushFormats/FlushFormatSensei.cpp index 348e1da4a00..468ed81ce18 100644 --- a/Source/Diagnostics/FlushFormats/FlushFormatSensei.cpp +++ b/Source/Diagnostics/FlushFormats/FlushFormatSensei.cpp @@ -8,7 +8,7 @@ #endif FlushFormatSensei::FlushFormatSensei (amrex::AmrMesh *amr_mesh, - std::string diag_name) : + const std::string& diag_name) : m_amr_mesh(amr_mesh) { #ifndef AMREX_USE_SENSEI_INSITU diff --git a/Source/Diagnostics/FullDiagnostics.H b/Source/Diagnostics/FullDiagnostics.H index 42b60c213f2..1b999a9b361 100644 --- a/Source/Diagnostics/FullDiagnostics.H +++ b/Source/Diagnostics/FullDiagnostics.H @@ -9,7 +9,7 @@ class FullDiagnostics final : public Diagnostics { public: - FullDiagnostics (int i, std::string name); + FullDiagnostics (int i, const std::string& name); private: /** Read user-requested parameters for full diagnostics */ void ReadParameters (); diff --git a/Source/Diagnostics/FullDiagnostics.cpp b/Source/Diagnostics/FullDiagnostics.cpp index 27fe7e48c66..bf4cd3f95fc 100644 --- a/Source/Diagnostics/FullDiagnostics.cpp +++ b/Source/Diagnostics/FullDiagnostics.cpp @@ -41,7 +41,7 @@ using namespace amrex::literals; -FullDiagnostics::FullDiagnostics (int i, std::string name): +FullDiagnostics::FullDiagnostics (int i, const std::string& name): Diagnostics{i, name}, m_solver_deposits_current{ (WarpX::electromagnetic_solver_id != ElectromagneticSolverAlgo::None) || diff --git a/Source/Diagnostics/ParticleDiag/ParticleDiag.H b/Source/Diagnostics/ParticleDiag/ParticleDiag.H index 7d8b5819f5f..e9f54d2e5e1 100644 --- a/Source/Diagnostics/ParticleDiag/ParticleDiag.H +++ b/Source/Diagnostics/ParticleDiag/ParticleDiag.H @@ -17,7 +17,8 @@ class ParticleDiag { public: - ParticleDiag(std::string diag_name, std::string name, WarpXParticleContainer* pc, PinnedMemoryParticleContainer *pinned_pc = nullptr); + ParticleDiag(const std::string& diag_name, const std::string& name, + WarpXParticleContainer* pc, PinnedMemoryParticleContainer *pinned_pc = nullptr); [[nodiscard]] WarpXParticleContainer* getParticleContainer() const { return m_pc; } [[nodiscard]] PinnedMemoryParticleContainer* getPinnedParticleContainer() const { return m_pinned_pc; } [[nodiscard]] std::string getSpeciesName() const { return m_name; } diff --git a/Source/Diagnostics/ParticleDiag/ParticleDiag.cpp b/Source/Diagnostics/ParticleDiag/ParticleDiag.cpp index 18fbb4f593b..9954fa24285 100644 --- a/Source/Diagnostics/ParticleDiag/ParticleDiag.cpp +++ b/Source/Diagnostics/ParticleDiag/ParticleDiag.cpp @@ -13,8 +13,10 @@ using namespace amrex; -ParticleDiag::ParticleDiag(std::string diag_name, std::string name, WarpXParticleContainer* pc, PinnedMemoryParticleContainer* pinned_pc) - : m_diag_name(diag_name), m_name(name), m_pc(pc), m_pinned_pc(pinned_pc) +ParticleDiag::ParticleDiag( + const std::string& diag_name, const std::string& name, + WarpXParticleContainer* pc, PinnedMemoryParticleContainer* pinned_pc): + m_diag_name(diag_name), m_name(name), m_pc(pc), m_pinned_pc(pinned_pc) { //variable to set m_plot_flags size const int plot_flag_size = pc->NumRealComps(); diff --git a/Source/Diagnostics/ReducedDiags/BeamRelevant.H b/Source/Diagnostics/ReducedDiags/BeamRelevant.H index 018ddef5463..ed410c72fc9 100644 --- a/Source/Diagnostics/ReducedDiags/BeamRelevant.H +++ b/Source/Diagnostics/ReducedDiags/BeamRelevant.H @@ -23,7 +23,7 @@ public: * constructor * @param[in] rd_name reduced diags names */ - BeamRelevant(std::string rd_name); + BeamRelevant(const std::string& rd_name); /// name of beam species std::string m_beam_name; diff --git a/Source/Diagnostics/ReducedDiags/BeamRelevant.cpp b/Source/Diagnostics/ReducedDiags/BeamRelevant.cpp index b78a7713abc..ae7d5230b4c 100644 --- a/Source/Diagnostics/ReducedDiags/BeamRelevant.cpp +++ b/Source/Diagnostics/ReducedDiags/BeamRelevant.cpp @@ -32,7 +32,7 @@ using namespace amrex; // constructor -BeamRelevant::BeamRelevant (std::string rd_name) +BeamRelevant::BeamRelevant (const std::string& rd_name) : ReducedDiags{rd_name} { // read beam name diff --git a/Source/Diagnostics/ReducedDiags/ChargeOnEB.H b/Source/Diagnostics/ReducedDiags/ChargeOnEB.H index ed69ce01767..3cea5b0b30e 100644 --- a/Source/Diagnostics/ReducedDiags/ChargeOnEB.H +++ b/Source/Diagnostics/ReducedDiags/ChargeOnEB.H @@ -33,7 +33,7 @@ public: * constructor * @param[in] rd_name reduced diags names */ - ChargeOnEB (std::string rd_name); + ChargeOnEB (const std::string& rd_name); /** * This function computes the charge at the surface of the EB: diff --git a/Source/Diagnostics/ReducedDiags/ChargeOnEB.cpp b/Source/Diagnostics/ReducedDiags/ChargeOnEB.cpp index c6f75e4a712..1398072a84d 100644 --- a/Source/Diagnostics/ReducedDiags/ChargeOnEB.cpp +++ b/Source/Diagnostics/ReducedDiags/ChargeOnEB.cpp @@ -28,7 +28,7 @@ using namespace amrex; // constructor -ChargeOnEB::ChargeOnEB (std::string rd_name) +ChargeOnEB::ChargeOnEB (const std::string& rd_name) : ReducedDiags{rd_name} { // Only 3D is working for now diff --git a/Source/Diagnostics/ReducedDiags/ColliderRelevant.H b/Source/Diagnostics/ReducedDiags/ColliderRelevant.H index fe00dd2e7e3..3b93eb1ed25 100644 --- a/Source/Diagnostics/ReducedDiags/ColliderRelevant.H +++ b/Source/Diagnostics/ReducedDiags/ColliderRelevant.H @@ -26,7 +26,7 @@ public: * constructor * @param[in] rd_name reduced diags names */ - ColliderRelevant(std::string rd_name); + ColliderRelevant(const std::string& rd_name); /// name of the two colliding species std::vector m_beam_name; diff --git a/Source/Diagnostics/ReducedDiags/ColliderRelevant.cpp b/Source/Diagnostics/ReducedDiags/ColliderRelevant.cpp index 4cd1a66f3f2..3229f10c89e 100644 --- a/Source/Diagnostics/ReducedDiags/ColliderRelevant.cpp +++ b/Source/Diagnostics/ReducedDiags/ColliderRelevant.cpp @@ -59,8 +59,8 @@ using namespace amrex; -ColliderRelevant::ColliderRelevant (std::string rd_name) -: ReducedDiags{std::move(rd_name)} +ColliderRelevant::ColliderRelevant (const std::string& rd_name) +: ReducedDiags{rd_name} { // read colliding species names - must be 2 const amrex::ParmParse pp_rd_name(m_rd_name); diff --git a/Source/Diagnostics/ReducedDiags/FieldEnergy.H b/Source/Diagnostics/ReducedDiags/FieldEnergy.H index 4f5d1656841..40de174526e 100644 --- a/Source/Diagnostics/ReducedDiags/FieldEnergy.H +++ b/Source/Diagnostics/ReducedDiags/FieldEnergy.H @@ -26,7 +26,7 @@ public: * constructor * @param[in] rd_name reduced diags names */ - FieldEnergy(std::string rd_name); + FieldEnergy(const std::string& rd_name); /** * This function computes the field energy (EF): diff --git a/Source/Diagnostics/ReducedDiags/FieldEnergy.cpp b/Source/Diagnostics/ReducedDiags/FieldEnergy.cpp index a88690f863f..1271e285c6c 100644 --- a/Source/Diagnostics/ReducedDiags/FieldEnergy.cpp +++ b/Source/Diagnostics/ReducedDiags/FieldEnergy.cpp @@ -30,7 +30,7 @@ using namespace amrex; // constructor -FieldEnergy::FieldEnergy (std::string rd_name) +FieldEnergy::FieldEnergy (const std::string& rd_name) : ReducedDiags{rd_name} { diff --git a/Source/Diagnostics/ReducedDiags/FieldMaximum.H b/Source/Diagnostics/ReducedDiags/FieldMaximum.H index 95ae6ff16da..1d7cf4d236c 100644 --- a/Source/Diagnostics/ReducedDiags/FieldMaximum.H +++ b/Source/Diagnostics/ReducedDiags/FieldMaximum.H @@ -24,7 +24,7 @@ public: * constructor * @param[in] rd_name reduced diags names */ - FieldMaximum(std::string rd_name); + FieldMaximum(const std::string& rd_name); /** * This function computes the maximum value of Ex, Ey, Ez, |E|, Bx, By, Bz and |B| diff --git a/Source/Diagnostics/ReducedDiags/FieldMaximum.cpp b/Source/Diagnostics/ReducedDiags/FieldMaximum.cpp index 6465ee2be1b..8c66404056b 100644 --- a/Source/Diagnostics/ReducedDiags/FieldMaximum.cpp +++ b/Source/Diagnostics/ReducedDiags/FieldMaximum.cpp @@ -40,7 +40,7 @@ using namespace amrex; // constructor -FieldMaximum::FieldMaximum (std::string rd_name) +FieldMaximum::FieldMaximum (const std::string& rd_name) : ReducedDiags{rd_name} { // RZ coordinate is not working diff --git a/Source/Diagnostics/ReducedDiags/FieldMomentum.H b/Source/Diagnostics/ReducedDiags/FieldMomentum.H index 0f04b6413d1..99eabf3772f 100644 --- a/Source/Diagnostics/ReducedDiags/FieldMomentum.H +++ b/Source/Diagnostics/ReducedDiags/FieldMomentum.H @@ -24,7 +24,7 @@ public: * * \param[in] rd_name reduced diags names */ - FieldMomentum(std::string rd_name); + FieldMomentum(const std::string& rd_name); /** * \brief This function computes the electromagnetic momentum, diff --git a/Source/Diagnostics/ReducedDiags/FieldMomentum.cpp b/Source/Diagnostics/ReducedDiags/FieldMomentum.cpp index fe2040e50d2..3b3b7463593 100644 --- a/Source/Diagnostics/ReducedDiags/FieldMomentum.cpp +++ b/Source/Diagnostics/ReducedDiags/FieldMomentum.cpp @@ -38,7 +38,7 @@ using namespace amrex; -FieldMomentum::FieldMomentum (std::string rd_name) +FieldMomentum::FieldMomentum (const std::string& rd_name) : ReducedDiags{rd_name} { // RZ coordinate is not working diff --git a/Source/Diagnostics/ReducedDiags/FieldProbe.H b/Source/Diagnostics/ReducedDiags/FieldProbe.H index 9f318c4f8a0..a7c04649999 100644 --- a/Source/Diagnostics/ReducedDiags/FieldProbe.H +++ b/Source/Diagnostics/ReducedDiags/FieldProbe.H @@ -41,7 +41,7 @@ public: * constructor * @param[in] rd_name reduced diags names */ - FieldProbe (std::string rd_name); + FieldProbe (const std::string& rd_name); /** * This function assins test/data particles to constructed environemnt diff --git a/Source/Diagnostics/ReducedDiags/FieldProbe.cpp b/Source/Diagnostics/ReducedDiags/FieldProbe.cpp index 24ad0e64ea8..f0780622d54 100644 --- a/Source/Diagnostics/ReducedDiags/FieldProbe.cpp +++ b/Source/Diagnostics/ReducedDiags/FieldProbe.cpp @@ -47,7 +47,7 @@ using namespace amrex; // constructor -FieldProbe::FieldProbe (std::string rd_name) +FieldProbe::FieldProbe (const std::string& rd_name) : ReducedDiags{rd_name}, m_probe(&WarpX::GetInstance()) { diff --git a/Source/Diagnostics/ReducedDiags/FieldReduction.H b/Source/Diagnostics/ReducedDiags/FieldReduction.H index e99c87ad14f..940222867b1 100644 --- a/Source/Diagnostics/ReducedDiags/FieldReduction.H +++ b/Source/Diagnostics/ReducedDiags/FieldReduction.H @@ -50,7 +50,7 @@ public: * constructor * @param[in] rd_name reduced diags names */ - FieldReduction(std::string rd_name); + FieldReduction(const std::string& rd_name); /** * This function is called at every time step, and if necessary calls the templated function diff --git a/Source/Diagnostics/ReducedDiags/FieldReduction.cpp b/Source/Diagnostics/ReducedDiags/FieldReduction.cpp index 85e4d4028e6..683ae1921d6 100644 --- a/Source/Diagnostics/ReducedDiags/FieldReduction.cpp +++ b/Source/Diagnostics/ReducedDiags/FieldReduction.cpp @@ -22,7 +22,7 @@ #include // constructor -FieldReduction::FieldReduction (std::string rd_name) +FieldReduction::FieldReduction (const std::string& rd_name) : ReducedDiags{rd_name} { using namespace amrex::literals; diff --git a/Source/Diagnostics/ReducedDiags/LoadBalanceCosts.H b/Source/Diagnostics/ReducedDiags/LoadBalanceCosts.H index 0ecb74d4bf5..cfba804d0f0 100644 --- a/Source/Diagnostics/ReducedDiags/LoadBalanceCosts.H +++ b/Source/Diagnostics/ReducedDiags/LoadBalanceCosts.H @@ -54,7 +54,7 @@ public: * constructor * @param[in] rd_name reduced diags names */ - LoadBalanceCosts(std::string rd_name); + LoadBalanceCosts(const std::string& rd_name); /** * This function updates the costs, given the current distribution mapping, diff --git a/Source/Diagnostics/ReducedDiags/LoadBalanceCosts.cpp b/Source/Diagnostics/ReducedDiags/LoadBalanceCosts.cpp index b4e07b51982..8af2c66711c 100644 --- a/Source/Diagnostics/ReducedDiags/LoadBalanceCosts.cpp +++ b/Source/Diagnostics/ReducedDiags/LoadBalanceCosts.cpp @@ -65,7 +65,7 @@ namespace } // constructor -LoadBalanceCosts::LoadBalanceCosts (std::string rd_name) +LoadBalanceCosts::LoadBalanceCosts (const std::string& rd_name) : ReducedDiags{rd_name} { } diff --git a/Source/Diagnostics/ReducedDiags/LoadBalanceEfficiency.H b/Source/Diagnostics/ReducedDiags/LoadBalanceEfficiency.H index a43868ccc5f..c58f78deedb 100644 --- a/Source/Diagnostics/ReducedDiags/LoadBalanceEfficiency.H +++ b/Source/Diagnostics/ReducedDiags/LoadBalanceEfficiency.H @@ -24,7 +24,7 @@ public: * constructor * @param[in] rd_name reduced diags names */ - LoadBalanceEfficiency(std::string rd_name); + LoadBalanceEfficiency(const std::string& rd_name); /** * This function gets the current load balance efficiency diff --git a/Source/Diagnostics/ReducedDiags/LoadBalanceEfficiency.cpp b/Source/Diagnostics/ReducedDiags/LoadBalanceEfficiency.cpp index 6dd066d5324..b6f3a58e670 100644 --- a/Source/Diagnostics/ReducedDiags/LoadBalanceEfficiency.cpp +++ b/Source/Diagnostics/ReducedDiags/LoadBalanceEfficiency.cpp @@ -20,7 +20,7 @@ using namespace amrex; // constructor -LoadBalanceEfficiency::LoadBalanceEfficiency (std::string rd_name) +LoadBalanceEfficiency::LoadBalanceEfficiency (const std::string& rd_name) : ReducedDiags{rd_name} { // read number of levels diff --git a/Source/Diagnostics/ReducedDiags/ParticleEnergy.H b/Source/Diagnostics/ReducedDiags/ParticleEnergy.H index b0df66709f3..cb3fb8c4f08 100644 --- a/Source/Diagnostics/ReducedDiags/ParticleEnergy.H +++ b/Source/Diagnostics/ReducedDiags/ParticleEnergy.H @@ -25,7 +25,7 @@ public: * constructor * @param[in] rd_name reduced diags names */ - ParticleEnergy(std::string rd_name); + ParticleEnergy(const std::string& rd_name); /** * This function computes the particle relativistic kinetic energy (EP). diff --git a/Source/Diagnostics/ReducedDiags/ParticleEnergy.cpp b/Source/Diagnostics/ReducedDiags/ParticleEnergy.cpp index 157b4bfb368..9446af5e20c 100644 --- a/Source/Diagnostics/ReducedDiags/ParticleEnergy.cpp +++ b/Source/Diagnostics/ReducedDiags/ParticleEnergy.cpp @@ -34,7 +34,7 @@ using namespace amrex; // constructor -ParticleEnergy::ParticleEnergy (std::string rd_name) +ParticleEnergy::ParticleEnergy (const std::string& rd_name) : ReducedDiags{rd_name} { // get a reference to WarpX instance diff --git a/Source/Diagnostics/ReducedDiags/ParticleExtrema.H b/Source/Diagnostics/ReducedDiags/ParticleExtrema.H index ed5cce1d7e0..d3505b5ccf7 100644 --- a/Source/Diagnostics/ReducedDiags/ParticleExtrema.H +++ b/Source/Diagnostics/ReducedDiags/ParticleExtrema.H @@ -25,7 +25,7 @@ public: * constructor * @param[in] rd_name reduced diags names */ - ParticleExtrema(std::string rd_name); + ParticleExtrema(const std::string& rd_name); /// name of species std::string m_species_name; diff --git a/Source/Diagnostics/ReducedDiags/ParticleExtrema.cpp b/Source/Diagnostics/ReducedDiags/ParticleExtrema.cpp index ba8e7e373de..0414d9ce869 100644 --- a/Source/Diagnostics/ReducedDiags/ParticleExtrema.cpp +++ b/Source/Diagnostics/ReducedDiags/ParticleExtrema.cpp @@ -53,7 +53,7 @@ using namespace amrex; // constructor -ParticleExtrema::ParticleExtrema (std::string rd_name) +ParticleExtrema::ParticleExtrema (const std::string& rd_name) : ReducedDiags{rd_name} { // read species name diff --git a/Source/Diagnostics/ReducedDiags/ParticleHistogram.H b/Source/Diagnostics/ReducedDiags/ParticleHistogram.H index 758f4a399a9..39ccd8f1ace 100644 --- a/Source/Diagnostics/ReducedDiags/ParticleHistogram.H +++ b/Source/Diagnostics/ReducedDiags/ParticleHistogram.H @@ -28,7 +28,7 @@ public: * constructor * @param[in] rd_name reduced diags names */ - ParticleHistogram(std::string rd_name); + ParticleHistogram(const std::string& rd_name); /// normalization type int m_norm; diff --git a/Source/Diagnostics/ReducedDiags/ParticleHistogram.cpp b/Source/Diagnostics/ReducedDiags/ParticleHistogram.cpp index 512e6f1394a..4aeb2af526f 100644 --- a/Source/Diagnostics/ReducedDiags/ParticleHistogram.cpp +++ b/Source/Diagnostics/ReducedDiags/ParticleHistogram.cpp @@ -50,8 +50,8 @@ struct NormalizationType { }; // constructor -ParticleHistogram::ParticleHistogram (std::string rd_name): - ReducedDiags{rd_name} +ParticleHistogram::ParticleHistogram (const std::string& rd_name) +: ReducedDiags{rd_name} { const ParmParse pp_rd_name(rd_name); diff --git a/Source/Diagnostics/ReducedDiags/ParticleHistogram2D.H b/Source/Diagnostics/ReducedDiags/ParticleHistogram2D.H index 6ba85502819..0c648528920 100644 --- a/Source/Diagnostics/ReducedDiags/ParticleHistogram2D.H +++ b/Source/Diagnostics/ReducedDiags/ParticleHistogram2D.H @@ -30,7 +30,7 @@ public: * constructor * @param[in] rd_name reduced diags names */ - ParticleHistogram2D(std::string rd_name); + ParticleHistogram2D(const std::string& rd_name); /// File type std::string m_openpmd_backend {"default"}; diff --git a/Source/Diagnostics/ReducedDiags/ParticleHistogram2D.cpp b/Source/Diagnostics/ReducedDiags/ParticleHistogram2D.cpp index 0d696f8b7bc..8dd19186b25 100644 --- a/Source/Diagnostics/ReducedDiags/ParticleHistogram2D.cpp +++ b/Source/Diagnostics/ReducedDiags/ParticleHistogram2D.cpp @@ -54,7 +54,7 @@ using namespace amrex; // constructor -ParticleHistogram2D::ParticleHistogram2D (std::string rd_name) +ParticleHistogram2D::ParticleHistogram2D (const std::string& rd_name) : ReducedDiags{rd_name} { ParmParse pp_rd_name(rd_name); diff --git a/Source/Diagnostics/ReducedDiags/ParticleMomentum.H b/Source/Diagnostics/ReducedDiags/ParticleMomentum.H index feb8957e516..ea079f92e62 100644 --- a/Source/Diagnostics/ReducedDiags/ParticleMomentum.H +++ b/Source/Diagnostics/ReducedDiags/ParticleMomentum.H @@ -25,7 +25,7 @@ public: * * \param[in] rd_name reduced diags names */ - ParticleMomentum(std::string rd_name); + ParticleMomentum(const std::string& rd_name); /** * \brief This function computes the particle relativistic momentum, diff --git a/Source/Diagnostics/ReducedDiags/ParticleMomentum.cpp b/Source/Diagnostics/ReducedDiags/ParticleMomentum.cpp index 5f278d48f14..47d1ec2cdd4 100644 --- a/Source/Diagnostics/ReducedDiags/ParticleMomentum.cpp +++ b/Source/Diagnostics/ReducedDiags/ParticleMomentum.cpp @@ -32,7 +32,7 @@ using namespace amrex; -ParticleMomentum::ParticleMomentum (std::string rd_name) +ParticleMomentum::ParticleMomentum (const std::string& rd_name) : ReducedDiags{rd_name} { // Get a reference to WarpX instance diff --git a/Source/Diagnostics/ReducedDiags/ParticleNumber.H b/Source/Diagnostics/ReducedDiags/ParticleNumber.H index 3143a387a74..894048806ca 100644 --- a/Source/Diagnostics/ReducedDiags/ParticleNumber.H +++ b/Source/Diagnostics/ReducedDiags/ParticleNumber.H @@ -24,7 +24,7 @@ public: * constructor * @param[in] rd_name reduced diags names */ - ParticleNumber(std::string rd_name); + ParticleNumber(const std::string& rd_name); /** * This function computes the total number of macroparticles and physical particles of each diff --git a/Source/Diagnostics/ReducedDiags/ParticleNumber.cpp b/Source/Diagnostics/ReducedDiags/ParticleNumber.cpp index 7fe3f75d4ce..bfdf1daffe3 100644 --- a/Source/Diagnostics/ReducedDiags/ParticleNumber.cpp +++ b/Source/Diagnostics/ReducedDiags/ParticleNumber.cpp @@ -27,7 +27,7 @@ using namespace amrex::literals; // constructor -ParticleNumber::ParticleNumber (std::string rd_name) +ParticleNumber::ParticleNumber (const std::string& rd_name) : ReducedDiags{rd_name} { // get a reference to WarpX instance diff --git a/Source/Diagnostics/ReducedDiags/ReducedDiags.H b/Source/Diagnostics/ReducedDiags/ReducedDiags.H index 09aa85586be..2c942e1df6d 100644 --- a/Source/Diagnostics/ReducedDiags/ReducedDiags.H +++ b/Source/Diagnostics/ReducedDiags/ReducedDiags.H @@ -52,7 +52,7 @@ public: * constructor * @param[in] rd_name reduced diags names */ - ReducedDiags (std::string rd_name); + ReducedDiags (const std::string& rd_name); /** * Virtual destructor for polymorphism diff --git a/Source/Diagnostics/ReducedDiags/ReducedDiags.cpp b/Source/Diagnostics/ReducedDiags/ReducedDiags.cpp index 483f4c68ece..e3835dde416 100644 --- a/Source/Diagnostics/ReducedDiags/ReducedDiags.cpp +++ b/Source/Diagnostics/ReducedDiags/ReducedDiags.cpp @@ -23,8 +23,8 @@ using namespace amrex; // constructor -ReducedDiags::ReducedDiags (std::string rd_name) - : m_rd_name(std::move(rd_name)) +ReducedDiags::ReducedDiags (const std::string& rd_name): +m_rd_name{rd_name} { BackwardCompatibility(); diff --git a/Source/Diagnostics/ReducedDiags/RhoMaximum.H b/Source/Diagnostics/ReducedDiags/RhoMaximum.H index 6f306a5e7ad..ceff0f666e0 100644 --- a/Source/Diagnostics/ReducedDiags/RhoMaximum.H +++ b/Source/Diagnostics/ReducedDiags/RhoMaximum.H @@ -28,7 +28,7 @@ public: * constructor * @param[in] rd_name reduced diags names */ - RhoMaximum(std::string rd_name); + RhoMaximum(const std::string& rd_name); /** * This function computes the maximum and minimum values of rho (summed over all species) and diff --git a/Source/Diagnostics/ReducedDiags/RhoMaximum.cpp b/Source/Diagnostics/ReducedDiags/RhoMaximum.cpp index 4613a70b3b0..9902415d9a9 100644 --- a/Source/Diagnostics/ReducedDiags/RhoMaximum.cpp +++ b/Source/Diagnostics/ReducedDiags/RhoMaximum.cpp @@ -29,7 +29,7 @@ using namespace amrex::literals; // constructor -RhoMaximum::RhoMaximum (std::string rd_name) +RhoMaximum::RhoMaximum (const std::string& rd_name) : ReducedDiags{rd_name} { // RZ coordinate is not working diff --git a/Source/Diagnostics/SliceDiagnostic.H b/Source/Diagnostics/SliceDiagnostic.H index 000b01d470f..570f86d5384 100644 --- a/Source/Diagnostics/SliceDiagnostic.H +++ b/Source/Diagnostics/SliceDiagnostic.H @@ -25,10 +25,10 @@ void CheckSliceInput( amrex::RealBox real_box, amrex::IntVect &slice_hi, amrex::IntVect &interp_lo); void InterpolateSliceValues( amrex::MultiFab& smf, - amrex::IntVect interp_lo, amrex::RealBox slice_realbox, - amrex::Vector geom, int ncomp, int nghost, - amrex::IntVect slice_lo, amrex::IntVect slice_hi, - amrex::IntVect SliceType, amrex::RealBox real_box); + amrex::IntVect interp_lo, amrex::RealBox slice_realbox, + const amrex::Vector& geom, int ncomp, int nghost, + amrex::IntVect slice_lo, amrex::IntVect slice_hi, + amrex::IntVect SliceType, amrex::RealBox real_box); void InterpolateLo( const amrex::Box& bx, amrex::FArrayBox &fabox, amrex::IntVect slice_lo, amrex::Vector geom, diff --git a/Source/Diagnostics/SliceDiagnostic.cpp b/Source/Diagnostics/SliceDiagnostic.cpp index 71a585aea35..f373e78c9b2 100644 --- a/Source/Diagnostics/SliceDiagnostic.cpp +++ b/Source/Diagnostics/SliceDiagnostic.cpp @@ -419,7 +419,7 @@ CheckSliceInput( const RealBox real_box, RealBox &slice_cc_nd_box, */ void InterpolateSliceValues(MultiFab& smf, IntVect interp_lo, RealBox slice_realbox, - Vector geom, int ncomp, int nghost, + const Vector& geom, int ncomp, int nghost, IntVect slice_lo, IntVect /*slice_hi*/, IntVect SliceType, const RealBox real_box) { diff --git a/Source/Diagnostics/WarpXOpenPMD.H b/Source/Diagnostics/WarpXOpenPMD.H index 6c904790e15..12aa46de058 100644 --- a/Source/Diagnostics/WarpXOpenPMD.H +++ b/Source/Diagnostics/WarpXOpenPMD.H @@ -91,12 +91,12 @@ public: * @param authors a string specifying the authors of the simulation (can be empty) */ WarpXOpenPMDPlot (openPMD::IterationEncoding ie, - std::string filetype, - std::string operator_type, - std::map< std::string, std::string > operator_parameters, - std::string engine_type, - std::map< std::string, std::string > engine_parameters, - std::vector fieldPMLdirections, + const std::string& filetype, + const std::string& operator_type, + const std::map< std::string, std::string >& operator_parameters, + const std::string& engine_type, + const std::map< std::string, std::string >& engine_parameters, + const std::vector& fieldPMLdirections, const std::string& authors); ~WarpXOpenPMDPlot (); @@ -188,9 +188,9 @@ private: void SetupMeshComp ( openPMD::Mesh& mesh, - amrex::Geometry& full_geom, - std::string comp_name, - std::string field_name, + amrex::Geometry const& full_geom, + std::string const& comp_name, + std::string const& field_name, amrex::MultiFab const& mf, bool var_in_theta_mode ) const; diff --git a/Source/Diagnostics/WarpXOpenPMD.cpp b/Source/Diagnostics/WarpXOpenPMD.cpp index b55dbe79175..d90f3b45c96 100644 --- a/Source/Diagnostics/WarpXOpenPMD.cpp +++ b/Source/Diagnostics/WarpXOpenPMD.cpp @@ -343,7 +343,7 @@ namespace detail * set the metadata that indicates the physical unit. */ inline void - setOpenPMDUnit ( openPMD::Mesh mesh, const std::string field_name ) + setOpenPMDUnit ( openPMD::Mesh mesh, const std::string& field_name ) { if (field_name[0] == 'E'){ // Electric field mesh.setUnitDimension({ @@ -377,19 +377,19 @@ namespace detail #ifdef WARPX_USE_OPENPMD WarpXOpenPMDPlot::WarpXOpenPMDPlot ( openPMD::IterationEncoding ie, - std::string openPMDFileType, - std::string operator_type, - std::map< std::string, std::string > operator_parameters, - std::string engine_type, - std::map< std::string, std::string > engine_parameters, - std::vector fieldPMLdirections, + const std::string& openPMDFileType, + const std::string& operator_type, + const std::map< std::string, std::string >& operator_parameters, + const std::string& engine_type, + const std::map< std::string, std::string >& engine_parameters, + const std::vector& fieldPMLdirections, const std::string& authors) : m_Series(nullptr), m_MPIRank{amrex::ParallelDescriptor::MyProc()}, m_MPISize{amrex::ParallelDescriptor::NProcs()}, m_Encoding(ie), - m_OpenPMDFileType(std::move(openPMDFileType)), - m_fieldPMLdirections(std::move(fieldPMLdirections)), + m_OpenPMDFileType{openPMDFileType}, + m_fieldPMLdirections{fieldPMLdirections}, m_authors{authors} { m_OpenPMDoptions = detail::getSeriesOptions(operator_type, operator_parameters, @@ -816,7 +816,7 @@ WarpXOpenPMDPlot::SetupRealProperties (ParticleContainer const * pc, // the beam/input3d showed write_real_comp.size() = 16 while only 10 real comp names // so using the min to be safe. // - auto const getComponentRecord = [&currSpecies](std::string const comp_name) { + auto const getComponentRecord = [&currSpecies](std::string const& comp_name) { // handle scalar and non-scalar records by name const auto [record_name, component_name] = detail::name2openPMD(comp_name); return currSpecies[record_name][component_name]; @@ -893,7 +893,7 @@ WarpXOpenPMDPlot::SaveRealProperty (ParticleIter& pti, auto const numParticleOnTile64 = static_cast(numParticleOnTile); auto const& soa = pti.GetStructOfArrays(); - auto const getComponentRecord = [&currSpecies](std::string const comp_name) { + auto const getComponentRecord = [&currSpecies](std::string const& comp_name) { // handle scalar and non-scalar records by name const auto [record_name, component_name] = detail::name2openPMD(comp_name); return currSpecies[record_name][component_name]; @@ -1194,9 +1194,9 @@ WarpXOpenPMDPlot::SetupFields ( openPMD::Container< openPMD::Mesh >& meshes, */ void WarpXOpenPMDPlot::SetupMeshComp (openPMD::Mesh& mesh, - amrex::Geometry& full_geom, - std::string comp_name, - std::string field_name, + amrex::Geometry const& full_geom, + std::string const& comp_name, + std::string const& field_name, amrex::MultiFab const& mf, bool var_in_theta_mode) const { diff --git a/Source/FieldSolver/ElectrostaticSolver.H b/Source/FieldSolver/ElectrostaticSolver.H index 7fc6c9bf6da..0a2abe2d6b2 100644 --- a/Source/FieldSolver/ElectrostaticSolver.H +++ b/Source/FieldSolver/ElectrostaticSolver.H @@ -56,7 +56,7 @@ namespace ElectrostaticSolver { * * \param [in] potential The string value of the potential */ - void setPotentialEB (std::string potential) { + void setPotentialEB(const std::string& potential) { potential_eb_str = potential; buildParsersEB(); } diff --git a/Source/Initialization/WarpXInitData.cpp b/Source/Initialization/WarpXInitData.cpp index e3ec624be8e..5309b878f08 100644 --- a/Source/Initialization/WarpXInitData.cpp +++ b/Source/Initialization/WarpXInitData.cpp @@ -1337,8 +1337,8 @@ WarpX::LoadExternalFieldsFromFile (int const lev) #if defined(WARPX_USE_OPENPMD) && !defined(WARPX_DIM_1D_Z) && !defined(WARPX_DIM_XZ) void WarpX::ReadExternalFieldFromFile ( - std::string read_fields_from_path, amrex::MultiFab* mf, - std::string F_name, std::string F_component) + const std::string& read_fields_from_path, amrex::MultiFab* mf, + const std::string& F_name, const std::string& F_component) { // Get WarpX domain info auto& warpx = WarpX::GetInstance(); @@ -1514,7 +1514,7 @@ WarpX::ReadExternalFieldFromFile ( } // End function WarpX::ReadExternalFieldFromFile #else // WARPX_USE_OPENPMD && !WARPX_DIM_1D_Z && !defined(WARPX_DIM_XZ) void -WarpX::ReadExternalFieldFromFile (std::string , amrex::MultiFab* ,std::string, std::string) +WarpX::ReadExternalFieldFromFile (const std::string& , amrex::MultiFab* , const std::string& , const std::string& ) { #if defined(WARPX_DIM_1D_Z) WARPX_ABORT_WITH_MESSAGE("Reading fields from openPMD files is not supported in 1D"); diff --git a/Source/Laser/LaserProfiles.H b/Source/Laser/LaserProfiles.H index 3aea88ac956..c2a3f337fbf 100644 --- a/Source/Laser/LaserProfiles.H +++ b/Source/Laser/LaserProfiles.H @@ -286,7 +286,7 @@ private: /** \brief parse a field file in the HDF5 'lasy' format * \param lasy_file_name: name of the lasy file to parse */ - void parse_lasy_file(std::string lasy_file_name); + void parse_lasy_file(const std::string& lasy_file_name); /** \brief parse a field file in the binary 'binary' format (whose details are given below). * @@ -301,7 +301,7 @@ private: * The spatiotemporal grid must be rectangular and uniform. * \param binary_file_name: name of the binary file to parse */ - void parse_binary_file(std::string binary_file_name); + void parse_binary_file(const std::string& binary_file_name); /** \brief Finds left and right time indices corresponding to time t * diff --git a/Source/Laser/LaserProfilesImpl/LaserProfileFromFile.cpp b/Source/Laser/LaserProfilesImpl/LaserProfileFromFile.cpp index 0fdb45c64f8..934a537be5a 100644 --- a/Source/Laser/LaserProfilesImpl/LaserProfileFromFile.cpp +++ b/Source/Laser/LaserProfilesImpl/LaserProfileFromFile.cpp @@ -162,7 +162,7 @@ WarpXLaserProfiles::FromFileLaserProfile::fill_amplitude ( } void -WarpXLaserProfiles::FromFileLaserProfile::parse_lasy_file(std::string lasy_file_name) +WarpXLaserProfiles::FromFileLaserProfile::parse_lasy_file(const std::string& lasy_file_name) { #ifdef WARPX_USE_OPENPMD if(ParallelDescriptor::IOProcessor()){ @@ -237,7 +237,7 @@ WarpXLaserProfiles::FromFileLaserProfile::parse_lasy_file(std::string lasy_file_ } void -WarpXLaserProfiles::FromFileLaserProfile::parse_binary_file (std::string binary_file_name) +WarpXLaserProfiles::FromFileLaserProfile::parse_binary_file (const std::string& binary_file_name) { if(ParallelDescriptor::IOProcessor()){ std::ifstream inp(binary_file_name, std::ios::binary); diff --git a/Source/Parallelization/GuardCellManager.H b/Source/Parallelization/GuardCellManager.H index 38cef54921b..5c530441fc9 100644 --- a/Source/Parallelization/GuardCellManager.H +++ b/Source/Parallelization/GuardCellManager.H @@ -63,8 +63,8 @@ public: int nci_corr_stencil, int electromagnetic_solver_id, int max_level, - amrex::Vector v_galilean, - amrex::Vector v_comoving, + const amrex::Vector& v_galilean, + const amrex::Vector& v_comoving, bool safe_guard_cells, int do_multi_J, bool fft_do_time_averaging, diff --git a/Source/Parallelization/GuardCellManager.cpp b/Source/Parallelization/GuardCellManager.cpp index ae5ab839d10..dc7800f490a 100644 --- a/Source/Parallelization/GuardCellManager.cpp +++ b/Source/Parallelization/GuardCellManager.cpp @@ -44,8 +44,8 @@ guardCellManager::Init ( const int nci_corr_stencil, const int electromagnetic_solver_id, const int max_level, - const amrex::Vector v_galilean, - const amrex::Vector v_comoving, + const amrex::Vector& v_galilean, + const amrex::Vector& v_comoving, const bool safe_guard_cells, const int do_multi_J, const bool fft_do_time_averaging, diff --git a/Source/Particles/Collision/BackgroundMCC/BackgroundMCCCollision.H b/Source/Particles/Collision/BackgroundMCC/BackgroundMCCCollision.H index 1de6b999e0b..3fd8b4d6fc2 100644 --- a/Source/Particles/Collision/BackgroundMCC/BackgroundMCCCollision.H +++ b/Source/Particles/Collision/BackgroundMCC/BackgroundMCCCollision.H @@ -23,7 +23,7 @@ class BackgroundMCCCollision final : public CollisionBase { public: - BackgroundMCCCollision (std::string collision_name); + BackgroundMCCCollision (std::string const& collision_name); ~BackgroundMCCCollision () override = default; diff --git a/Source/Particles/Collision/BackgroundMCC/BackgroundMCCCollision.cpp b/Source/Particles/Collision/BackgroundMCC/BackgroundMCCCollision.cpp index 4cb16f6fa50..1eb89ff4c0f 100644 --- a/Source/Particles/Collision/BackgroundMCC/BackgroundMCCCollision.cpp +++ b/Source/Particles/Collision/BackgroundMCC/BackgroundMCCCollision.cpp @@ -21,7 +21,7 @@ #include -BackgroundMCCCollision::BackgroundMCCCollision (std::string const collision_name) +BackgroundMCCCollision::BackgroundMCCCollision (std::string const& collision_name) : CollisionBase(collision_name) { WARPX_ALWAYS_ASSERT_WITH_MESSAGE(m_species_names.size() == 1, diff --git a/Source/Particles/Collision/BackgroundStopping/BackgroundStopping.H b/Source/Particles/Collision/BackgroundStopping/BackgroundStopping.H index 55fa4b9e1e3..8ba9b6f1b31 100644 --- a/Source/Particles/Collision/BackgroundStopping/BackgroundStopping.H +++ b/Source/Particles/Collision/BackgroundStopping/BackgroundStopping.H @@ -24,7 +24,7 @@ class BackgroundStopping final : public CollisionBase { public: - BackgroundStopping (std::string collision_name); + BackgroundStopping (const std::string& collision_name); ~BackgroundStopping () override = default; diff --git a/Source/Particles/Collision/BackgroundStopping/BackgroundStopping.cpp b/Source/Particles/Collision/BackgroundStopping/BackgroundStopping.cpp index 8122d7225b4..517b1138295 100644 --- a/Source/Particles/Collision/BackgroundStopping/BackgroundStopping.cpp +++ b/Source/Particles/Collision/BackgroundStopping/BackgroundStopping.cpp @@ -16,7 +16,7 @@ #include -BackgroundStopping::BackgroundStopping (std::string const collision_name) +BackgroundStopping::BackgroundStopping (std::string const& collision_name) : CollisionBase(collision_name) { using namespace amrex::literals; diff --git a/Source/Particles/Collision/BinaryCollision/BinaryCollisionUtils.H b/Source/Particles/Collision/BinaryCollision/BinaryCollisionUtils.H index b8a390ddb93..f6aa8e6e303 100644 --- a/Source/Particles/Collision/BinaryCollision/BinaryCollisionUtils.H +++ b/Source/Particles/Collision/BinaryCollision/BinaryCollisionUtils.H @@ -31,10 +31,10 @@ enum struct NuclearFusionType { namespace BinaryCollisionUtils{ - NuclearFusionType get_nuclear_fusion_type (std::string collision_name, + NuclearFusionType get_nuclear_fusion_type (const std::string& collision_name, MultiParticleContainer const * mypc); - CollisionType get_collision_type (std::string collision_name, + CollisionType get_collision_type (const std::string& collision_name, MultiParticleContainer const * mypc); CollisionType nuclear_fusion_type_to_collision_type (NuclearFusionType fusion_type); diff --git a/Source/Particles/Collision/BinaryCollision/BinaryCollisionUtils.cpp b/Source/Particles/Collision/BinaryCollision/BinaryCollisionUtils.cpp index 430bac5e548..812be089462 100644 --- a/Source/Particles/Collision/BinaryCollision/BinaryCollisionUtils.cpp +++ b/Source/Particles/Collision/BinaryCollision/BinaryCollisionUtils.cpp @@ -17,7 +17,7 @@ namespace BinaryCollisionUtils{ - NuclearFusionType get_nuclear_fusion_type (const std::string collision_name, + NuclearFusionType get_nuclear_fusion_type (const std::string& collision_name, MultiParticleContainer const * const mypc) { const amrex::ParmParse pp_collision_name(collision_name); @@ -102,7 +102,7 @@ namespace BinaryCollisionUtils{ return NuclearFusionType::Undefined; } - CollisionType get_collision_type (const std::string collision_name, + CollisionType get_collision_type (const std::string& collision_name, MultiParticleContainer const * const mypc) { const amrex::ParmParse pp_collision_name(collision_name); diff --git a/Source/Particles/Collision/BinaryCollision/Coulomb/PairWiseCoulombCollisionFunc.H b/Source/Particles/Collision/BinaryCollision/Coulomb/PairWiseCoulombCollisionFunc.H index cfdc36d3c50..d1a92ee9716 100644 --- a/Source/Particles/Collision/BinaryCollision/Coulomb/PairWiseCoulombCollisionFunc.H +++ b/Source/Particles/Collision/BinaryCollision/Coulomb/PairWiseCoulombCollisionFunc.H @@ -46,7 +46,7 @@ public: * @param[in] mypc the particle container (unused) * @param[in] isSameSpecies true if this is an intra-species colission */ - PairWiseCoulombCollisionFunc (const std::string collision_name, + PairWiseCoulombCollisionFunc (const std::string& collision_name, [[maybe_unused]] MultiParticleContainer const * const mypc, const bool isSameSpecies): m_isSameSpecies{isSameSpecies} diff --git a/Source/Particles/Collision/BinaryCollision/DSMC/DSMC.H b/Source/Particles/Collision/BinaryCollision/DSMC/DSMC.H index ab01eba2c81..aa656a3d92e 100644 --- a/Source/Particles/Collision/BinaryCollision/DSMC/DSMC.H +++ b/Source/Particles/Collision/BinaryCollision/DSMC/DSMC.H @@ -50,7 +50,7 @@ public: * * @param[in] collision_name the name of the collision */ - DSMC (std::string collision_name); + DSMC (const std::string& collision_name); /** Perform the collisions * diff --git a/Source/Particles/Collision/BinaryCollision/DSMC/DSMC.cpp b/Source/Particles/Collision/BinaryCollision/DSMC/DSMC.cpp index 92ae3ddf257..8f309c3610a 100644 --- a/Source/Particles/Collision/BinaryCollision/DSMC/DSMC.cpp +++ b/Source/Particles/Collision/BinaryCollision/DSMC/DSMC.cpp @@ -11,8 +11,8 @@ #include "SplitAndScatterFunc.H" -DSMC::DSMC (const std::string collision_name) - : CollisionBase(collision_name) +DSMC::DSMC (const std::string& collision_name) + : CollisionBase{collision_name} { using namespace amrex::literals; const amrex::ParmParse pp_collision_name(collision_name); diff --git a/Source/Particles/Collision/BinaryCollision/NuclearFusion/NuclearFusionFunc.H b/Source/Particles/Collision/BinaryCollision/NuclearFusion/NuclearFusionFunc.H index b2a2112ca68..8f19364baec 100644 --- a/Source/Particles/Collision/BinaryCollision/NuclearFusion/NuclearFusionFunc.H +++ b/Source/Particles/Collision/BinaryCollision/NuclearFusion/NuclearFusionFunc.H @@ -56,11 +56,12 @@ public: * @param[in] mypc pointer to the MultiParticleContainer * @param[in] isSameSpecies whether the two colliding species are the same */ - NuclearFusionFunc (const std::string collision_name, MultiParticleContainer const * const mypc, + NuclearFusionFunc (const std::string& collision_name, MultiParticleContainer const * const mypc, const bool isSameSpecies): m_fusion_multiplier{amrex::ParticleReal{1.0}}, // default fusion multiplier m_probability_threshold{amrex::ParticleReal{0.02}}, // default fusion probability threshold m_probability_target_value{amrex::ParticleReal{0.002}}, // default fusion probability target_value + m_fusion_type{BinaryCollisionUtils::get_nuclear_fusion_type(collision_name, mypc)}, m_isSameSpecies{isSameSpecies} { @@ -68,8 +69,6 @@ public: WARPX_ABORT_WITH_MESSAGE("Nuclear fusion module does not currently work with single precision"); #endif - m_fusion_type = BinaryCollisionUtils::get_nuclear_fusion_type(collision_name, mypc); - const amrex::ParmParse pp_collision_name(collision_name); utils::parser::queryWithParser( pp_collision_name, "fusion_multiplier", m_fusion_multiplier); diff --git a/Source/Particles/Collision/BinaryCollision/ParticleCreationFunc.H b/Source/Particles/Collision/BinaryCollision/ParticleCreationFunc.H index d53ce4348fb..4a77006dd92 100644 --- a/Source/Particles/Collision/BinaryCollision/ParticleCreationFunc.H +++ b/Source/Particles/Collision/BinaryCollision/ParticleCreationFunc.H @@ -52,7 +52,7 @@ public: * @param[in] collision_name the name of the collision * @param[in] mypc pointer to the MultiParticleContainer */ - ParticleCreationFunc (std::string collision_name, MultiParticleContainer const * mypc); + ParticleCreationFunc (const std::string& collision_name, MultiParticleContainer const * mypc); /** * \brief operator() of the ParticleCreationFunc class. It creates new particles from binary @@ -318,7 +318,7 @@ class NoParticleCreationFunc public: NoParticleCreationFunc () = default; - NoParticleCreationFunc (const std::string /*collision_name*/, + NoParticleCreationFunc (const std::string& /*collision_name*/, MultiParticleContainer const * const /*mypc*/) {} AMREX_INLINE diff --git a/Source/Particles/Collision/BinaryCollision/ParticleCreationFunc.cpp b/Source/Particles/Collision/BinaryCollision/ParticleCreationFunc.cpp index 33629cd530f..3690c5d7295 100644 --- a/Source/Particles/Collision/BinaryCollision/ParticleCreationFunc.cpp +++ b/Source/Particles/Collision/BinaryCollision/ParticleCreationFunc.cpp @@ -17,13 +17,12 @@ #include -ParticleCreationFunc::ParticleCreationFunc (const std::string collision_name, - MultiParticleContainer const * const mypc) +ParticleCreationFunc::ParticleCreationFunc (const std::string& collision_name, + MultiParticleContainer const * const mypc): + m_collision_type{BinaryCollisionUtils::get_collision_type(collision_name, mypc)} { const amrex::ParmParse pp_collision_name(collision_name); - m_collision_type = BinaryCollisionUtils::get_collision_type(collision_name, mypc); - if (m_collision_type == CollisionType::ProtonBoronToAlphasFusion) { // Proton-Boron fusion only produces alpha particles diff --git a/Source/Particles/Collision/CollisionBase.H b/Source/Particles/Collision/CollisionBase.H index db79eaf1a01..21a5de6a38c 100644 --- a/Source/Particles/Collision/CollisionBase.H +++ b/Source/Particles/Collision/CollisionBase.H @@ -18,7 +18,7 @@ class CollisionBase { public: - CollisionBase (std::string collision_name); + CollisionBase (const std::string& collision_name); virtual void doCollisions (amrex::Real /*cur_time*/, amrex::Real /*dt*/, MultiParticleContainer* /*mypc*/ ){} diff --git a/Source/Particles/Collision/CollisionBase.cpp b/Source/Particles/Collision/CollisionBase.cpp index 8f799c83013..c8b4f76cbd2 100644 --- a/Source/Particles/Collision/CollisionBase.cpp +++ b/Source/Particles/Collision/CollisionBase.cpp @@ -10,7 +10,7 @@ #include -CollisionBase::CollisionBase (std::string collision_name) +CollisionBase::CollisionBase (const std::string& collision_name) { // read collision species diff --git a/Source/Particles/Collision/ScatteringProcess.H b/Source/Particles/Collision/ScatteringProcess.H index d05ea32e2fe..59ef7a02afb 100644 --- a/Source/Particles/Collision/ScatteringProcess.H +++ b/Source/Particles/Collision/ScatteringProcess.H @@ -57,7 +57,7 @@ public: */ static void readCrossSectionFile ( - std::string cross_section_file, + const std::string& cross_section_file, amrex::Vector& energies, amrex::Gpu::HostVector& sigmas ); diff --git a/Source/Particles/Collision/ScatteringProcess.cpp b/Source/Particles/Collision/ScatteringProcess.cpp index c15d11eea07..ea1b4b40f54 100644 --- a/Source/Particles/Collision/ScatteringProcess.cpp +++ b/Source/Particles/Collision/ScatteringProcess.cpp @@ -94,7 +94,7 @@ ScatteringProcess::parseProcessType(const std::string& scattering_process) void ScatteringProcess::readCrossSectionFile ( - const std::string cross_section_file, + const std::string& cross_section_file, amrex::Vector& energies, amrex::Gpu::HostVector& sigmas ) { diff --git a/Source/Particles/MultiParticleContainer.H b/Source/Particles/MultiParticleContainer.H index 9946a680fcd..0421febc475 100644 --- a/Source/Particles/MultiParticleContainer.H +++ b/Source/Particles/MultiParticleContainer.H @@ -249,7 +249,7 @@ public: * \param[in] species_name The species for which back-transformed particles is set. * \param[in] do_back_transformed_particles The parameter to set if back-transformed particles are set to true/false */ - void SetDoBackTransformedParticles (std::string species_name, bool do_back_transformed_particles); + void SetDoBackTransformedParticles (const std::string& species_name, bool do_back_transformed_particles); [[nodiscard]] int nSpeciesDepositOnMainGrid () const { @@ -330,7 +330,7 @@ public: const amrex::MultiFab& Bz); #endif - [[nodiscard]] int getSpeciesID (std::string product_str) const; + [[nodiscard]] int getSpeciesID (const std::string& product_str) const; amrex::Vector>::iterator begin() {return allcontainers.begin();} amrex::Vector>::iterator end() {return allcontainers.end();} diff --git a/Source/Particles/MultiParticleContainer.cpp b/Source/Particles/MultiParticleContainer.cpp index a31f426a0e4..b70844a8d15 100644 --- a/Source/Particles/MultiParticleContainer.cpp +++ b/Source/Particles/MultiParticleContainer.cpp @@ -803,7 +803,7 @@ MultiParticleContainer::mapSpeciesProduct () /* \brief Given a species name, return its ID. */ int -MultiParticleContainer::getSpeciesID (std::string product_str) const +MultiParticleContainer::getSpeciesID (const std::string& product_str) const { auto species_and_lasers_names = GetSpeciesAndLasersNames(); int i_product = 0; @@ -832,7 +832,7 @@ MultiParticleContainer::SetDoBackTransformedParticles (const bool do_back_transf } void -MultiParticleContainer::SetDoBackTransformedParticles (std::string species_name, const bool do_back_transformed_particles) { +MultiParticleContainer::SetDoBackTransformedParticles (const std::string& species_name, const bool do_back_transformed_particles) { auto species_names_list = GetSpeciesNames(); bool found = false; // Loop over species diff --git a/Source/Particles/ParticleBoundaryBuffer.H b/Source/Particles/ParticleBoundaryBuffer.H index 1e9748b2ff5..20bc63f7a19 100644 --- a/Source/Particles/ParticleBoundaryBuffer.H +++ b/Source/Particles/ParticleBoundaryBuffer.H @@ -48,11 +48,11 @@ public: void printNumParticles () const; - int getNumParticlesInContainer(std::string species_name, int boundary, bool local); + int getNumParticlesInContainer(const std::string& species_name, int boundary, bool local); - PinnedMemoryParticleContainer& getParticleBuffer(std::string species_name, int boundary); + PinnedMemoryParticleContainer& getParticleBuffer(const std::string& species_name, int boundary); - PinnedMemoryParticleContainer* getParticleBufferPointer(std::string species_name, int boundary); + PinnedMemoryParticleContainer* getParticleBufferPointer(const std::string& species_name, int boundary); static constexpr int numBoundaries () { return AMREX_SPACEDIM*2 diff --git a/Source/Particles/ParticleBoundaryBuffer.cpp b/Source/Particles/ParticleBoundaryBuffer.cpp index d1f9f814bc5..25b77ddc496 100644 --- a/Source/Particles/ParticleBoundaryBuffer.cpp +++ b/Source/Particles/ParticleBoundaryBuffer.cpp @@ -531,7 +531,7 @@ void ParticleBoundaryBuffer::gatherParticles (MultiParticleContainer& mypc, } int ParticleBoundaryBuffer::getNumParticlesInContainer( - const std::string species_name, int boundary, bool local) { + const std::string& species_name, int boundary, bool local) { auto& buffer = m_particle_containers[boundary]; auto index = WarpX::GetInstance().GetPartContainer().getSpeciesID(species_name); @@ -545,7 +545,7 @@ int ParticleBoundaryBuffer::getNumParticlesInContainer( } PinnedMemoryParticleContainer & -ParticleBoundaryBuffer::getParticleBuffer(const std::string species_name, int boundary) { +ParticleBoundaryBuffer::getParticleBuffer(const std::string& species_name, int boundary) { auto& buffer = m_particle_containers[boundary]; auto index = WarpX::GetInstance().GetPartContainer().getSpeciesID(species_name); @@ -560,7 +560,7 @@ ParticleBoundaryBuffer::getParticleBuffer(const std::string species_name, int bo } PinnedMemoryParticleContainer * -ParticleBoundaryBuffer::getParticleBufferPointer(const std::string species_name, int boundary) { +ParticleBoundaryBuffer::getParticleBufferPointer(const std::string& species_name, int boundary) { auto& buffer = m_particle_containers[boundary]; auto index = WarpX::GetInstance().GetPartContainer().getSpeciesID(species_name); diff --git a/Source/Particles/PhysicalParticleContainer.H b/Source/Particles/PhysicalParticleContainer.H index 286d0675da6..5d9b41b8b75 100644 --- a/Source/Particles/PhysicalParticleContainer.H +++ b/Source/Particles/PhysicalParticleContainer.H @@ -352,14 +352,14 @@ public: * @param[in] ptr the pointer */ void set_breit_wheeler_engine_ptr - (std::shared_ptr ptr) override; + (const std::shared_ptr& ptr) override; /** * Acquires a shared smart pointer to a QuantumSynchrotronEngine * @param[in] ptr the pointer */ void set_quantum_sync_engine_ptr - (std::shared_ptr ptr) override; + (const std::shared_ptr& ptr) override; //__________ BreitWheelerEngine* get_breit_wheeler_engine_ptr () const override { diff --git a/Source/Particles/PhysicalParticleContainer.cpp b/Source/Particles/PhysicalParticleContainer.cpp index 4adb5386a2a..9923d93a907 100644 --- a/Source/Particles/PhysicalParticleContainer.cpp +++ b/Source/Particles/PhysicalParticleContainer.cpp @@ -3392,14 +3392,14 @@ bool PhysicalParticleContainer::has_breit_wheeler () const void PhysicalParticleContainer:: -set_breit_wheeler_engine_ptr (std::shared_ptr ptr) +set_breit_wheeler_engine_ptr (const std::shared_ptr& ptr) { m_shr_p_bw_engine = ptr; } void PhysicalParticleContainer:: -set_quantum_sync_engine_ptr (std::shared_ptr ptr) +set_quantum_sync_engine_ptr (const std::shared_ptr& ptr) { m_shr_p_qs_engine = ptr; } diff --git a/Source/Particles/Resampling/LevelingThinning.H b/Source/Particles/Resampling/LevelingThinning.H index fa05525e270..9e3e63fc8be 100644 --- a/Source/Particles/Resampling/LevelingThinning.H +++ b/Source/Particles/Resampling/LevelingThinning.H @@ -36,7 +36,7 @@ public: * * @param[in] species_name the name of the resampled species */ - LevelingThinning (std::string species_name); + LevelingThinning (const std::string& species_name); /** * \brief A method that performs leveling thinning for the considered species. diff --git a/Source/Particles/Resampling/LevelingThinning.cpp b/Source/Particles/Resampling/LevelingThinning.cpp index 5dc6a458f97..71ebe735c78 100644 --- a/Source/Particles/Resampling/LevelingThinning.cpp +++ b/Source/Particles/Resampling/LevelingThinning.cpp @@ -29,7 +29,7 @@ #include -LevelingThinning::LevelingThinning (const std::string species_name) +LevelingThinning::LevelingThinning (const std::string& species_name) { using namespace amrex::literals; diff --git a/Source/Particles/Resampling/Resampling.H b/Source/Particles/Resampling/Resampling.H index 35439e905df..7c5c60d858d 100644 --- a/Source/Particles/Resampling/Resampling.H +++ b/Source/Particles/Resampling/Resampling.H @@ -62,7 +62,7 @@ public: * * @param[in] species_name the name of the resampled species */ - Resampling (std::string species_name); + Resampling (const std::string& species_name); /** * \brief A method that returns true if resampling should be done for the considered species diff --git a/Source/Particles/Resampling/Resampling.cpp b/Source/Particles/Resampling/Resampling.cpp index 63ac448880b..11f8706dc33 100644 --- a/Source/Particles/Resampling/Resampling.cpp +++ b/Source/Particles/Resampling/Resampling.cpp @@ -12,7 +12,7 @@ #include #include -Resampling::Resampling (const std::string species_name) +Resampling::Resampling (const std::string& species_name) { const amrex::ParmParse pp_species_name(species_name); std::string resampling_algorithm_string = "leveling_thinning"; // default resampling algorithm diff --git a/Source/Particles/Resampling/ResamplingTrigger.H b/Source/Particles/Resampling/ResamplingTrigger.H index 42c3902c247..538680475a0 100644 --- a/Source/Particles/Resampling/ResamplingTrigger.H +++ b/Source/Particles/Resampling/ResamplingTrigger.H @@ -33,7 +33,7 @@ public: * \brief Constructor of the ResamplingTrigger class. Reads the resampling trigger parameters * from the input file. */ - ResamplingTrigger (std::string species_name); + ResamplingTrigger (const std::string& species_name); /** * \brief A method that returns true if resampling should be done for the considered species diff --git a/Source/Particles/Resampling/ResamplingTrigger.cpp b/Source/Particles/Resampling/ResamplingTrigger.cpp index 16a32dd7d15..5efb473fe68 100644 --- a/Source/Particles/Resampling/ResamplingTrigger.cpp +++ b/Source/Particles/Resampling/ResamplingTrigger.cpp @@ -14,7 +14,7 @@ #include -ResamplingTrigger::ResamplingTrigger (const std::string species_name) +ResamplingTrigger::ResamplingTrigger (const std::string& species_name) { const amrex::ParmParse pp_species_name(species_name); diff --git a/Source/Particles/WarpXParticleContainer.H b/Source/Particles/WarpXParticleContainer.H index c100cc0bff4..4b01f09e27e 100644 --- a/Source/Particles/WarpXParticleContainer.H +++ b/Source/Particles/WarpXParticleContainer.H @@ -467,9 +467,9 @@ protected: //Species can receive a shared pointer to a QED engine (species for //which this is relevant should override these functions) virtual void - set_breit_wheeler_engine_ptr(std::shared_ptr){} + set_breit_wheeler_engine_ptr(const std::shared_ptr&){} virtual void - set_quantum_sync_engine_ptr(std::shared_ptr){} + set_quantum_sync_engine_ptr(const std::shared_ptr&){} int m_qed_breit_wheeler_ele_product; std::string m_qed_breit_wheeler_ele_product_name; diff --git a/Source/Python/callbacks.H b/Source/Python/callbacks.H index f0c98caf636..7ec78782bed 100644 --- a/Source/Python/callbacks.H +++ b/Source/Python/callbacks.H @@ -29,21 +29,21 @@ extern WARPX_EXPORT std::map< std::string, std::function > warpx_callbac /** * \brief Function to install the given name and function in warpx_callback_py_map */ -void InstallPythonCallback ( std::string name, std::function callback ); +void InstallPythonCallback ( const std::string& name, std::function callback ); /** * \brief Function to check if the given name is a key in warpx_callback_py_map */ -bool IsPythonCallbackInstalled ( std::string name ); +bool IsPythonCallbackInstalled ( const std::string& name ); /** * \brief Function to look for and execute Python callbacks */ -void ExecutePythonCallback ( std::string name ); +void ExecutePythonCallback ( const std::string& name ); /** * \brief Function to clear the given callback name from warpx_callback_py_map */ -void ClearPythonCallback ( std::string name ); +void ClearPythonCallback ( const std::string& name ); #endif // WARPX_PY_CALLBACKS_H_ diff --git a/Source/Python/callbacks.cpp b/Source/Python/callbacks.cpp index 930c88e65d1..79f15c62835 100644 --- a/Source/Python/callbacks.cpp +++ b/Source/Python/callbacks.cpp @@ -15,18 +15,18 @@ std::map< std::string, std::function > warpx_callback_py_map; -void InstallPythonCallback ( std::string name, std::function callback ) +void InstallPythonCallback ( const std::string& name, std::function callback ) { - warpx_callback_py_map[name] = callback; + warpx_callback_py_map[name] = std::move(callback); } -bool IsPythonCallbackInstalled ( std::string name ) +bool IsPythonCallbackInstalled ( const std::string& name ) { return (warpx_callback_py_map.count(name) == 1u); } // Execute Python callbacks of the type given by the input string -void ExecutePythonCallback ( std::string name ) +void ExecutePythonCallback ( const std::string& name ) { if ( IsPythonCallbackInstalled(name) ) { WARPX_PROFILE("warpx_py_" + name); @@ -47,7 +47,7 @@ void ExecutePythonCallback ( std::string name ) } } -void ClearPythonCallback ( std::string name ) +void ClearPythonCallback ( const std::string& name ) { warpx_callback_py_map.erase(name); } diff --git a/Source/Utils/WarpXUtil.H b/Source/Utils/WarpXUtil.H index ad3194edfc3..1de03eb61f0 100644 --- a/Source/Utils/WarpXUtil.H +++ b/Source/Utils/WarpXUtil.H @@ -64,7 +64,7 @@ namespace WarpXUtilIO{ * @param[in] data Vector containing binary data to write on disk * return true if it succeeds, false otherwise */ -bool WriteBinaryDataOnFile(std::string filename, const amrex::Vector& data); +bool WriteBinaryDataOnFile(const std::string& filename, const amrex::Vector& data); } @@ -116,7 +116,7 @@ namespace WarpXUtilLoadBalance * @param[in] dm the dmap to check * @return consistent whether the grids are consistent or not. */ - bool doCosts (const amrex::LayoutData* cost, amrex::BoxArray ba, + bool doCosts (const amrex::LayoutData* cost, const amrex::BoxArray& ba, const amrex::DistributionMapping& dm); } diff --git a/Source/Utils/WarpXUtil.cpp b/Source/Utils/WarpXUtil.cpp index 5b917a81fdf..e08a6304f09 100644 --- a/Source/Utils/WarpXUtil.cpp +++ b/Source/Utils/WarpXUtil.cpp @@ -266,7 +266,7 @@ void NullifyMF(amrex::MultiFab& mf, int lev, amrex::Real zmin, amrex::Real zmax) } namespace WarpXUtilIO{ - bool WriteBinaryDataOnFile(std::string filename, const amrex::Vector& data) + bool WriteBinaryDataOnFile(const std::string& filename, const amrex::Vector& data) { std::ofstream of{filename, std::ios::binary}; of.write(data.data(), data.size()); @@ -481,11 +481,11 @@ void ReadBCParams () namespace WarpXUtilLoadBalance { - bool doCosts (const amrex::LayoutData* costs, const amrex::BoxArray ba, + bool doCosts (const amrex::LayoutData* cost, const amrex::BoxArray& ba, const amrex::DistributionMapping& dm) { - const bool consistent = costs && (dm == costs->DistributionMap()) && - (ba.CellEqual(costs->boxArray())) && + const bool consistent = cost && (dm == cost->DistributionMap()) && + (ba.CellEqual(cost->boxArray())) && (WarpX::load_balance_costs_update_algo == LoadBalanceCostsUpdateAlgo::Timers); return consistent; } diff --git a/Source/WarpX.H b/Source/WarpX.H index 1a56445f8dd..0c86a1c9afe 100644 --- a/Source/WarpX.H +++ b/Source/WarpX.H @@ -1050,8 +1050,8 @@ public: * for a specific field (specified by `F_name`) */ void ReadExternalFieldFromFile ( - std::string read_fields_from_path, amrex::MultiFab* mf, - std::string F_name, std::string F_component); + const std::string& read_fields_from_path, amrex::MultiFab* mf, + const std::string& F_name, const std::string& F_component); /** * \brief diff --git a/Source/ablastr/fields/PoissonSolver.H b/Source/ablastr/fields/PoissonSolver.H index 9c6053bed07..77c06f11cf2 100644 --- a/Source/ablastr/fields/PoissonSolver.H +++ b/Source/ablastr/fields/PoissonSolver.H @@ -96,9 +96,9 @@ computePhi (amrex::Vector const & rho, amrex::Real absolute_tolerance, int const max_iters, int const verbosity, - amrex::Vector const geom, - amrex::Vector const dmap, - amrex::Vector const grids, + amrex::Vector const& geom, + amrex::Vector const& dmap, + amrex::Vector const& grids, T_BoundaryHandler const boundary_handler, bool const do_single_precision_comms = false, std::optional > rel_ref_ratio = std::nullopt, diff --git a/Source/ablastr/fields/VectorPoissonSolver.H b/Source/ablastr/fields/VectorPoissonSolver.H index df2287df7f4..d49335723d8 100644 --- a/Source/ablastr/fields/VectorPoissonSolver.H +++ b/Source/ablastr/fields/VectorPoissonSolver.H @@ -89,9 +89,9 @@ computeVectorPotential ( amrex::Vector > co amrex::Real absolute_tolerance, int const max_iters, int const verbosity, - amrex::Vector const geom, - amrex::Vector const dmap, - amrex::Vector const grids, + amrex::Vector const& geom, + amrex::Vector const& dmap, + amrex::Vector const& grids, T_BoundaryHandler const boundary_handler, bool const do_single_precision_comms = false, std::optional > rel_ref_ratio = std::nullopt, diff --git a/Source/ablastr/utils/msg_logger/MsgLogger.H b/Source/ablastr/utils/msg_logger/MsgLogger.H index 01a61be5c80..401432f5dda 100644 --- a/Source/ablastr/utils/msg_logger/MsgLogger.H +++ b/Source/ablastr/utils/msg_logger/MsgLogger.H @@ -196,7 +196,7 @@ namespace ablastr::utils::msg_logger * * @param[in] msg a Msg struct */ - void record_msg(Msg msg); + void record_msg(const Msg& msg); /** * \brief This function returns a vector containing the recorded messages diff --git a/Source/ablastr/utils/msg_logger/MsgLogger.cpp b/Source/ablastr/utils/msg_logger/MsgLogger.cpp index dde041652da..6537a8f61e5 100644 --- a/Source/ablastr/utils/msg_logger/MsgLogger.cpp +++ b/Source/ablastr/utils/msg_logger/MsgLogger.cpp @@ -216,7 +216,7 @@ Logger::Logger() : m_io_rank{amrex::ParallelDescriptor::IOProcessorNumber()} {} -void Logger::record_msg(Msg msg) +void Logger::record_msg(const Msg& msg) { m_messages[msg]++; } diff --git a/Source/ablastr/warn_manager/WarnManager.H b/Source/ablastr/warn_manager/WarnManager.H index 737fb8fba73..56ff1bf1a1a 100644 --- a/Source/ablastr/warn_manager/WarnManager.H +++ b/Source/ablastr/warn_manager/WarnManager.H @@ -84,9 +84,9 @@ namespace ablastr::warn_manager * @param[in] priority priority of the warning message ("medium" by default) */ void RecordWarning( - std::string topic, - std::string text, - WarnPriority priority = WarnPriority::medium); + const std::string& topic, + const std::string& text, + const WarnPriority& priority = WarnPriority::medium); /** * \brief This function prints all the warning messages collected on the present MPI rank @@ -225,9 +225,9 @@ namespace ablastr::warn_manager * @param[in] priority priority of the warning message ("medium" by default) */ void WMRecordWarning( - std::string topic, - std::string text, - WarnPriority priority = WarnPriority::medium); + const std::string& topic, + const std::string& text, + const WarnPriority& priority = WarnPriority::medium); } #endif //ABLASTR_WARN_MANAGER_H_ diff --git a/Source/ablastr/warn_manager/WarnManager.cpp b/Source/ablastr/warn_manager/WarnManager.cpp index ee052ded299..b1a194b2633 100644 --- a/Source/ablastr/warn_manager/WarnManager.cpp +++ b/Source/ablastr/warn_manager/WarnManager.cpp @@ -55,9 +55,9 @@ WarnManager::WarnManager(): {} void WarnManager::RecordWarning( - std::string topic, - std::string text, - WarnPriority priority) + const std::string& topic, + const std::string& text, + const WarnPriority& priority) { auto msg_priority = abl_msg_logger::Priority::high; if(priority == WarnPriority::low) { @@ -316,9 +316,9 @@ WarnManager& ablastr::warn_manager::GetWMInstance() } void ablastr::warn_manager::WMRecordWarning( - std::string topic, - std::string text, - WarnPriority priority) + const std::string& topic, + const std::string& text, + const WarnPriority& priority) { WarnManager::GetInstance().RecordWarning( topic, text, priority);