diff --git a/ProcessLib/ComponentTransport/CreateComponentTransportProcess.cpp b/ProcessLib/ComponentTransport/CreateComponentTransportProcess.cpp
index 022adcac2c3e6f5ed5ab9685ca281b4f09237b2c..0082703f4366ac86a6b40c75a928b85d67fe078f 100644
--- a/ProcessLib/ComponentTransport/CreateComponentTransportProcess.cpp
+++ b/ProcessLib/ComponentTransport/CreateComponentTransportProcess.cpp
@@ -76,7 +76,7 @@ void checkMPLProperties(
 }
 
 std::unique_ptr<Process> createComponentTransportProcess(
-    std::string name,
+    std::string const& name,
     MeshLib::Mesh& mesh,
     std::unique_ptr<ProcessLib::AbstractJacobianAssembler>&& jacobian_assembler,
     std::vector<ProcessVariable> const& variables,
diff --git a/ProcessLib/ComponentTransport/CreateComponentTransportProcess.h b/ProcessLib/ComponentTransport/CreateComponentTransportProcess.h
index 060dcfcd175f4ab07a6c49be5ffef772ab15ce22..c561d977739b2c7b34a67e38f4c9254ec03b2a1a 100644
--- a/ProcessLib/ComponentTransport/CreateComponentTransportProcess.h
+++ b/ProcessLib/ComponentTransport/CreateComponentTransportProcess.h
@@ -28,7 +28,7 @@ namespace ProcessLib
 namespace ComponentTransport
 {
 std::unique_ptr<Process> createComponentTransportProcess(
-    std::string name,
+    std::string const& name,
     MeshLib::Mesh& mesh,
     std::unique_ptr<ProcessLib::AbstractJacobianAssembler>&& jacobian_assembler,
     std::vector<ProcessVariable> const& variables,
diff --git a/ProcessLib/HT/CreateHTProcess.cpp b/ProcessLib/HT/CreateHTProcess.cpp
index 208e66d349b938bb50df8628be11f9fb86ead708..b5f0862f80f5c18747c112123bd58bd25f4efa58 100644
--- a/ProcessLib/HT/CreateHTProcess.cpp
+++ b/ProcessLib/HT/CreateHTProcess.cpp
@@ -62,7 +62,7 @@ void checkMPLProperties(
 }
 
 std::unique_ptr<Process> createHTProcess(
-    std::string name,
+    std::string const& name,
     MeshLib::Mesh& mesh,
     std::unique_ptr<ProcessLib::AbstractJacobianAssembler>&& jacobian_assembler,
     std::vector<ProcessVariable> const& variables,
diff --git a/ProcessLib/HT/CreateHTProcess.h b/ProcessLib/HT/CreateHTProcess.h
index 70fe85f3b8df06fa421d9787d4909b2e70ac47c1..f133cc4001dbd0b9b2b4385dd8995c4586eab4d8 100644
--- a/ProcessLib/HT/CreateHTProcess.h
+++ b/ProcessLib/HT/CreateHTProcess.h
@@ -24,7 +24,7 @@ namespace ProcessLib
 namespace HT
 {
 std::unique_ptr<Process> createHTProcess(
-    std::string name,
+    std::string const& name,
     MeshLib::Mesh& mesh,
     std::unique_ptr<ProcessLib::AbstractJacobianAssembler>&& jacobian_assembler,
     std::vector<ProcessVariable> const& variables,
diff --git a/ProcessLib/HeatConduction/CreateHeatConductionProcess.cpp b/ProcessLib/HeatConduction/CreateHeatConductionProcess.cpp
index 55609f3352274523a35f20d6691814e18f6b1d9b..d14037c3a52e663f986ba5b47dc5abdcdd99235f 100644
--- a/ProcessLib/HeatConduction/CreateHeatConductionProcess.cpp
+++ b/ProcessLib/HeatConduction/CreateHeatConductionProcess.cpp
@@ -39,7 +39,7 @@ void checkMPLProperties(
 }
 
 std::unique_ptr<Process> createHeatConductionProcess(
-    std::string name,
+    std::string const& name,
     MeshLib::Mesh& mesh,
     std::unique_ptr<ProcessLib::AbstractJacobianAssembler>&& jacobian_assembler,
     std::vector<ProcessVariable> const& variables,
diff --git a/ProcessLib/HeatConduction/CreateHeatConductionProcess.h b/ProcessLib/HeatConduction/CreateHeatConductionProcess.h
index 11d1ed854047f4b753a432ba7c7a36786b2d4f77..fc0d5e26a70f96952aaefbda5b94f87250b16b70 100644
--- a/ProcessLib/HeatConduction/CreateHeatConductionProcess.h
+++ b/ProcessLib/HeatConduction/CreateHeatConductionProcess.h
@@ -23,7 +23,7 @@ namespace ProcessLib
 namespace HeatConduction
 {
 std::unique_ptr<Process> createHeatConductionProcess(
-    std::string name,
+    std::string const& name,
     MeshLib::Mesh& mesh,
     std::unique_ptr<ProcessLib::AbstractJacobianAssembler>&& jacobian_assembler,
     std::vector<ProcessVariable> const& variables,
diff --git a/ProcessLib/HeatTransportBHE/CreateHeatTransportBHEProcess.cpp b/ProcessLib/HeatTransportBHE/CreateHeatTransportBHEProcess.cpp
index f115c00c62b6c5d0c9e3a38bab7b9b0d12284329..7ca9bcf1dae9d21e16a13835bce4df9cb34c4d51 100644
--- a/ProcessLib/HeatTransportBHE/CreateHeatTransportBHEProcess.cpp
+++ b/ProcessLib/HeatTransportBHE/CreateHeatTransportBHEProcess.cpp
@@ -28,7 +28,7 @@ namespace ProcessLib
 namespace HeatTransportBHE
 {
 std::unique_ptr<Process> createHeatTransportBHEProcess(
-    std::string name,
+    std::string const& name,
     MeshLib::Mesh& mesh,
     std::unique_ptr<ProcessLib::AbstractJacobianAssembler>&& jacobian_assembler,
     std::vector<ProcessVariable> const& variables,
diff --git a/ProcessLib/HeatTransportBHE/CreateHeatTransportBHEProcess.h b/ProcessLib/HeatTransportBHE/CreateHeatTransportBHEProcess.h
index c5f0a0328dff12a2dea768bf4b2cfbcafae43a1d..061b55e631ac58307fbe733003f5f88dfdd0d986 100644
--- a/ProcessLib/HeatTransportBHE/CreateHeatTransportBHEProcess.h
+++ b/ProcessLib/HeatTransportBHE/CreateHeatTransportBHEProcess.h
@@ -20,7 +20,7 @@ namespace ProcessLib
 namespace HeatTransportBHE
 {
 std::unique_ptr<Process> createHeatTransportBHEProcess(
-    std::string name,
+    std::string const& name,
     MeshLib::Mesh& mesh,
     std::unique_ptr<ProcessLib::AbstractJacobianAssembler>&& jacobian_assembler,
     std::vector<ProcessVariable> const& variables,
diff --git a/ProcessLib/HydroMechanics/CreateHydroMechanicsProcess.cpp b/ProcessLib/HydroMechanics/CreateHydroMechanicsProcess.cpp
index a40c37308aed02ffaa990b4d076f392e21185ef8..35dc9873386ec4764520693e8907529fb14d6108 100644
--- a/ProcessLib/HydroMechanics/CreateHydroMechanicsProcess.cpp
+++ b/ProcessLib/HydroMechanics/CreateHydroMechanicsProcess.cpp
@@ -81,7 +81,7 @@ CouplingScheme parseCouplingScheme(
 
 template <int DisplacementDim>
 std::unique_ptr<Process> createHydroMechanicsProcess(
-    std::string name, MeshLib::Mesh& mesh,
+    std::string const& name, MeshLib::Mesh& mesh,
     std::unique_ptr<ProcessLib::AbstractJacobianAssembler>&& jacobian_assembler,
     std::vector<ProcessVariable> const& variables,
     std::vector<std::unique_ptr<ParameterLib::ParameterBase>> const& parameters,
@@ -259,7 +259,7 @@ std::unique_ptr<Process> createHydroMechanicsProcess(
 }
 
 template std::unique_ptr<Process> createHydroMechanicsProcess<2>(
-    std::string name,
+    std::string const& name,
     MeshLib::Mesh& mesh,
     std::unique_ptr<ProcessLib::AbstractJacobianAssembler>&& jacobian_assembler,
     std::vector<ProcessVariable> const& variables,
@@ -271,7 +271,7 @@ template std::unique_ptr<Process> createHydroMechanicsProcess<2>(
     std::map<int, std::shared_ptr<MaterialPropertyLib::Medium>> const& media);
 
 template std::unique_ptr<Process> createHydroMechanicsProcess<3>(
-    std::string name,
+    std::string const& name,
     MeshLib::Mesh& mesh,
     std::unique_ptr<ProcessLib::AbstractJacobianAssembler>&& jacobian_assembler,
     std::vector<ProcessVariable> const& variables,
diff --git a/ProcessLib/HydroMechanics/CreateHydroMechanicsProcess.h b/ProcessLib/HydroMechanics/CreateHydroMechanicsProcess.h
index 5d7ce89899f65c0fdcb76875b130b217fb16cc9e..f1b7f1ccb9c3e076d31ebde1c42466fc19fd2933 100644
--- a/ProcessLib/HydroMechanics/CreateHydroMechanicsProcess.h
+++ b/ProcessLib/HydroMechanics/CreateHydroMechanicsProcess.h
@@ -46,7 +46,7 @@ namespace HydroMechanics
 {
 template <int DisplacementDim>
 std::unique_ptr<Process> createHydroMechanicsProcess(
-    std::string name,
+    std::string const& name,
     MeshLib::Mesh& mesh,
     std::unique_ptr<ProcessLib::AbstractJacobianAssembler>&& jacobian_assembler,
     std::vector<ProcessVariable> const& variables,
@@ -58,7 +58,7 @@ std::unique_ptr<Process> createHydroMechanicsProcess(
     std::map<int, std::shared_ptr<MaterialPropertyLib::Medium>> const& media);
 
 extern template std::unique_ptr<Process> createHydroMechanicsProcess<2>(
-    std::string name,
+    std::string const& name,
     MeshLib::Mesh& mesh,
     std::unique_ptr<ProcessLib::AbstractJacobianAssembler>&& jacobian_assembler,
     std::vector<ProcessVariable> const& variables,
@@ -70,7 +70,7 @@ extern template std::unique_ptr<Process> createHydroMechanicsProcess<2>(
     std::map<int, std::shared_ptr<MaterialPropertyLib::Medium>> const& media);
 
 extern template std::unique_ptr<Process> createHydroMechanicsProcess<3>(
-    std::string name,
+    std::string const& name,
     MeshLib::Mesh& mesh,
     std::unique_ptr<ProcessLib::AbstractJacobianAssembler>&& jacobian_assembler,
     std::vector<ProcessVariable> const& variables,
diff --git a/ProcessLib/LIE/HydroMechanics/CreateHydroMechanicsProcess.cpp b/ProcessLib/LIE/HydroMechanics/CreateHydroMechanicsProcess.cpp
index 2d200032113d63846f8280efa220494f1ed62186..58babe6a117d57cb3fe684319b3e5709ce52c709 100644
--- a/ProcessLib/LIE/HydroMechanics/CreateHydroMechanicsProcess.cpp
+++ b/ProcessLib/LIE/HydroMechanics/CreateHydroMechanicsProcess.cpp
@@ -30,7 +30,7 @@ namespace HydroMechanics
 {
 template <int GlobalDim>
 std::unique_ptr<Process> createHydroMechanicsProcess(
-    std::string name,
+    std::string const& name,
     MeshLib::Mesh& mesh,
     std::unique_ptr<ProcessLib::AbstractJacobianAssembler>&& jacobian_assembler,
     std::vector<ProcessVariable> const& variables,
@@ -353,7 +353,7 @@ std::unique_ptr<Process> createHydroMechanicsProcess(
 }
 
 template std::unique_ptr<Process> createHydroMechanicsProcess<2>(
-    std::string name,
+    std::string const& name,
     MeshLib::Mesh& mesh,
     std::unique_ptr<ProcessLib::AbstractJacobianAssembler>&& jacobian_assembler,
     std::vector<ProcessVariable> const& variables,
@@ -363,7 +363,7 @@ template std::unique_ptr<Process> createHydroMechanicsProcess<2>(
     unsigned const integration_order,
     BaseLib::ConfigTree const& config);
 template std::unique_ptr<Process> createHydroMechanicsProcess<3>(
-    std::string name,
+    std::string const& name,
     MeshLib::Mesh& mesh,
     std::unique_ptr<ProcessLib::AbstractJacobianAssembler>&& jacobian_assembler,
     std::vector<ProcessVariable> const& variables,
diff --git a/ProcessLib/LIE/HydroMechanics/CreateHydroMechanicsProcess.h b/ProcessLib/LIE/HydroMechanics/CreateHydroMechanicsProcess.h
index 33a0f1579b824d0db6954b1647ba90643503a1c3..373742615f3ab3e2d999e7b4c0fc98ab28d8dd26 100644
--- a/ProcessLib/LIE/HydroMechanics/CreateHydroMechanicsProcess.h
+++ b/ProcessLib/LIE/HydroMechanics/CreateHydroMechanicsProcess.h
@@ -43,7 +43,7 @@ namespace HydroMechanics
 {
 template <int GlobalDim>
 std::unique_ptr<Process> createHydroMechanicsProcess(
-    std::string name,
+    std::string const& name,
     MeshLib::Mesh& mesh,
     std::unique_ptr<ProcessLib::AbstractJacobianAssembler>&& jacobian_assembler,
     std::vector<ProcessVariable> const& variables,
diff --git a/ProcessLib/LIE/SmallDeformation/CreateSmallDeformationProcess.cpp b/ProcessLib/LIE/SmallDeformation/CreateSmallDeformationProcess.cpp
index 8d5dc4824ecea86996ab5390048e555d03789e6a..0c96a1075d9393d462cf14c0234de05faacf33e5 100644
--- a/ProcessLib/LIE/SmallDeformation/CreateSmallDeformationProcess.cpp
+++ b/ProcessLib/LIE/SmallDeformation/CreateSmallDeformationProcess.cpp
@@ -29,7 +29,7 @@ namespace SmallDeformation
 {
 template <int DisplacementDim>
 std::unique_ptr<Process> createSmallDeformationProcess(
-    std::string name,
+    std::string const& name,
     MeshLib::Mesh& mesh,
     std::unique_ptr<ProcessLib::AbstractJacobianAssembler>&& jacobian_assembler,
     std::vector<ProcessVariable> const& variables,
@@ -197,7 +197,7 @@ std::unique_ptr<Process> createSmallDeformationProcess(
 }
 
 template std::unique_ptr<Process> createSmallDeformationProcess<2>(
-    std::string name,
+    std::string const& name,
     MeshLib::Mesh& mesh,
     std::unique_ptr<ProcessLib::AbstractJacobianAssembler>&& jacobian_assembler,
     std::vector<ProcessVariable> const& variables,
@@ -208,7 +208,7 @@ template std::unique_ptr<Process> createSmallDeformationProcess<2>(
     BaseLib::ConfigTree const& config);
 
 template std::unique_ptr<Process> createSmallDeformationProcess<3>(
-    std::string name,
+    std::string const& name,
     MeshLib::Mesh& mesh,
     std::unique_ptr<ProcessLib::AbstractJacobianAssembler>&& jacobian_assembler,
     std::vector<ProcessVariable> const& variables,
diff --git a/ProcessLib/LIE/SmallDeformation/CreateSmallDeformationProcess.h b/ProcessLib/LIE/SmallDeformation/CreateSmallDeformationProcess.h
index ebb0a5858970bb053f43e2cf4c9c6f01a474d1c7..3834f07f6571484956d0a1ce109b307317c79e3f 100644
--- a/ProcessLib/LIE/SmallDeformation/CreateSmallDeformationProcess.h
+++ b/ProcessLib/LIE/SmallDeformation/CreateSmallDeformationProcess.h
@@ -43,7 +43,7 @@ namespace SmallDeformation
 {
 template <int DisplacementDim>
 std::unique_ptr<Process> createSmallDeformationProcess(
-    std::string name,
+    std::string const& name,
     MeshLib::Mesh& mesh,
     std::unique_ptr<ProcessLib::AbstractJacobianAssembler>&& jacobian_assembler,
     std::vector<ProcessVariable> const& variables,
diff --git a/ProcessLib/LiquidFlow/CreateLiquidFlowProcess.cpp b/ProcessLib/LiquidFlow/CreateLiquidFlowProcess.cpp
index c01dfc07c4cfa4a695d09f7deaed0ef467195f32..3e6cd606ee719fd72ec81e31895539df37110a6c 100644
--- a/ProcessLib/LiquidFlow/CreateLiquidFlowProcess.cpp
+++ b/ProcessLib/LiquidFlow/CreateLiquidFlowProcess.cpp
@@ -53,7 +53,7 @@ void checkMPLProperties(
 }
 
 std::unique_ptr<Process> createLiquidFlowProcess(
-    std::string name,
+    std::string const& name,
     MeshLib::Mesh& mesh,
     std::unique_ptr<ProcessLib::AbstractJacobianAssembler>&& jacobian_assembler,
     std::vector<ProcessVariable> const& variables,
diff --git a/ProcessLib/LiquidFlow/CreateLiquidFlowProcess.h b/ProcessLib/LiquidFlow/CreateLiquidFlowProcess.h
index 86944849a79bbae47e7fb795bd86beac68157cb0..00fe636baaf5f91840a347609ab861edde3de185 100644
--- a/ProcessLib/LiquidFlow/CreateLiquidFlowProcess.h
+++ b/ProcessLib/LiquidFlow/CreateLiquidFlowProcess.h
@@ -25,7 +25,7 @@ namespace ProcessLib
 namespace LiquidFlow
 {
 std::unique_ptr<Process> createLiquidFlowProcess(
-    std::string name,
+    std::string const& name,
     MeshLib::Mesh& mesh,
     std::unique_ptr<ProcessLib::AbstractJacobianAssembler>&& jacobian_assembler,
     std::vector<ProcessVariable> const& variables,
diff --git a/ProcessLib/PhaseField/CreatePhaseFieldProcess.cpp b/ProcessLib/PhaseField/CreatePhaseFieldProcess.cpp
index 8bafb7080c2d51d960d7c77dfd3bb1066f7847db..3c71b1847f701e7e9f85fae8d34c6e72ca2396e7 100644
--- a/ProcessLib/PhaseField/CreatePhaseFieldProcess.cpp
+++ b/ProcessLib/PhaseField/CreatePhaseFieldProcess.cpp
@@ -26,7 +26,7 @@ namespace PhaseField
 {
 template <int DisplacementDim>
 std::unique_ptr<Process> createPhaseFieldProcess(
-    std::string name,
+    std::string const& name,
     MeshLib::Mesh& mesh,
     std::unique_ptr<ProcessLib::AbstractJacobianAssembler>&& jacobian_assembler,
     std::vector<ProcessVariable> const& variables,
@@ -304,7 +304,7 @@ std::unique_ptr<Process> createPhaseFieldProcess(
 }
 
 template std::unique_ptr<Process> createPhaseFieldProcess<2>(
-    std::string name,
+    std::string const& name,
     MeshLib::Mesh& mesh,
     std::unique_ptr<ProcessLib::AbstractJacobianAssembler>&& jacobian_assembler,
     std::vector<ProcessVariable> const& variables,
@@ -315,7 +315,7 @@ template std::unique_ptr<Process> createPhaseFieldProcess<2>(
     BaseLib::ConfigTree const& config);
 
 template std::unique_ptr<Process> createPhaseFieldProcess<3>(
-    std::string name,
+    std::string const& name,
     MeshLib::Mesh& mesh,
     std::unique_ptr<ProcessLib::AbstractJacobianAssembler>&& jacobian_assembler,
     std::vector<ProcessVariable> const& variables,
diff --git a/ProcessLib/PhaseField/CreatePhaseFieldProcess.h b/ProcessLib/PhaseField/CreatePhaseFieldProcess.h
index bc3d99285a1b3bc9c5f0330679b9114635825ba4..ccd528a186735c505d45e66207cf2d34d9166bc6 100644
--- a/ProcessLib/PhaseField/CreatePhaseFieldProcess.h
+++ b/ProcessLib/PhaseField/CreatePhaseFieldProcess.h
@@ -41,7 +41,7 @@ namespace PhaseField
 {
 template <int DisplacementDim>
 std::unique_ptr<Process> createPhaseFieldProcess(
-    std::string name,
+    std::string const& name,
     MeshLib::Mesh& mesh,
     std::unique_ptr<ProcessLib::AbstractJacobianAssembler>&& jacobian_assembler,
     std::vector<ProcessVariable> const& variables,
@@ -52,7 +52,7 @@ std::unique_ptr<Process> createPhaseFieldProcess(
     BaseLib::ConfigTree const& config);
 
 extern template std::unique_ptr<Process> createPhaseFieldProcess<2>(
-    std::string name,
+    std::string const& name,
     MeshLib::Mesh& mesh,
     std::unique_ptr<ProcessLib::AbstractJacobianAssembler>&& jacobian_assembler,
     std::vector<ProcessVariable> const& variables,
@@ -63,7 +63,7 @@ extern template std::unique_ptr<Process> createPhaseFieldProcess<2>(
     BaseLib::ConfigTree const& config);
 
 extern template std::unique_ptr<Process> createPhaseFieldProcess<3>(
-    std::string name,
+    std::string const& name,
     MeshLib::Mesh& mesh,
     std::unique_ptr<ProcessLib::AbstractJacobianAssembler>&& jacobian_assembler,
     std::vector<ProcessVariable> const& variables,
diff --git a/ProcessLib/RichardsComponentTransport/CreateRichardsComponentTransportProcess.cpp b/ProcessLib/RichardsComponentTransport/CreateRichardsComponentTransportProcess.cpp
index a94e9842b0cbb3015bec52a397fd25cfd88114ee..4af0e66b0a941fb8b63619e78d1b573bf5ab4f9e 100644
--- a/ProcessLib/RichardsComponentTransport/CreateRichardsComponentTransportProcess.cpp
+++ b/ProcessLib/RichardsComponentTransport/CreateRichardsComponentTransportProcess.cpp
@@ -76,7 +76,7 @@ void checkMPLProperties(
 }  // namespace
 
 std::unique_ptr<Process> createRichardsComponentTransportProcess(
-    std::string name,
+    std::string const& name,
     MeshLib::Mesh& mesh,
     std::unique_ptr<ProcessLib::AbstractJacobianAssembler>&& jacobian_assembler,
     std::vector<ProcessVariable> const& variables,
diff --git a/ProcessLib/RichardsComponentTransport/CreateRichardsComponentTransportProcess.h b/ProcessLib/RichardsComponentTransport/CreateRichardsComponentTransportProcess.h
index 62dbda48b54ee410ca251b4ea33ab1815f0b634c..802c915669f02b86a0e102c7251f879352e55cb5 100644
--- a/ProcessLib/RichardsComponentTransport/CreateRichardsComponentTransportProcess.h
+++ b/ProcessLib/RichardsComponentTransport/CreateRichardsComponentTransportProcess.h
@@ -24,7 +24,7 @@ namespace ProcessLib
 namespace RichardsComponentTransport
 {
 std::unique_ptr<Process> createRichardsComponentTransportProcess(
-    std::string name,
+    std::string const& name,
     MeshLib::Mesh& mesh,
     std::unique_ptr<ProcessLib::AbstractJacobianAssembler>&& jacobian_assembler,
     std::vector<ProcessVariable> const& variables,
diff --git a/ProcessLib/RichardsFlow/CreateRichardsFlowProcess.cpp b/ProcessLib/RichardsFlow/CreateRichardsFlowProcess.cpp
index e91927e5c15447a8fef85468570edc7d04209f32..7b977846acd2cdce20e25d74ebc9b512ad92ccae 100644
--- a/ProcessLib/RichardsFlow/CreateRichardsFlowProcess.cpp
+++ b/ProcessLib/RichardsFlow/CreateRichardsFlowProcess.cpp
@@ -50,7 +50,7 @@ void checkMPLProperties(
 }
 
 std::unique_ptr<Process> createRichardsFlowProcess(
-    std::string name,
+    std::string const& name,
     MeshLib::Mesh& mesh,
     std::unique_ptr<ProcessLib::AbstractJacobianAssembler>&& jacobian_assembler,
     std::vector<ProcessVariable> const& variables,
diff --git a/ProcessLib/RichardsFlow/CreateRichardsFlowProcess.h b/ProcessLib/RichardsFlow/CreateRichardsFlowProcess.h
index dddefcff8f7082b797cadf25cf4d63d769c624ec..7bdbc3b6d11baa50a0e48ce2cb590658a175ca79 100644
--- a/ProcessLib/RichardsFlow/CreateRichardsFlowProcess.h
+++ b/ProcessLib/RichardsFlow/CreateRichardsFlowProcess.h
@@ -23,7 +23,7 @@ namespace ProcessLib
 namespace RichardsFlow
 {
 std::unique_ptr<Process> createRichardsFlowProcess(
-    std::string name,
+    std::string const& name,
     MeshLib::Mesh& mesh,
     std::unique_ptr<ProcessLib::AbstractJacobianAssembler>&& jacobian_assembler,
     std::vector<ProcessVariable> const& variables,
diff --git a/ProcessLib/RichardsMechanics/CreateRichardsMechanicsProcess.cpp b/ProcessLib/RichardsMechanics/CreateRichardsMechanicsProcess.cpp
index 0d77b0d18990a0e931a46ceadc10a4193f0537ad..8efe2cdf3f2f81981cfd16415e8ea19438bebb86 100644
--- a/ProcessLib/RichardsMechanics/CreateRichardsMechanicsProcess.cpp
+++ b/ProcessLib/RichardsMechanics/CreateRichardsMechanicsProcess.cpp
@@ -54,7 +54,7 @@ void checkMPLProperties(
 
 template <int DisplacementDim>
 std::unique_ptr<Process> createRichardsMechanicsProcess(
-    std::string name,
+    std::string const& name,
     MeshLib::Mesh& mesh,
     std::unique_ptr<ProcessLib::AbstractJacobianAssembler>&& jacobian_assembler,
     std::vector<ProcessVariable> const& variables,
@@ -218,7 +218,7 @@ std::unique_ptr<Process> createRichardsMechanicsProcess(
 }
 
 template std::unique_ptr<Process> createRichardsMechanicsProcess<2>(
-    std::string name,
+    std::string const& name,
     MeshLib::Mesh& mesh,
     std::unique_ptr<ProcessLib::AbstractJacobianAssembler>&& jacobian_assembler,
     std::vector<ProcessVariable> const& variables,
@@ -230,7 +230,7 @@ template std::unique_ptr<Process> createRichardsMechanicsProcess<2>(
     std::map<int, std::shared_ptr<MaterialPropertyLib::Medium>> const& media);
 
 template std::unique_ptr<Process> createRichardsMechanicsProcess<3>(
-    std::string name,
+    std::string const& name,
     MeshLib::Mesh& mesh,
     std::unique_ptr<ProcessLib::AbstractJacobianAssembler>&& jacobian_assembler,
     std::vector<ProcessVariable> const& variables,
diff --git a/ProcessLib/RichardsMechanics/CreateRichardsMechanicsProcess.h b/ProcessLib/RichardsMechanics/CreateRichardsMechanicsProcess.h
index 0657170f92147175d7ef7dfa8525c32c46703b81..614b34fe1571408873034126865b298cb3a99063 100644
--- a/ProcessLib/RichardsMechanics/CreateRichardsMechanicsProcess.h
+++ b/ProcessLib/RichardsMechanics/CreateRichardsMechanicsProcess.h
@@ -50,7 +50,7 @@ namespace RichardsMechanics
 {
 template <int DisplacementDim>
 std::unique_ptr<Process> createRichardsMechanicsProcess(
-    std::string name,
+    std::string const& name,
     MeshLib::Mesh& mesh,
     std::unique_ptr<ProcessLib::AbstractJacobianAssembler>&& jacobian_assembler,
     std::vector<ProcessVariable> const& variables,
@@ -62,7 +62,7 @@ std::unique_ptr<Process> createRichardsMechanicsProcess(
     std::map<int, std::shared_ptr<MaterialPropertyLib::Medium>> const& media);
 
 extern template std::unique_ptr<Process> createRichardsMechanicsProcess<2>(
-    std::string name,
+    std::string const& name,
     MeshLib::Mesh& mesh,
     std::unique_ptr<ProcessLib::AbstractJacobianAssembler>&& jacobian_assembler,
     std::vector<ProcessVariable> const& variables,
@@ -74,7 +74,7 @@ extern template std::unique_ptr<Process> createRichardsMechanicsProcess<2>(
     std::map<int, std::shared_ptr<MaterialPropertyLib::Medium>> const& media);
 
 extern template std::unique_ptr<Process> createRichardsMechanicsProcess<3>(
-    std::string name,
+    std::string const& name,
     MeshLib::Mesh& mesh,
     std::unique_ptr<ProcessLib::AbstractJacobianAssembler>&& jacobian_assembler,
     std::vector<ProcessVariable> const& variables,
diff --git a/ProcessLib/SmallDeformation/CreateSmallDeformationProcess.cpp b/ProcessLib/SmallDeformation/CreateSmallDeformationProcess.cpp
index 1ec05ff5627d3fe6559cfaf236103a640fb68864..0bab8b56a0f9c0d3f855db5807fe1f70898afc1e 100644
--- a/ProcessLib/SmallDeformation/CreateSmallDeformationProcess.cpp
+++ b/ProcessLib/SmallDeformation/CreateSmallDeformationProcess.cpp
@@ -25,7 +25,7 @@ namespace SmallDeformation
 {
 template <int DisplacementDim>
 std::unique_ptr<Process> createSmallDeformationProcess(
-    std::string name,
+    std::string const& name,
     MeshLib::Mesh& mesh,
     std::unique_ptr<ProcessLib::AbstractJacobianAssembler>&& jacobian_assembler,
     std::vector<ProcessVariable> const& variables,
@@ -133,7 +133,7 @@ std::unique_ptr<Process> createSmallDeformationProcess(
 }
 
 template std::unique_ptr<Process> createSmallDeformationProcess<2>(
-    std::string name,
+    std::string const& name,
     MeshLib::Mesh& mesh,
     std::unique_ptr<ProcessLib::AbstractJacobianAssembler>&& jacobian_assembler,
     std::vector<ProcessVariable> const& variables,
@@ -144,7 +144,7 @@ template std::unique_ptr<Process> createSmallDeformationProcess<2>(
     BaseLib::ConfigTree const& config);
 
 template std::unique_ptr<Process> createSmallDeformationProcess<3>(
-    std::string name,
+    std::string const& name,
     MeshLib::Mesh& mesh,
     std::unique_ptr<ProcessLib::AbstractJacobianAssembler>&& jacobian_assembler,
     std::vector<ProcessVariable> const& variables,
diff --git a/ProcessLib/SmallDeformation/CreateSmallDeformationProcess.h b/ProcessLib/SmallDeformation/CreateSmallDeformationProcess.h
index bcd1b88f57455571cc5849c7409025b1b374db45..cd126daa3235a698c69ab2b8039200e9278893f3 100644
--- a/ProcessLib/SmallDeformation/CreateSmallDeformationProcess.h
+++ b/ProcessLib/SmallDeformation/CreateSmallDeformationProcess.h
@@ -41,7 +41,7 @@ namespace SmallDeformation
 {
 template <int DisplacementDim>
 std::unique_ptr<Process> createSmallDeformationProcess(
-    std::string name,
+    std::string const& name,
     MeshLib::Mesh& mesh,
     std::unique_ptr<ProcessLib::AbstractJacobianAssembler>&& jacobian_assembler,
     std::vector<ProcessVariable> const& variables,
@@ -52,7 +52,7 @@ std::unique_ptr<Process> createSmallDeformationProcess(
     BaseLib::ConfigTree const& config);
 
 extern template std::unique_ptr<Process> createSmallDeformationProcess<2>(
-    std::string name,
+    std::string const& name,
     MeshLib::Mesh& mesh,
     std::unique_ptr<ProcessLib::AbstractJacobianAssembler>&& jacobian_assembler,
     std::vector<ProcessVariable> const& variables,
@@ -63,7 +63,7 @@ extern template std::unique_ptr<Process> createSmallDeformationProcess<2>(
     BaseLib::ConfigTree const& config);
 
 extern template std::unique_ptr<Process> createSmallDeformationProcess<3>(
-    std::string name,
+    std::string const& name,
     MeshLib::Mesh& mesh,
     std::unique_ptr<ProcessLib::AbstractJacobianAssembler>&& jacobian_assembler,
     std::vector<ProcessVariable> const& variables,
diff --git a/ProcessLib/SmallDeformationNonlocal/CreateSmallDeformationNonlocalProcess.cpp b/ProcessLib/SmallDeformationNonlocal/CreateSmallDeformationNonlocalProcess.cpp
index f52d00d3fccd22fab9a9c6e15692b3c0acef34f7..9f088519881464f227692d5ba716c04ed348cf0d 100644
--- a/ProcessLib/SmallDeformationNonlocal/CreateSmallDeformationNonlocalProcess.cpp
+++ b/ProcessLib/SmallDeformationNonlocal/CreateSmallDeformationNonlocalProcess.cpp
@@ -25,7 +25,7 @@ namespace SmallDeformationNonlocal
 {
 template <int DisplacementDim>
 std::unique_ptr<Process> createSmallDeformationNonlocalProcess(
-    std::string name,
+    std::string const& name,
     MeshLib::Mesh& mesh,
     std::unique_ptr<ProcessLib::AbstractJacobianAssembler>&& jacobian_assembler,
     std::vector<ProcessVariable> const& variables,
@@ -124,7 +124,7 @@ std::unique_ptr<Process> createSmallDeformationNonlocalProcess(
 }
 
 template std::unique_ptr<Process> createSmallDeformationNonlocalProcess<2>(
-    std::string name,
+    std::string const& name,
     MeshLib::Mesh& mesh,
     std::unique_ptr<ProcessLib::AbstractJacobianAssembler>&& jacobian_assembler,
     std::vector<ProcessVariable> const& variables,
@@ -135,7 +135,7 @@ template std::unique_ptr<Process> createSmallDeformationNonlocalProcess<2>(
     BaseLib::ConfigTree const& config);
 
 template std::unique_ptr<Process> createSmallDeformationNonlocalProcess<3>(
-    std::string name,
+    std::string const& name,
     MeshLib::Mesh& mesh,
     std::unique_ptr<ProcessLib::AbstractJacobianAssembler>&& jacobian_assembler,
     std::vector<ProcessVariable> const& variables,
diff --git a/ProcessLib/SmallDeformationNonlocal/CreateSmallDeformationNonlocalProcess.h b/ProcessLib/SmallDeformationNonlocal/CreateSmallDeformationNonlocalProcess.h
index e53ddfdbcc90b6d469bc110e53507c44931c98c4..36b51b8f7e5efebd0e1ce2bbb1f7bcf83068329a 100644
--- a/ProcessLib/SmallDeformationNonlocal/CreateSmallDeformationNonlocalProcess.h
+++ b/ProcessLib/SmallDeformationNonlocal/CreateSmallDeformationNonlocalProcess.h
@@ -41,7 +41,7 @@ namespace SmallDeformationNonlocal
 {
 template <int DisplacementDim>
 std::unique_ptr<Process> createSmallDeformationNonlocalProcess(
-    std::string name,
+    std::string const& name,
     MeshLib::Mesh& mesh,
     std::unique_ptr<ProcessLib::AbstractJacobianAssembler>&& jacobian_assembler,
     std::vector<ProcessVariable> const& variables,
@@ -53,7 +53,7 @@ std::unique_ptr<Process> createSmallDeformationNonlocalProcess(
 
 extern template std::unique_ptr<Process>
 createSmallDeformationNonlocalProcess<2>(
-    std::string name,
+    std::string const& name,
     MeshLib::Mesh& mesh,
     std::unique_ptr<ProcessLib::AbstractJacobianAssembler>&& jacobian_assembler,
     std::vector<ProcessVariable> const& variables,
@@ -65,7 +65,7 @@ createSmallDeformationNonlocalProcess<2>(
 
 extern template std::unique_ptr<Process>
 createSmallDeformationNonlocalProcess<3>(
-    std::string name,
+    std::string const& name,
     MeshLib::Mesh& mesh,
     std::unique_ptr<ProcessLib::AbstractJacobianAssembler>&& jacobian_assembler,
     std::vector<ProcessVariable> const& variables,
diff --git a/ProcessLib/SteadyStateDiffusion/CreateSteadyStateDiffusion.cpp b/ProcessLib/SteadyStateDiffusion/CreateSteadyStateDiffusion.cpp
index 701fc67b45c85cab1bcd508f0c16176e61270011..51a1facba0b7a1646e835791fa5a8880e920f869 100644
--- a/ProcessLib/SteadyStateDiffusion/CreateSteadyStateDiffusion.cpp
+++ b/ProcessLib/SteadyStateDiffusion/CreateSteadyStateDiffusion.cpp
@@ -39,7 +39,7 @@ void checkMPLProperties(
 }
 
 std::unique_ptr<Process> createSteadyStateDiffusion(
-    std::string name,
+    std::string const& name,
     MeshLib::Mesh& mesh,
     std::unique_ptr<ProcessLib::AbstractJacobianAssembler>&& jacobian_assembler,
     std::vector<ProcessVariable> const& variables,
diff --git a/ProcessLib/SteadyStateDiffusion/CreateSteadyStateDiffusion.h b/ProcessLib/SteadyStateDiffusion/CreateSteadyStateDiffusion.h
index 74572e2585a56905ff1036e9acd67f982b2ab249..19a3cdd70150aec8eebec4015ee8abc712cfa916 100644
--- a/ProcessLib/SteadyStateDiffusion/CreateSteadyStateDiffusion.h
+++ b/ProcessLib/SteadyStateDiffusion/CreateSteadyStateDiffusion.h
@@ -23,7 +23,7 @@ namespace ProcessLib
 namespace SteadyStateDiffusion
 {
 std::unique_ptr<Process> createSteadyStateDiffusion(
-    std::string name,
+    std::string const& name,
     MeshLib::Mesh& mesh,
     std::unique_ptr<ProcessLib::AbstractJacobianAssembler>&& jacobian_assembler,
     std::vector<ProcessVariable> const& variables,
diff --git a/ProcessLib/StokesFlow/CreateStokesFlowProcess.cpp b/ProcessLib/StokesFlow/CreateStokesFlowProcess.cpp
index 955011e536ee1ad909d4e99bf9d4c60195223c5c..90264123151898959c5c609fdebb3a180e54cf3e 100644
--- a/ProcessLib/StokesFlow/CreateStokesFlowProcess.cpp
+++ b/ProcessLib/StokesFlow/CreateStokesFlowProcess.cpp
@@ -52,7 +52,7 @@ void checkMPLProperties(
 
 template <int GlobalDim>
 std::unique_ptr<Process> createStokesFlowProcess(
-    std::string name,
+    std::string const& name,
     MeshLib::Mesh& mesh,
     std::unique_ptr<ProcessLib::AbstractJacobianAssembler>&& jacobian_assembler,
     std::vector<ProcessVariable> const& variables,
@@ -166,7 +166,7 @@ std::unique_ptr<Process> createStokesFlowProcess(
 }
 
 template std::unique_ptr<Process> createStokesFlowProcess<2>(
-    std::string name,
+    std::string const& name,
     MeshLib::Mesh& mesh,
     std::unique_ptr<ProcessLib::AbstractJacobianAssembler>&& jacobian_assembler,
     std::vector<ProcessVariable> const& variables,
diff --git a/ProcessLib/StokesFlow/CreateStokesFlowProcess.h b/ProcessLib/StokesFlow/CreateStokesFlowProcess.h
index 16065a8e3fd36329b7d171fd178e49cd0affea96..ef32fb61cc8322ed021e89fcf102e91ad847e486 100644
--- a/ProcessLib/StokesFlow/CreateStokesFlowProcess.h
+++ b/ProcessLib/StokesFlow/CreateStokesFlowProcess.h
@@ -23,7 +23,7 @@ namespace ProcessLib::StokesFlow
 {
 template <int GlobalDim>
 std::unique_ptr<Process> createStokesFlowProcess(
-    std::string name,
+    std::string const& name,
     MeshLib::Mesh& mesh,
     std::unique_ptr<ProcessLib::AbstractJacobianAssembler>&& jacobian_assembler,
     std::vector<ProcessVariable> const& variables,
@@ -33,7 +33,7 @@ std::unique_ptr<Process> createStokesFlowProcess(
     std::map<int, std::shared_ptr<MaterialPropertyLib::Medium>> const& media);
 
 extern template std::unique_ptr<Process> createStokesFlowProcess<2>(
-    std::string name,
+    std::string const& name,
     MeshLib::Mesh& mesh,
     std::unique_ptr<ProcessLib::AbstractJacobianAssembler>&& jacobian_assembler,
     std::vector<ProcessVariable> const& variables,
diff --git a/ProcessLib/TES/CreateTESProcess.cpp b/ProcessLib/TES/CreateTESProcess.cpp
index dc628569649bd6dedf4fc3898ddc5e36366d5dbc..7ea9d862c8a796a59cbd8d4a47f3ad9605b071f7 100644
--- a/ProcessLib/TES/CreateTESProcess.cpp
+++ b/ProcessLib/TES/CreateTESProcess.cpp
@@ -19,7 +19,7 @@ namespace ProcessLib
 namespace TES
 {
 std::unique_ptr<Process> createTESProcess(
-    std::string name,
+    std::string const& name,
     MeshLib::Mesh& mesh,
     std::unique_ptr<ProcessLib::AbstractJacobianAssembler>&& jacobian_assembler,
     std::vector<ProcessVariable> const& variables,
diff --git a/ProcessLib/TES/CreateTESProcess.h b/ProcessLib/TES/CreateTESProcess.h
index eecd6ff78a3a725dcab6b5cb2c7186aeacd9973a..9c5af9ee0f5d7d0bcf77134a1f0c8ad0db34df60 100644
--- a/ProcessLib/TES/CreateTESProcess.h
+++ b/ProcessLib/TES/CreateTESProcess.h
@@ -18,7 +18,7 @@ namespace ProcessLib
 namespace TES
 {
 std::unique_ptr<Process> createTESProcess(
-    std::string name,
+    std::string const& name,
     MeshLib::Mesh& mesh,
     std::unique_ptr<ProcessLib::AbstractJacobianAssembler>&& jacobian_assembler,
     std::vector<ProcessVariable> const& variables,
diff --git a/ProcessLib/TH2M/CreateTH2MProcess.cpp b/ProcessLib/TH2M/CreateTH2MProcess.cpp
index adfe6c372425b7a56317e4598a8da650b09ac1a7..ebcd1dcb8d6c48cc720ade05808f487ebec82920 100644
--- a/ProcessLib/TH2M/CreateTH2MProcess.cpp
+++ b/ProcessLib/TH2M/CreateTH2MProcess.cpp
@@ -53,7 +53,7 @@ std::unique_ptr<PhaseTransitionModel> createPhaseTransitionModel(
 
 template <int DisplacementDim>
 std::unique_ptr<Process> createTH2MProcess(
-    std::string name, MeshLib::Mesh& mesh,
+    std::string const& name, MeshLib::Mesh& mesh,
     std::unique_ptr<ProcessLib::AbstractJacobianAssembler>&& jacobian_assembler,
     std::vector<ProcessVariable> const& variables,
     std::vector<std::unique_ptr<ParameterLib::ParameterBase>> const& parameters,
@@ -249,7 +249,7 @@ std::unique_ptr<Process> createTH2MProcess(
 }
 
 template std::unique_ptr<Process> createTH2MProcess<2>(
-    std::string name,
+    std::string const& name,
     MeshLib::Mesh& mesh,
     std::unique_ptr<ProcessLib::AbstractJacobianAssembler>&& jacobian_assembler,
     std::vector<ProcessVariable> const& variables,
@@ -261,7 +261,7 @@ template std::unique_ptr<Process> createTH2MProcess<2>(
     std::map<int, std::shared_ptr<MaterialPropertyLib::Medium>> const& media);
 
 template std::unique_ptr<Process> createTH2MProcess<3>(
-    std::string name,
+    std::string const& name,
     MeshLib::Mesh& mesh,
     std::unique_ptr<ProcessLib::AbstractJacobianAssembler>&& jacobian_assembler,
     std::vector<ProcessVariable> const& variables,
diff --git a/ProcessLib/TH2M/CreateTH2MProcess.h b/ProcessLib/TH2M/CreateTH2MProcess.h
index f2b3a5f110afb9927e1bca69b5874b1d581eed54..208628e8e325a4954f614259d0713afe205239be 100644
--- a/ProcessLib/TH2M/CreateTH2MProcess.h
+++ b/ProcessLib/TH2M/CreateTH2MProcess.h
@@ -49,7 +49,7 @@ namespace TH2M
 {
 template <int DisplacementDim>
 std::unique_ptr<Process> createTH2MProcess(
-    std::string name,
+    std::string const& name,
     MeshLib::Mesh& mesh,
     std::unique_ptr<ProcessLib::AbstractJacobianAssembler>&& jacobian_assembler,
     std::vector<ProcessVariable> const& variables,
@@ -61,7 +61,7 @@ std::unique_ptr<Process> createTH2MProcess(
     std::map<int, std::shared_ptr<MaterialPropertyLib::Medium>> const& media);
 
 extern template std::unique_ptr<Process> createTH2MProcess<2>(
-    std::string name, MeshLib::Mesh& mesh,
+    std::string const& name, MeshLib::Mesh& mesh,
     std::unique_ptr<ProcessLib::AbstractJacobianAssembler>&& jacobian_assembler,
     std::vector<ProcessVariable> const& variables,
     std::vector<std::unique_ptr<ParameterLib::ParameterBase>> const& parameters,
@@ -71,7 +71,7 @@ extern template std::unique_ptr<Process> createTH2MProcess<2>(
     std::map<int, std::shared_ptr<MaterialPropertyLib::Medium>> const& media);
 
 extern template std::unique_ptr<Process> createTH2MProcess<3>(
-    std::string name,
+    std::string const& name,
     MeshLib::Mesh& mesh,
     std::unique_ptr<ProcessLib::AbstractJacobianAssembler>&& jacobian_assembler,
     std::vector<ProcessVariable> const& variables,
diff --git a/ProcessLib/ThermalTwoPhaseFlowWithPP/CreateThermalTwoPhaseFlowWithPPProcess.cpp b/ProcessLib/ThermalTwoPhaseFlowWithPP/CreateThermalTwoPhaseFlowWithPPProcess.cpp
index 229e9cb6719a5d6808489f57a33497eb8eea41c4..953fc6e88f18e2f1f383b32ada42d00d7941d9dc 100644
--- a/ProcessLib/ThermalTwoPhaseFlowWithPP/CreateThermalTwoPhaseFlowWithPPProcess.cpp
+++ b/ProcessLib/ThermalTwoPhaseFlowWithPP/CreateThermalTwoPhaseFlowWithPPProcess.cpp
@@ -92,7 +92,7 @@ void checkMPLProperties(
 }
 
 std::unique_ptr<Process> createThermalTwoPhaseFlowWithPPProcess(
-    std::string name,
+    std::string const& name,
     MeshLib::Mesh& mesh,
     std::unique_ptr<ProcessLib::AbstractJacobianAssembler>&& jacobian_assembler,
     std::vector<ProcessVariable> const& variables,
diff --git a/ProcessLib/ThermalTwoPhaseFlowWithPP/CreateThermalTwoPhaseFlowWithPPProcess.h b/ProcessLib/ThermalTwoPhaseFlowWithPP/CreateThermalTwoPhaseFlowWithPPProcess.h
index 0857171bd65bcddc02670a8d1a7aff0cc0b31031..964326edab41a08b36c70c0133bc4128f551a057 100644
--- a/ProcessLib/ThermalTwoPhaseFlowWithPP/CreateThermalTwoPhaseFlowWithPPProcess.h
+++ b/ProcessLib/ThermalTwoPhaseFlowWithPP/CreateThermalTwoPhaseFlowWithPPProcess.h
@@ -20,7 +20,7 @@ namespace ProcessLib
 namespace ThermalTwoPhaseFlowWithPP
 {
 std::unique_ptr<Process> createThermalTwoPhaseFlowWithPPProcess(
-    std::string name,
+    std::string const& name,
     MeshLib::Mesh& mesh,
     std::unique_ptr<ProcessLib::AbstractJacobianAssembler>&& jacobian_assembler,
     std::vector<ProcessVariable> const& variables,
diff --git a/ProcessLib/ThermoHydroMechanics/CreateThermoHydroMechanicsProcess.cpp b/ProcessLib/ThermoHydroMechanics/CreateThermoHydroMechanicsProcess.cpp
index 64985ebfb0ae2bf4b44d0be88cf44d4d82b86d64..fb985caf257b8a0a62058ab480df75bae6ec24fa 100644
--- a/ProcessLib/ThermoHydroMechanics/CreateThermoHydroMechanicsProcess.cpp
+++ b/ProcessLib/ThermoHydroMechanics/CreateThermoHydroMechanicsProcess.cpp
@@ -30,7 +30,7 @@ namespace ThermoHydroMechanics
 {
 template <int DisplacementDim>
 std::unique_ptr<Process> createThermoHydroMechanicsProcess(
-    std::string name, MeshLib::Mesh& mesh,
+    std::string const& name, MeshLib::Mesh& mesh,
     std::unique_ptr<ProcessLib::AbstractJacobianAssembler>&& jacobian_assembler,
     std::vector<ProcessVariable> const& variables,
     std::vector<std::unique_ptr<ParameterLib::ParameterBase>> const& parameters,
@@ -203,7 +203,7 @@ std::unique_ptr<Process> createThermoHydroMechanicsProcess(
 }
 
 template std::unique_ptr<Process> createThermoHydroMechanicsProcess<2>(
-    std::string name,
+    std::string const& name,
     MeshLib::Mesh& mesh,
     std::unique_ptr<ProcessLib::AbstractJacobianAssembler>&& jacobian_assembler,
     std::vector<ProcessVariable> const& variables,
@@ -215,7 +215,7 @@ template std::unique_ptr<Process> createThermoHydroMechanicsProcess<2>(
     std::map<int, std::shared_ptr<MaterialPropertyLib::Medium>> const& media);
 
 template std::unique_ptr<Process> createThermoHydroMechanicsProcess<3>(
-    std::string name,
+    std::string const& name,
     MeshLib::Mesh& mesh,
     std::unique_ptr<ProcessLib::AbstractJacobianAssembler>&& jacobian_assembler,
     std::vector<ProcessVariable> const& variables,
diff --git a/ProcessLib/ThermoHydroMechanics/CreateThermoHydroMechanicsProcess.h b/ProcessLib/ThermoHydroMechanics/CreateThermoHydroMechanicsProcess.h
index 53b0218fedbbd8ecb557d66b06a0c2ad496d12eb..40fe60f7d74d5ebed69929c89220bcf5e2897573 100644
--- a/ProcessLib/ThermoHydroMechanics/CreateThermoHydroMechanicsProcess.h
+++ b/ProcessLib/ThermoHydroMechanics/CreateThermoHydroMechanicsProcess.h
@@ -49,7 +49,7 @@ namespace ThermoHydroMechanics
 {
 template <int DisplacementDim>
 std::unique_ptr<Process> createThermoHydroMechanicsProcess(
-    std::string name,
+    std::string const& name,
     MeshLib::Mesh& mesh,
     std::unique_ptr<ProcessLib::AbstractJacobianAssembler>&& jacobian_assembler,
     std::vector<ProcessVariable> const& variables,
@@ -61,7 +61,7 @@ std::unique_ptr<Process> createThermoHydroMechanicsProcess(
     std::map<int, std::shared_ptr<MaterialPropertyLib::Medium>> const& media);
 
 extern template std::unique_ptr<Process> createThermoHydroMechanicsProcess<2>(
-    std::string name, MeshLib::Mesh& mesh,
+    std::string const& name, MeshLib::Mesh& mesh,
     std::unique_ptr<ProcessLib::AbstractJacobianAssembler>&& jacobian_assembler,
     std::vector<ProcessVariable> const& variables,
     std::vector<std::unique_ptr<ParameterLib::ParameterBase>> const& parameters,
@@ -71,7 +71,7 @@ extern template std::unique_ptr<Process> createThermoHydroMechanicsProcess<2>(
     std::map<int, std::shared_ptr<MaterialPropertyLib::Medium>> const& media);
 
 extern template std::unique_ptr<Process> createThermoHydroMechanicsProcess<3>(
-    std::string name,
+    std::string const& name,
     MeshLib::Mesh& mesh,
     std::unique_ptr<ProcessLib::AbstractJacobianAssembler>&& jacobian_assembler,
     std::vector<ProcessVariable> const& variables,
diff --git a/ProcessLib/ThermoMechanicalPhaseField/CreateThermoMechanicalPhaseFieldProcess.cpp b/ProcessLib/ThermoMechanicalPhaseField/CreateThermoMechanicalPhaseFieldProcess.cpp
index 866126aab172cac3883439b4c8943fa5a5995509..7b74054e52456b706894d52654d0c832c7648e3f 100644
--- a/ProcessLib/ThermoMechanicalPhaseField/CreateThermoMechanicalPhaseFieldProcess.cpp
+++ b/ProcessLib/ThermoMechanicalPhaseField/CreateThermoMechanicalPhaseFieldProcess.cpp
@@ -26,7 +26,7 @@ namespace ThermoMechanicalPhaseField
 {
 template <int DisplacementDim>
 std::unique_ptr<Process> createThermoMechanicalPhaseFieldProcess(
-    std::string name,
+    std::string const& name,
     MeshLib::Mesh& mesh,
     std::unique_ptr<ProcessLib::AbstractJacobianAssembler>&& jacobian_assembler,
     std::vector<ProcessVariable> const& variables,
@@ -244,7 +244,7 @@ std::unique_ptr<Process> createThermoMechanicalPhaseFieldProcess(
 }
 
 template std::unique_ptr<Process> createThermoMechanicalPhaseFieldProcess<2>(
-    std::string name,
+    std::string const& name,
     MeshLib::Mesh& mesh,
     std::unique_ptr<ProcessLib::AbstractJacobianAssembler>&& jacobian_assembler,
     std::vector<ProcessVariable> const& variables,
@@ -255,7 +255,7 @@ template std::unique_ptr<Process> createThermoMechanicalPhaseFieldProcess<2>(
     BaseLib::ConfigTree const& config);
 
 template std::unique_ptr<Process> createThermoMechanicalPhaseFieldProcess<3>(
-    std::string name,
+    std::string const& name,
     MeshLib::Mesh& mesh,
     std::unique_ptr<ProcessLib::AbstractJacobianAssembler>&& jacobian_assembler,
     std::vector<ProcessVariable> const& variables,
diff --git a/ProcessLib/ThermoMechanicalPhaseField/CreateThermoMechanicalPhaseFieldProcess.h b/ProcessLib/ThermoMechanicalPhaseField/CreateThermoMechanicalPhaseFieldProcess.h
index 770b7802a805471510f880e57c7fd6ed009dcab7..f37ab151c2f475eaedb5965391ec7703beb6575e 100644
--- a/ProcessLib/ThermoMechanicalPhaseField/CreateThermoMechanicalPhaseFieldProcess.h
+++ b/ProcessLib/ThermoMechanicalPhaseField/CreateThermoMechanicalPhaseFieldProcess.h
@@ -41,7 +41,7 @@ namespace ThermoMechanicalPhaseField
 {
 template <int DisplacementDim>
 std::unique_ptr<Process> createThermoMechanicalPhaseFieldProcess(
-    std::string name,
+    std::string const& name,
     MeshLib::Mesh& mesh,
     std::unique_ptr<ProcessLib::AbstractJacobianAssembler>&& jacobian_assembler,
     std::vector<ProcessVariable> const& variables,
@@ -53,7 +53,7 @@ std::unique_ptr<Process> createThermoMechanicalPhaseFieldProcess(
 
 extern template std::unique_ptr<Process>
 createThermoMechanicalPhaseFieldProcess<2>(
-    std::string name,
+    std::string const& name,
     MeshLib::Mesh& mesh,
     std::unique_ptr<ProcessLib::AbstractJacobianAssembler>&& jacobian_assembler,
     std::vector<ProcessVariable> const& variables,
@@ -65,7 +65,7 @@ createThermoMechanicalPhaseFieldProcess<2>(
 
 extern template std::unique_ptr<Process>
 createThermoMechanicalPhaseFieldProcess<3>(
-    std::string name,
+    std::string const& name,
     MeshLib::Mesh& mesh,
     std::unique_ptr<ProcessLib::AbstractJacobianAssembler>&& jacobian_assembler,
     std::vector<ProcessVariable> const& variables,
diff --git a/ProcessLib/ThermoMechanics/CreateThermoMechanicsProcess.cpp b/ProcessLib/ThermoMechanics/CreateThermoMechanicsProcess.cpp
index daff8c8f7a4d3394e3026f88f8667d1d190c91f2..3d8d083b87b615f2cfefd3c219e49ec024ee1364 100644
--- a/ProcessLib/ThermoMechanics/CreateThermoMechanicsProcess.cpp
+++ b/ProcessLib/ThermoMechanics/CreateThermoMechanicsProcess.cpp
@@ -44,7 +44,7 @@ void checkMPLProperties(
 
 template <int DisplacementDim>
 std::unique_ptr<Process> createThermoMechanicsProcess(
-    std::string name, MeshLib::Mesh& mesh,
+    std::string const& name, MeshLib::Mesh& mesh,
     std::unique_ptr<ProcessLib::AbstractJacobianAssembler>&& jacobian_assembler,
     std::vector<ProcessVariable> const& variables,
     std::vector<std::unique_ptr<ParameterLib::ParameterBase>> const& parameters,
@@ -191,7 +191,7 @@ std::unique_ptr<Process> createThermoMechanicsProcess(
 }
 
 template std::unique_ptr<Process> createThermoMechanicsProcess<2>(
-    std::string name,
+    std::string const& name,
     MeshLib::Mesh& mesh,
     std::unique_ptr<ProcessLib::AbstractJacobianAssembler>&& jacobian_assembler,
     std::vector<ProcessVariable> const& variables,
@@ -203,7 +203,7 @@ template std::unique_ptr<Process> createThermoMechanicsProcess<2>(
     std::map<int, std::shared_ptr<MaterialPropertyLib::Medium>> const& media);
 
 template std::unique_ptr<Process> createThermoMechanicsProcess<3>(
-    std::string name,
+    std::string const& name,
     MeshLib::Mesh& mesh,
     std::unique_ptr<ProcessLib::AbstractJacobianAssembler>&& jacobian_assembler,
     std::vector<ProcessVariable> const& variables,
diff --git a/ProcessLib/ThermoMechanics/CreateThermoMechanicsProcess.h b/ProcessLib/ThermoMechanics/CreateThermoMechanicsProcess.h
index 4fd2e31dfc62004276895e96256d1d4ec8ecec7a..8580cb3e89da15cb15ea9ba18166cd9d8b1ca513 100644
--- a/ProcessLib/ThermoMechanics/CreateThermoMechanicsProcess.h
+++ b/ProcessLib/ThermoMechanics/CreateThermoMechanicsProcess.h
@@ -48,7 +48,7 @@ namespace ThermoMechanics
 {
 template <int DisplacementDim>
 std::unique_ptr<Process> createThermoMechanicsProcess(
-    std::string name, MeshLib::Mesh& mesh,
+    std::string const& name, MeshLib::Mesh& mesh,
     std::unique_ptr<ProcessLib::AbstractJacobianAssembler>&& jacobian_assembler,
     std::vector<ProcessVariable> const& variables,
     std::vector<std::unique_ptr<ParameterLib::ParameterBase>> const& parameters,
@@ -58,7 +58,7 @@ std::unique_ptr<Process> createThermoMechanicsProcess(
     std::map<int, std::shared_ptr<MaterialPropertyLib::Medium>> const& media);
 
 extern template std::unique_ptr<Process> createThermoMechanicsProcess<2>(
-    std::string name, MeshLib::Mesh& mesh,
+    std::string const& name, MeshLib::Mesh& mesh,
     std::unique_ptr<ProcessLib::AbstractJacobianAssembler>&& jacobian_assembler,
     std::vector<ProcessVariable> const& variables,
     std::vector<std::unique_ptr<ParameterLib::ParameterBase>> const& parameters,
@@ -68,7 +68,7 @@ extern template std::unique_ptr<Process> createThermoMechanicsProcess<2>(
     std::map<int, std::shared_ptr<MaterialPropertyLib::Medium>> const& media);
 
 extern template std::unique_ptr<Process> createThermoMechanicsProcess<3>(
-    std::string name, MeshLib::Mesh& mesh,
+    std::string const& name, MeshLib::Mesh& mesh,
     std::unique_ptr<ProcessLib::AbstractJacobianAssembler>&& jacobian_assembler,
     std::vector<ProcessVariable> const& variables,
     std::vector<std::unique_ptr<ParameterLib::ParameterBase>> const& parameters,
diff --git a/ProcessLib/ThermoRichardsFlow/CreateThermoRichardsFlowProcess.cpp b/ProcessLib/ThermoRichardsFlow/CreateThermoRichardsFlowProcess.cpp
index 664b1f64af796a9e0b48500fa5f91b900a3d2cd3..2cb708b26af85af8600ad6fadd6f52116070264a 100644
--- a/ProcessLib/ThermoRichardsFlow/CreateThermoRichardsFlowProcess.cpp
+++ b/ProcessLib/ThermoRichardsFlow/CreateThermoRichardsFlowProcess.cpp
@@ -69,7 +69,7 @@ void checkProcessVariableComponents(ProcessVariable const& variable)
 }
 
 std::unique_ptr<Process> createThermoRichardsFlowProcess(
-    std::string name,
+    std::string const& name,
     MeshLib::Mesh& mesh,
     std::unique_ptr<ProcessLib::AbstractJacobianAssembler>&& jacobian_assembler,
     std::vector<ProcessVariable> const& variables,
diff --git a/ProcessLib/ThermoRichardsFlow/CreateThermoRichardsFlowProcess.h b/ProcessLib/ThermoRichardsFlow/CreateThermoRichardsFlowProcess.h
index cad36d142506358154a1c1dd8dc4dc22f9433cc0..36ea142fbd4f0e74c20b8640e5fd952adb6d5d83 100644
--- a/ProcessLib/ThermoRichardsFlow/CreateThermoRichardsFlowProcess.h
+++ b/ProcessLib/ThermoRichardsFlow/CreateThermoRichardsFlowProcess.h
@@ -43,7 +43,7 @@ namespace ProcessLib
 namespace ThermoRichardsFlow
 {
 std::unique_ptr<Process> createThermoRichardsFlowProcess(
-    std::string name,
+    std::string const& name,
     MeshLib::Mesh& mesh,
     std::unique_ptr<ProcessLib::AbstractJacobianAssembler>&& jacobian_assembler,
     std::vector<ProcessVariable> const& variables,
diff --git a/ProcessLib/ThermoRichardsMechanics/CreateThermoRichardsMechanicsProcess.cpp b/ProcessLib/ThermoRichardsMechanics/CreateThermoRichardsMechanicsProcess.cpp
index 505714afbac23fa969463c866e424cc4c2627c00..f9f2f2e1b421b216a32205d30ce9c4d850dc4e08 100644
--- a/ProcessLib/ThermoRichardsMechanics/CreateThermoRichardsMechanicsProcess.cpp
+++ b/ProcessLib/ThermoRichardsMechanics/CreateThermoRichardsMechanicsProcess.cpp
@@ -77,7 +77,7 @@ void checkProcessVariableComponents(ProcessVariable const& variable,
 template <int DisplacementDim, typename ConstitutiveTraits,
           typename CreateConstitutiveSetting>
 std::unique_ptr<Process> createThermoRichardsMechanicsProcessStage2(
-    std::string name,
+    std::string const& name,
     MeshLib::Mesh& mesh,
     std::unique_ptr<ProcessLib::AbstractJacobianAssembler>&& jacobian_assembler,
     std::vector<ProcessVariable> const& variables,
@@ -209,7 +209,7 @@ std::unique_ptr<Process> createThermoRichardsMechanicsProcessStage2(
 
     return std::make_unique<
         ThermoRichardsMechanicsProcess<DisplacementDim, ConstitutiveTraits>>(
-        std::move(name), mesh, std::move(jacobian_assembler), parameters,
+        name, mesh, std::move(jacobian_assembler), parameters,
         integration_order, std::move(process_variables),
         std::move(process_data), std::move(secondary_variables),
         use_monolithic_scheme);
@@ -217,7 +217,7 @@ std::unique_ptr<Process> createThermoRichardsMechanicsProcessStage2(
 
 template <int DisplacementDim>
 std::unique_ptr<Process> createThermoRichardsMechanicsProcess(
-    std::string name,
+    std::string const& name,
     MeshLib::Mesh& mesh,
     std::unique_ptr<ProcessLib::AbstractJacobianAssembler>&& jacobian_assembler,
     std::vector<ProcessVariable> const& variables,
@@ -272,7 +272,7 @@ std::unique_ptr<Process> createThermoRichardsMechanicsProcess(
 }
 
 template std::unique_ptr<Process> createThermoRichardsMechanicsProcess<2>(
-    std::string name,
+    std::string const& name,
     MeshLib::Mesh& mesh,
     std::unique_ptr<ProcessLib::AbstractJacobianAssembler>&& jacobian_assembler,
     std::vector<ProcessVariable> const& variables,
@@ -284,7 +284,7 @@ template std::unique_ptr<Process> createThermoRichardsMechanicsProcess<2>(
     std::map<int, std::shared_ptr<MaterialPropertyLib::Medium>> const& media);
 
 template std::unique_ptr<Process> createThermoRichardsMechanicsProcess<3>(
-    std::string name,
+    std::string const& name,
     MeshLib::Mesh& mesh,
     std::unique_ptr<ProcessLib::AbstractJacobianAssembler>&& jacobian_assembler,
     std::vector<ProcessVariable> const& variables,
diff --git a/ProcessLib/ThermoRichardsMechanics/CreateThermoRichardsMechanicsProcess.h b/ProcessLib/ThermoRichardsMechanics/CreateThermoRichardsMechanicsProcess.h
index 2c0626f37f40ae790788b2aed37b9cc02dae29a7..69c59cbd849d921a21c5cc17f76594a49e472e62 100644
--- a/ProcessLib/ThermoRichardsMechanics/CreateThermoRichardsMechanicsProcess.h
+++ b/ProcessLib/ThermoRichardsMechanics/CreateThermoRichardsMechanicsProcess.h
@@ -50,7 +50,7 @@ namespace ThermoRichardsMechanics
 {
 template <int DisplacementDim>
 std::unique_ptr<Process> createThermoRichardsMechanicsProcess(
-    std::string name,
+    std::string const& name,
     MeshLib::Mesh& mesh,
     std::unique_ptr<ProcessLib::AbstractJacobianAssembler>&& jacobian_assembler,
     std::vector<ProcessVariable> const& variables,
@@ -63,7 +63,7 @@ std::unique_ptr<Process> createThermoRichardsMechanicsProcess(
 
 extern template std::unique_ptr<Process>
 createThermoRichardsMechanicsProcess<2>(
-    std::string name,
+    std::string const& name,
     MeshLib::Mesh& mesh,
     std::unique_ptr<ProcessLib::AbstractJacobianAssembler>&& jacobian_assembler,
     std::vector<ProcessVariable> const& variables,
@@ -76,7 +76,7 @@ createThermoRichardsMechanicsProcess<2>(
 
 extern template std::unique_ptr<Process>
 createThermoRichardsMechanicsProcess<3>(
-    std::string name,
+    std::string const& name,
     MeshLib::Mesh& mesh,
     std::unique_ptr<ProcessLib::AbstractJacobianAssembler>&& jacobian_assembler,
     std::vector<ProcessVariable> const& variables,
diff --git a/ProcessLib/TwoPhaseFlowWithPP/CreateTwoPhaseFlowWithPPProcess.cpp b/ProcessLib/TwoPhaseFlowWithPP/CreateTwoPhaseFlowWithPPProcess.cpp
index 13075941f4c51ae4c355d912a91deb7665de5d7f..d75f4a6487aefaf855a198bd52cbad9d447dea17 100644
--- a/ProcessLib/TwoPhaseFlowWithPP/CreateTwoPhaseFlowWithPPProcess.cpp
+++ b/ProcessLib/TwoPhaseFlowWithPP/CreateTwoPhaseFlowWithPPProcess.cpp
@@ -23,7 +23,7 @@ namespace ProcessLib
 namespace TwoPhaseFlowWithPP
 {
 std::unique_ptr<Process> createTwoPhaseFlowWithPPProcess(
-    std::string name,
+    std::string const& name,
     MeshLib::Mesh& mesh,
     std::unique_ptr<ProcessLib::AbstractJacobianAssembler>&& jacobian_assembler,
     std::vector<ProcessVariable> const& variables,
diff --git a/ProcessLib/TwoPhaseFlowWithPP/CreateTwoPhaseFlowWithPPProcess.h b/ProcessLib/TwoPhaseFlowWithPP/CreateTwoPhaseFlowWithPPProcess.h
index 792dcbc3f8899734bda2fc33a96a9b0ed6d45c3f..a4f95a985c4922c23a2a93840351b2e86152c373 100644
--- a/ProcessLib/TwoPhaseFlowWithPP/CreateTwoPhaseFlowWithPPProcess.h
+++ b/ProcessLib/TwoPhaseFlowWithPP/CreateTwoPhaseFlowWithPPProcess.h
@@ -53,7 +53,7 @@ namespace ProcessLib
 namespace TwoPhaseFlowWithPP
 {
 std::unique_ptr<Process> createTwoPhaseFlowWithPPProcess(
-    std::string name,
+    std::string const& name,
     MeshLib::Mesh& mesh,
     std::unique_ptr<ProcessLib::AbstractJacobianAssembler>&& jacobian_assembler,
     std::vector<ProcessVariable> const& variables,
diff --git a/ProcessLib/TwoPhaseFlowWithPrho/CreateTwoPhaseFlowWithPrhoProcess.cpp b/ProcessLib/TwoPhaseFlowWithPrho/CreateTwoPhaseFlowWithPrhoProcess.cpp
index 7a7f75d34c21be846a3d0158d3a86805fb84bd68..2bdc6c8a76801b1466093b4b7bd96429a52d5f8a 100644
--- a/ProcessLib/TwoPhaseFlowWithPrho/CreateTwoPhaseFlowWithPrhoProcess.cpp
+++ b/ProcessLib/TwoPhaseFlowWithPrho/CreateTwoPhaseFlowWithPrhoProcess.cpp
@@ -24,7 +24,7 @@ namespace ProcessLib
 namespace TwoPhaseFlowWithPrho
 {
 std::unique_ptr<Process> createTwoPhaseFlowWithPrhoProcess(
-    std::string name,
+    std::string const& name,
     MeshLib::Mesh& mesh,
     std::unique_ptr<ProcessLib::AbstractJacobianAssembler>&& jacobian_assembler,
     std::vector<ProcessVariable> const& variables,
diff --git a/ProcessLib/TwoPhaseFlowWithPrho/CreateTwoPhaseFlowWithPrhoProcess.h b/ProcessLib/TwoPhaseFlowWithPrho/CreateTwoPhaseFlowWithPrhoProcess.h
index 55b2aecdb8c9d4e4ae05593b57e61295e00fbd62..c540d11c7997a5e398cb8b6c0486095fe44e8db7 100644
--- a/ProcessLib/TwoPhaseFlowWithPrho/CreateTwoPhaseFlowWithPrhoProcess.h
+++ b/ProcessLib/TwoPhaseFlowWithPrho/CreateTwoPhaseFlowWithPrhoProcess.h
@@ -53,7 +53,7 @@ namespace ProcessLib
 namespace TwoPhaseFlowWithPrho
 {
 std::unique_ptr<Process> createTwoPhaseFlowWithPrhoProcess(
-    std::string name,
+    std::string const& name,
     MeshLib::Mesh& mesh,
     std::unique_ptr<ProcessLib::AbstractJacobianAssembler>&& jacobian_assembler,
     std::vector<ProcessVariable> const& variables,