diff --git a/mpp b/mpp
index 3c5bdc99ad054f3accb9a024179325ded12e9192..cfd2f66c53e10c51415ddc429e56a002ad7b97b0 160000
--- a/mpp
+++ b/mpp
@@ -1 +1 @@
-Subproject commit 3c5bdc99ad054f3accb9a024179325ded12e9192
+Subproject commit cfd2f66c53e10c51415ddc429e56a002ad7b97b0
diff --git a/src/CardiacAssemble.hpp b/src/CardiacAssemble.hpp
index 57f794183142ab578b41dd3275114f89320cbab9..df092a4e24cf319260000a56b140f9d6b132d68f 100644
--- a/src/CardiacAssemble.hpp
+++ b/src/CardiacAssemble.hpp
@@ -20,7 +20,7 @@ protected:
 
   void setVtkSteps(const std::string& configString){
     Config::Get(configString, vtksteps);
-    vtksteps = max(vtksteps, 1);
+    vtksteps = std::max(vtksteps, 1);
   }
 public:
   explicit ICardiacAssemble(const std::string& plotEntry= "PlotVTK", const std::string& stepEntry = "PlottingSteps") {
diff --git a/src/CardiacData.cpp b/src/CardiacData.cpp
index 7bfc2a845a9fe6bb7a979f5b620d34e1b3e6e842..15ad6925580824b4c74bf58c872d12c69ca81a67 100644
--- a/src/CardiacData.cpp
+++ b/src/CardiacData.cpp
@@ -54,7 +54,7 @@ void emplace_chamber(CHAMBER c, std::vector<int> & chambers){
     chambers.emplace_back(c + 100 + i);
   }
 }
-std::vector<int> getIncludedChambers(const string &chamberName) {
+std::vector<int> getIncludedChambers(const std::string &chamberName) {
   std::vector<int> chambers{};
   if (chamberName == "leftventricle") {
     emplace_chamber(LEFT_VENTRICLE, chambers);
diff --git a/src/CardiacData.hpp b/src/CardiacData.hpp
index 1bbaca31d046f7ba9e098128a18244c75e9016d4..10b97a16ec621b38c22457ed670348d9f19f6528 100644
--- a/src/CardiacData.hpp
+++ b/src/CardiacData.hpp
@@ -28,8 +28,7 @@ enum CHAMBER {
   PERICARD = 11000
 };
 
-std::vector<int> getIncludedChambers(const string &chamberName = "");
-
+std::vector<int> getIncludedChambers(const std::string &chamberName = "");
 
 static bool inChamber(int domain, int chamber) {
   switch (chamber) {
@@ -168,10 +167,10 @@ static Tensor DeformationGradient(const ElemenT &E, const Point &z, const Vector
 
 double Volume(CELLTYPE type, const std::vector<Point> &corners);
 
-static string stepAsString(int step) {
+static std::string stepAsString(int step) {
   char buffer[256];
   sprintf(buffer, "%04d", step);
-  string str(buffer);
-  return string("-") + str;
+  std::string str(buffer);
+  return std::string("-") + str;
 }
 #endif //CARDIACDATA_HPP
diff --git a/src/CardiacInterpolation.cpp b/src/CardiacInterpolation.cpp
index 7256d6645bac1ed8e7ae3123472f23969ebddb0a..70de09f7d2eaab32223330f42b6baf7babc6f797 100644
--- a/src/CardiacInterpolation.cpp
+++ b/src/CardiacInterpolation.cpp
@@ -46,10 +46,9 @@ void fillLagrangeData(Vector &vec, row r, DataContainer d) {
   }*/
 }
 
-
-void
-fillLagrangeCellData(const vector<Point> &corners, vector<DataContainer> data, vector<Point> &cells,
-                     Vector &vec) {
+void fillLagrangeCellData(const std::vector<Point> &corners,
+                          std::vector<DataContainer> data,
+                          std::vector<Point> &cells, Vector &vec) {
   auto min_index = std::distance(data.begin(),
                                  std::min_element(data.begin(), data.end(), compare_excitation));
   auto max_index = std::distance(data.begin(),
@@ -399,7 +398,8 @@ void smoothMeshData(const Mesh &mesh, Vector &vec) {
     }
     if (max_exc_time >= 0.0 && max_amplitude > 0.0) {
       for (int i = 0; i < c.Corners(); ++i) {
-        double amplitude = min(mesh.find_vertex(c.Corner(i)).GetData()[2], max_amplitude);
+        double amplitude =
+            std::min(mesh.find_vertex(c.Corner(i)).GetData()[2], max_amplitude);
         DataContainer exc_data({max_exc_time, max_duration, amplitude});
         row cornerRow = vec.find_row(c.Corner(i));
         mesh.find_vertex(c.Corner(i)).SetData(exc_data);
diff --git a/src/CardiacProblem.hpp b/src/CardiacProblem.hpp
index 4202228ffb9221b9e952f25903318c3e802c77d2..4c16fe75136b9bd057123dee7d8c5db4b87382fd 100644
--- a/src/CardiacProblem.hpp
+++ b/src/CardiacProblem.hpp
@@ -11,8 +11,8 @@ static constexpr int PRESSURE_BC_RA = 233;
 static constexpr int ROBIN_BC_EPI = 330;
 static constexpr int ROBIN_BC_BASE = 331;
 
-
-static std::pair<int, bool> isIn(const Point &p, const vector<Point> &pointList) {
+static std::pair<int, bool> isIn(const Point &p,
+                                 const std::vector<Point> &pointList) {
   for (int i = 0; i < pointList.size(); ++i) {
     if (p.isNear(pointList[i], 1e-4)) {
       return {i, true};
diff --git a/src/ExternalCurrent.cpp b/src/ExternalCurrent.cpp
index 7ddd0ca0caea198f5e2acc0e952fa0b26e999c3b..361f829ef214beb3af99960acf2e1dd0c23fa6e9 100644
--- a/src/ExternalCurrent.cpp
+++ b/src/ExternalCurrent.cpp
@@ -1,4 +1,7 @@
 #include "ExternalCurrent.hpp"
+
+#include <numbers>
+
 #include "GlobalDefinitions.hpp"
 
 std::function<double(double,double,double,double)> excitationFunc=IextStepfct;
@@ -17,7 +20,7 @@ double IextTanh(double t, double amp, double exc, double dur) {
 double IextArcTan(double t, double amp, double exc, double dur) {
   double start_t = 4 * (t -  exc);
   double end_t = 4 * (t - (exc + dur));
-  return (atan(start_t) - atan(end_t)) / Pi * amp;
+  return (atan(start_t) - atan(end_t)) / std::numbers::pi * amp;
 }
 
 void SelectExternalCurrentFunction(const std::string &externalCurrentFunction) {
diff --git a/src/MainElphy.cpp b/src/MainElphy.cpp
index 0b630e35fcfecc371d77bdb647bbe251ae61b6b3..26bde2f68a0e7c8c09df38f9a4e10fd787373bf4 100644
--- a/src/MainElphy.cpp
+++ b/src/MainElphy.cpp
@@ -32,7 +32,7 @@ int main(int argc, char **argv) {
 
   Date Start;
 
-  string model = "";
+  std::string model = "";
   Config::Get("Model", model);
 
   MainCardMech *cmMain;
diff --git a/src/cellmodels/MBeelerReuter.cpp b/src/cellmodels/MBeelerReuter.cpp
index 358d522357969a22d849dd5359919ef47b116b5b..3a4a2badf344de6df1aa5ff019ee314e0366d8e3 100644
--- a/src/cellmodels/MBeelerReuter.cpp
+++ b/src/cellmodels/MBeelerReuter.cpp
@@ -45,7 +45,7 @@ void MBeelerReuter::Initialize(Vectors &VW) {
   BR_x_1(VW) = 0.00565;//x_1
 }
 
-void MBeelerReuter::Initialize(vector<double> &vw) {
+void MBeelerReuter::Initialize(std::vector<double> &vw) {
   BR_Pot(vw) = initialPotential(); //V
   BR_Ca(vw) = 0.0000002;  // Ca
   BR_d(vw) = 0.002980; //d
@@ -97,7 +97,7 @@ double MBeelerReuter::JacobiEntry(int i, int j, const std::vector<double> &VW) c
   }
 }
 
-double MBeelerReuter::dIiondV(const vector<double> &VW) const {
+double MBeelerReuter::dIiondV(const std::vector<double> &VW) const {
   double V = BR_Pot(VW);
   double dI_NaToV = g_Na * BR_m(VW) * BR_m(VW) * BR_m(VW) * BR_h(VW) * BR_j(VW) + g_NaC;
   double dI_sToV = g_s * BR_d(VW) * BR_f(VW);
@@ -163,7 +163,7 @@ double MBeelerReuter::dGw(int i, int j, const std::vector<double> &VW) const {
   }
 }
 
-vector<double> MBeelerReuter::Tau(const vector<double> &var) const {
+std::vector<double> MBeelerReuter::Tau(const std::vector<double> &var) const {
   auto V = BR_Pot(var);
   return {
       BR_tau_d(V),
@@ -174,7 +174,8 @@ vector<double> MBeelerReuter::Tau(const vector<double> &var) const {
       BR_tau_x_1(V)};
 }
 
-vector<double> MBeelerReuter::YInfty(const vector<double> &var) const {
+std::vector<double> MBeelerReuter::YInfty(
+    const std::vector<double> &var) const {
   auto V = BR_Pot(var);
   return {
       BR_yinfty_d(V),
@@ -186,8 +187,9 @@ vector<double> MBeelerReuter::YInfty(const vector<double> &var) const {
   };
 }
 
-void
-MBeelerReuter::ExpIntegratorUpdate(double dt, const vector<double> &var, vector<double> &g) const {
+void MBeelerReuter::ExpIntegratorUpdate(double dt,
+                                        const std::vector<double> &var,
+                                        std::vector<double> &g) const {
   if (!useExpInt) return;
 
   double V = BR_Pot(var);
@@ -200,7 +202,7 @@ MBeelerReuter::ExpIntegratorUpdate(double dt, const vector<double> &var, vector<
 }
 
 void
-MBeelerReuter::IIonUpdate(const vector<double> &var, vector<double> &g, double iExt) const {
+MBeelerReuter::IIonUpdate(const std::vector<double> &var, std::vector<double> &g, double iExt) const {
 
   auto V = BR_Pot(var);
 
@@ -219,14 +221,16 @@ MBeelerReuter::IIonUpdate(const vector<double> &var, vector<double> &g, double i
   }
 }
 
-void MBeelerReuter::ConcentrationUpdate(const vector<double> &var, vector<double> &g,
+void MBeelerReuter::ConcentrationUpdate(const std::vector<double> &var,
+                                        std::vector<double> &g,
                                         double iExt) const {
-  double I_s = g_s * BR_d(var) * BR_f(var) * (BR_Pot(var) - (-82.3 - 13.0287 * log(BR_Ca(var))));
+  double I_s = g_s * BR_d(var) * BR_f(var) *
+               (BR_Pot(var) - (-82.3 - 13.0287 * log(BR_Ca(var))));
   BR_Ca(g) = -0.0000001 * I_s + 0.07 * (0.0000001 - BR_Ca(var));
 }
 
-
-void MBeelerReuter::GatingUpdate(const std::vector<double> &var, vector<double> &g) const {
+void MBeelerReuter::GatingUpdate(const std::vector<double> &var,
+                                 std::vector<double> &g) const {
   if (useExpInt) return;
   auto V = BR_Pot(var);
 
@@ -238,7 +242,8 @@ void MBeelerReuter::GatingUpdate(const std::vector<double> &var, vector<double>
   BR_x_1(g) = (BR_yinfty_x_1(V) - BR_x_1(var)) / BR_tau_x_1(V);
 }
 
-void MBeelerReuter::UpdateValues(double dt, vector<double> &var, const vector<double> &g) const {
+void MBeelerReuter::UpdateValues(double dt, std::vector<double> &var,
+                                 const std::vector<double> &g) const {
   BR_Pot(var) += dt * BR_Pot(g);
   BR_Ca(var) += dt * BR_Ca(g);
   if (useExpInt) {
diff --git a/src/cellmodels/MBeelerReuter.hpp b/src/cellmodels/MBeelerReuter.hpp
index 3373d4c67c79dc1759734fcf457e7cca158e04dd..f33230ffe4e1031306d7045cd0b9e20d7c716708 100644
--- a/src/cellmodels/MBeelerReuter.hpp
+++ b/src/cellmodels/MBeelerReuter.hpp
@@ -52,7 +52,7 @@ class MBeelerReuter : public MElphyModel {
 
   [[nodiscard]] double dBeta(int i, double V) const;
 
-  [[nodiscard]] double dIiondV(const vector<double> &VW) const;
+  [[nodiscard]] double dIiondV(const std::vector<double> &VW) const;
 
   [[nodiscard]] double dIion(int j, const std::vector<double> &VW) const;
 
@@ -78,20 +78,24 @@ public:
 
   void Initialize(std::vector<double> &vw) override;
 
-  void IIonUpdate(const vector<double> &var, vector<double> &g, double iExt) const override;
+  void IIonUpdate(const std::vector<double> &var, std::vector<double> &g,
+                  double iExt) const override;
 
-  void
-  ConcentrationUpdate(const vector<double> &var, vector<double> &g, double iExt) const override;
+  void ConcentrationUpdate(const std::vector<double> &var,
+                           std::vector<double> &g, double iExt) const override;
 
-  void GatingUpdate(const vector<double> &var, vector<double> &g) const override;
+  void GatingUpdate(const std::vector<double> &var,
+                    std::vector<double> &g) const override;
 
-  void UpdateValues(double dt, vector<double> &var, const vector<double> &g) const override;
+  void UpdateValues(double dt, std::vector<double> &var,
+                    const std::vector<double> &g) const override;
 
-  void ExpIntegratorUpdate(double dt, const vector<double> &var, vector<double> &g) const override;
+  void ExpIntegratorUpdate(double dt, const std::vector<double> &var,
+                           std::vector<double> &g) const override;
 
-  vector<double> Tau(const vector<double> &var) const override;
+  std::vector<double> Tau(const std::vector<double> &var) const override;
 
-  vector<double> YInfty(const vector<double> &var) const override;
+  std::vector<double> YInfty(const std::vector<double> &var) const override;
 
   double GetIion(const std::vector<double> &var) const override;
 
diff --git a/src/cellmodels/MCellModel.cpp b/src/cellmodels/MCellModel.cpp
index a6b398dc0ffd7c119b25ecedae0d8d4dc2dd96ec..a3f75cf7db6283aa2738c1a8e37dcc08cb77a7fa 100644
--- a/src/cellmodels/MCellModel.cpp
+++ b/src/cellmodels/MCellModel.cpp
@@ -7,18 +7,18 @@
 
 
 std::unique_ptr<MElphyModel> GetElphyModel() {
-  string cmClass = "MElphyModel";
+  std::string cmClass = "MElphyModel";
   Config::Get("ElphyModelClass", cmClass);
 
   if(contains(cmClass,"IBT"))
     return GetElphyModel("IBTCellModel");
 
-  string cmName = "FitzHughNagumo";
+  std::string cmName = "FitzHughNagumo";
   Config::Get("ElphyModelName", cmName);
   return GetElphyModel(cmName);
 }
 
-std::unique_ptr<MElphyModel> GetElphyModel(const string &name) {
+std::unique_ptr<MElphyModel> GetElphyModel(const std::string &name) {
   if (name == "FitzHughNagumo") {
     return std::make_unique<MFitzHughNagumo>();
   }
@@ -28,16 +28,15 @@ std::unique_ptr<MElphyModel> GetElphyModel(const string &name) {
   if (name == "TenTusscher") {
     return std::make_unique<MTenTusscher>();
   }
-  if(contains(name, "IBT")){
+  if (contains(name, "IBT")) {
     return nullptr;
   }
 
   THROW(name + " cellmodel is not implemented.")
-
 }
 
-
-std::unique_ptr<MTensionModel> GetTensionModel(const string &name, std::unique_ptr<MElphyModel> &&M) {
+std::unique_ptr<MTensionModel> GetTensionModel(
+    const std::string &name, std::unique_ptr<MElphyModel> &&M) {
   if (name == "Rossi") {
     return std::make_unique<MRossi>(std::move(M));
   }
@@ -46,7 +45,7 @@ std::unique_ptr<MTensionModel> GetTensionModel(const string &name, std::unique_p
 }
 
 std::unique_ptr<MTensionModel> GetTensionModel(std::unique_ptr<MElphyModel> &&M) {
-  string cmName = "Rossi";
+  std::string cmName = "Rossi";
   Config::Get("TensionModelName", cmName);
   return GetTensionModel(cmName, std::move(M));
 }
diff --git a/src/cellmodels/MCellModel.hpp b/src/cellmodels/MCellModel.hpp
index 4f4ba7f8d9bd33984fec9f33558788b900a9ec37..242ff30c76f18f759b77deb7c296ad268b5cb4bf 100644
--- a/src/cellmodels/MCellModel.hpp
+++ b/src/cellmodels/MCellModel.hpp
@@ -78,8 +78,8 @@ public:
    * @param var current values at time t
    * @param[out] g stores the next value var(t+dt)
    */
-  virtual void
-  ExpIntegratorUpdate(double dt, const vector<double> &var, vector<double> &g) const {};
+  virtual void ExpIntegratorUpdate(double dt, const std::vector<double> &var,
+                                   std::vector<double> &g) const {};
 
   /**
    * Calculates the change rates of concentration-type variables and stores the results in g.
@@ -88,7 +88,8 @@ public:
    * @param[out] g change rates
    * @param iExt external Current
    */
-  virtual void ConcentrationUpdate(const std::vector<double> &var, vector<double> &g,
+  virtual void ConcentrationUpdate(const std::vector<double> &var,
+                                   std::vector<double> &g,
                                    double iExt) const {};
 
   /**
@@ -97,7 +98,8 @@ public:
    * @param var current values at time t
    * @param[out] g change rates
    */
-  virtual void GatingUpdate(const std::vector<double> &var, vector<double> &g) const {};
+  virtual void GatingUpdate(const std::vector<double> &var,
+                            std::vector<double> &g) const {};
 
   /**
    * Calculates the change rates of all variables and stores the results in g.
@@ -105,8 +107,8 @@ public:
    * @param[out] g change rates
    * @param iExt external current
    */
-  virtual void
-  RHSUpdate(const std::vector<double> &var, vector<double> &g, double iExt) const = 0;
+  virtual void RHSUpdate(const std::vector<double> &var, std::vector<double> &g,
+                         double iExt) const = 0;
 
   /**
    * Updates the values with the given timestep and change rates
@@ -114,7 +116,8 @@ public:
    * @param[out] var values which are updated
    * @param g change rates (time derivatives of the correspondig ODE, depending on the method)
    */
-  virtual void UpdateValues(double dt, std::vector<double> &var, const vector<double> &g) const = 0;
+  virtual void UpdateValues(double dt, std::vector<double> &var,
+                            const std::vector<double> &g) const = 0;
 
   /**
    * Returns a value to initialize external components
@@ -131,7 +134,7 @@ public:
    * for the given cell model.
    * @param var current values to calculate tau
    */
-  virtual std::vector<double> Tau(const vector<double> &var) const {
+  virtual std::vector<double> Tau(const std::vector<double> &var) const {
     THROW("Not implemented in base class")
   }
 
@@ -140,7 +143,7 @@ public:
    * variables for the given cell model.
    * @param var current values to calculate y_infty
    */
-  virtual std::vector<double> YInfty(const vector<double> &var) const {
+  virtual std::vector<double> YInfty(const std::vector<double> &var) const {
     THROW("Not implemented in base class")
   }
 
@@ -176,10 +179,11 @@ public:
     return initialPotential();
   };
 
-  virtual void
-  IIonUpdate(const std::vector<double> &var, vector<double> &g, double iExt) const {};
+  virtual void IIonUpdate(const std::vector<double> &var,
+                          std::vector<double> &g, double iExt) const {};
 
-  void RHSUpdate(const vector<double> &var, vector<double> &g, double iExt) const override {
+  void RHSUpdate(const std::vector<double> &var, std::vector<double> &g,
+                 double iExt) const override {
     IIonUpdate(var, g, iExt);
     ConcentrationUpdate(var, g, iExt);
     GatingUpdate(var, g);
@@ -231,43 +235,47 @@ public:
     elphy->UseExpInt(expInt);
   }
 
-  vector<double> Tau(const vector<double> &var) const override {
+  std::vector<double> Tau(const std::vector<double> &var) const override {
     return elphy->Tau(var);
   }
 
-  vector<double> YInfty(const vector<double> &var) const override {
+  std::vector<double> YInfty(const std::vector<double> &var) const override {
     return elphy->YInfty(var);
   }
 
-  double JacobiEntry(int i, int j, const vector<double> &VW) const override {
+  double JacobiEntry(int i, int j,
+                     const std::vector<double> &VW) const override {
     return elphy->JacobiEntry(i, j, VW);
   };
 
-  void AlgebraicUpdate(double dt, vector<double> &var) const override {
+  void AlgebraicUpdate(double dt, std::vector<double> &var) const override {
     elphy->AlgebraicUpdate(dt, var);
   };
 
-  void ExpIntegratorUpdate(double dt, const vector<double> &var, vector<double> &g) const override {
+  void ExpIntegratorUpdate(double dt, const std::vector<double> &var,
+                           std::vector<double> &g) const override {
     elphy->ExpIntegratorUpdate(dt, var, g);
   };
 
-  void
-  ConcentrationUpdate(const vector<double> &var, vector<double> &g, double iExt) const override {
+  void ConcentrationUpdate(const std::vector<double> &var,
+                           std::vector<double> &g, double iExt) const override {
     elphy->ConcentrationUpdate(var, g, iExt);
     TensionUpdate(var, g, iExt);
   };
 
-  void GatingUpdate(const vector<double> &var, vector<double> &g) const override {
+  void GatingUpdate(const std::vector<double> &var,
+                    std::vector<double> &g) const override {
     elphy->GatingUpdate(var, g);
   };
 
-
-  void RHSUpdate(const vector<double> &var, vector<double> &g, double iExt) const override {
+  void RHSUpdate(const std::vector<double> &var, std::vector<double> &g,
+                 double iExt) const override {
     elphy->RHSUpdate(var, g, iExt);
     TensionUpdate(var, g, iExt);
   };
 
-  virtual void TensionUpdate(const vector<double> &var, vector<double> &g, double iExt) const = 0;
+  virtual void TensionUpdate(const std::vector<double> &var,
+                             std::vector<double> &g, double iExt) const = 0;
 };
 
 static std::vector<int> ConcentrationIndices(const MCellModel &M) {
@@ -283,9 +291,10 @@ static std::vector<int> ConcentrationIndices(const MCellModel &M) {
 
 std::unique_ptr<MElphyModel> GetElphyModel();
 
-std::unique_ptr<MElphyModel> GetElphyModel(const string &name);
+std::unique_ptr<MElphyModel> GetElphyModel(const std::string &name);
 
-std::unique_ptr<MTensionModel> GetTensionModel(const string &name, std::unique_ptr<MElphyModel> &&);
+std::unique_ptr<MTensionModel> GetTensionModel(const std::string &name,
+                                               std::unique_ptr<MElphyModel> &&);
 
 std::unique_ptr<MTensionModel> GetTensionModel(std::unique_ptr<MElphyModel> &&);
 
diff --git a/src/cellmodels/MFitzHughNagumo.cpp b/src/cellmodels/MFitzHughNagumo.cpp
index 1e9899342059989c9a382c74845d6bc2c1a638c8..bbf3f921cfb1358c4e7db36ee655674aac75644b 100644
--- a/src/cellmodels/MFitzHughNagumo.cpp
+++ b/src/cellmodels/MFitzHughNagumo.cpp
@@ -7,32 +7,35 @@ void MFitzHughNagumo::Initialize(Vectors &var) {
   var[1] = 0.0;
 }
 
-void MFitzHughNagumo::Initialize(vector<double> &var) {
+void MFitzHughNagumo::Initialize(std::vector<double> &var) {
   var[0] = initialPotential();
   var[1] = 0.0;
 }
 
-vector<double> MFitzHughNagumo::Tau(const vector<double> &var) const {
+std::vector<double> MFitzHughNagumo::Tau(const std::vector<double> &var) const {
   return {};
 }
 
-vector<double> MFitzHughNagumo::YInfty(const vector<double> &var) const {
+std::vector<double> MFitzHughNagumo::YInfty(
+    const std::vector<double> &var) const {
   return {};
 }
 
-void
-MFitzHughNagumo::IIonUpdate(const vector<double> &var, vector<double> &g, double iExt) const {
+void MFitzHughNagumo::IIonUpdate(const std::vector<double> &var,
+                                 std::vector<double> &g, double iExt) const {
   double mVolt = var[0];
   g[0] = c1 * mVolt * (mVolt - a) * (1 - mVolt) - c2 * var[1] + iExt;
 }
 
-void MFitzHughNagumo::ConcentrationUpdate(const vector<double> &var, vector<double> &g,
+void MFitzHughNagumo::ConcentrationUpdate(const std::vector<double> &var,
+                                          std::vector<double> &g,
                                           double iExt) const {
   double mVolt = var[0];
   g[1] = b * (mVolt - c3 * var[1]);
 }
 
-void MFitzHughNagumo::UpdateValues(double dt, vector<double> &var, const vector<double> &g) const {
+void MFitzHughNagumo::UpdateValues(double dt, std::vector<double> &var,
+                                   const std::vector<double> &g) const {
   var[0] += dt * g[0];
   var[1] += dt * g[1];
 }
diff --git a/src/cellmodels/MFitzHughNagumo.hpp b/src/cellmodels/MFitzHughNagumo.hpp
index 3d02e5e6392ff74ae678e63fd9de714e339ca032..a38db43a259de2843b3f4360f131544f9c6db893 100644
--- a/src/cellmodels/MFitzHughNagumo.hpp
+++ b/src/cellmodels/MFitzHughNagumo.hpp
@@ -30,16 +30,18 @@ public:
 
   void Initialize(std::vector<double> &vw) override;
 
-  void IIonUpdate(const vector<double> &var, vector<double> &g, double iExt) const override;
+  void IIonUpdate(const std::vector<double> &var, std::vector<double> &g,
+                  double iExt) const override;
 
-  void
-  ConcentrationUpdate(const vector<double> &var, vector<double> &g, double iExt) const override;
+  void ConcentrationUpdate(const std::vector<double> &var,
+                           std::vector<double> &g, double iExt) const override;
 
-  void UpdateValues(double dt, vector<double> &var, const vector<double> &g) const override;
+  void UpdateValues(double dt, std::vector<double> &var,
+                    const std::vector<double> &g) const override;
 
-  vector<double> Tau(const vector<double> &var) const override;
+  std::vector<double> Tau(const std::vector<double> &var) const override;
 
-  vector<double> YInfty(const vector<double> &var) const override;
+  std::vector<double> YInfty(const std::vector<double> &var) const override;
 };
 
 #endif //MFITZHUGHNAGUMO_HPP
diff --git a/src/cellmodels/MRossi.cpp b/src/cellmodels/MRossi.cpp
index 43d95401e6df50bbe4cd77a8a85fc451ab1714cb..bb910f390631ff35366f82c66577b01da5ffb78a 100644
--- a/src/cellmodels/MRossi.cpp
+++ b/src/cellmodels/MRossi.cpp
@@ -41,7 +41,7 @@ void MRossi::Initialize(Vectors &vectors) {
   restingCA = elphyValues[elphy->CalciumIndex()] * elphy->CAScale();
 }
 
-void MRossi::Initialize(vector<double> &vw) {
+void MRossi::Initialize(std::vector<double> &vw) {
   elphy->Initialize(vw);
   R_gamma(vw) = 0.0;
   R_force(vw) = 0.0;
@@ -49,7 +49,8 @@ void MRossi::Initialize(vector<double> &vw) {
   restingCA = vw[elphy->CalciumIndex()] * elphy->CAScale();
 }
 
-void MRossi::TensionUpdate(const vector<double> &var, vector<double> &g, double iExt) const {
+void MRossi::TensionUpdate(const std::vector<double> &var,
+                           std::vector<double> &g, double iExt) const {
   double gamma = R_gamma(var);
   double ca = var[elphy->CalciumIndex()] * elphy->CAScale();
   double iota = R_iota(var);
@@ -73,7 +74,8 @@ void MRossi::TensionUpdate(const vector<double> &var, vector<double> &g, double
   R_force(g) = activeForce;
 }
 
-void MRossi::UpdateValues(double dt, vector<double> &var, const vector<double> &g) const {
+void MRossi::UpdateValues(double dt, std::vector<double> &var,
+                          const std::vector<double> &g) const {
   elphy->UpdateValues(dt, var, g);
   R_gamma(var) += dt * R_gamma(g);
   R_force(var) += dt * R_force(g);
diff --git a/src/cellmodels/MRossi.hpp b/src/cellmodels/MRossi.hpp
index 1012ed2b7b53e3c1bcfc2d92bca4aa730866f195..42cbc800629e1ddfb744c95f433d55aef01a3b17 100644
--- a/src/cellmodels/MRossi.hpp
+++ b/src/cellmodels/MRossi.hpp
@@ -58,11 +58,11 @@ public:
    * 1. calcium
    * 2. I4 (macroscopic second material invariant)
    */
-  void TensionUpdate(const vector<double> &var, vector<double> &g, double iExt) const override;
-
-  void UpdateValues(double dt, vector<double> &var, const vector<double> &g) const override;
-
+  void TensionUpdate(const std::vector<double> &var, std::vector<double> &g,
+                     double iExt) const override;
 
+  void UpdateValues(double dt, std::vector<double> &var,
+                    const std::vector<double> &g) const override;
 };
 
 #endif //MROSSI_HPP
diff --git a/src/cellmodels/MTenTusscher.cpp b/src/cellmodels/MTenTusscher.cpp
index 92cc64fbb7187a85f1b57ddf443e4da5fdb41efd..97f5809ddc30db3515dd076b276de2172ef54a47 100644
--- a/src/cellmodels/MTenTusscher.cpp
+++ b/src/cellmodels/MTenTusscher.cpp
@@ -23,7 +23,7 @@ void MTenTusscher::Initialize(Vectors &VW) {
 
 }
 
-void MTenTusscher::Initialize(vector<double> &vw) {
+void MTenTusscher::Initialize(std::vector<double> &vw) {
   TT_Pot(vw) = initialPotential();
   TT_Ca(vw) = 0.000126;//0.00007//0.000153;
   TT_Ca_SS(vw) = 0.00036;//0.00007//0.00042;
@@ -43,7 +43,6 @@ void MTenTusscher::Initialize(vector<double> &vw) {
   TT_f_2(vw) = 0.9755; // 1.0//0.9526;
   TT_f_Ca(vw) = 0.9953; // 1.0// 0.9942;
   TT_R_quer(vw) = 0.9073; // 1.0//0.8978;
-
 }
 
 double tauFormula_h(double V) {
@@ -94,42 +93,51 @@ double tauFormula_j(double V) {
 #define TT_yinfty_f_2(V)  (0.67 / (1. + exp((V + 35.) / 7)) + 0.33)
 #define TT_yinfty_f_Ca(CaSS)  (0.6 / (1 + (CaSS / 0.05) * (CaSS / 0.05)) + 0.4)
 
-
-void
-MTenTusscher::ExpIntegratorUpdate(double dt, const vector<double> &var, vector<double> &g) const {
-  if (!useExpInt) return;
+void MTenTusscher::ExpIntegratorUpdate(double dt,
+                                       const std::vector<double> &var,
+                                       std::vector<double> &g) const {
+  if (!useExpInt)
+    return;
 
   // This should not be here!
   double kcasr =
-      max_sr - ((max_sr - min_sr) / (1.00000 + (EC / TT_Ca_SR(var)) * (EC / TT_Ca_SR(var)))); // x
-  double k_2 = k_2prime * kcasr; // x
-  TT_R_quer(g) =
-      TT_R_quer(var) + dt * (k_4 * (1 - TT_R_quer(var)) - k_2 * TT_Ca_SS(var) * TT_R_quer(var));
-
+      max_sr - ((max_sr - min_sr) /
+                (1.00000 + (EC / TT_Ca_SR(var)) * (EC / TT_Ca_SR(var))));  // x
+  double k_2 = k_2prime * kcasr;                                           // x
+  TT_R_quer(g) = TT_R_quer(var) + dt * (k_4 * (1 - TT_R_quer(var)) -
+                                        k_2 * TT_Ca_SS(var) * TT_R_quer(var));
 
   double V = TT_Pot(var);
-  TT_m(g) = (TT_yinfty_m(V) - (TT_yinfty_m(V) - TT_m(var)) * exp(-dt / TT_tau_m(V)));
-  TT_h(g) = (TT_yinfty_h(V) - (TT_yinfty_h(V) - TT_h(var)) * exp(-dt / TT_tau_h(V)));
-  TT_j(g) = (TT_yinfty_j(V) - (TT_yinfty_j(V) - TT_j(var)) * exp(-dt / TT_tau_j(V)));
+  TT_m(g) =
+      (TT_yinfty_m(V) - (TT_yinfty_m(V) - TT_m(var)) * exp(-dt / TT_tau_m(V)));
+  TT_h(g) =
+      (TT_yinfty_h(V) - (TT_yinfty_h(V) - TT_h(var)) * exp(-dt / TT_tau_h(V)));
+  TT_j(g) =
+      (TT_yinfty_j(V) - (TT_yinfty_j(V) - TT_j(var)) * exp(-dt / TT_tau_j(V)));
   TT_x_r1(g) = (TT_yinfty_x_r1(V) -
-                                    (TT_yinfty_x_r1(V) - TT_x_r1(var)) * exp(-dt / TT_tau_x_r1(V)));
+                (TT_yinfty_x_r1(V) - TT_x_r1(var)) * exp(-dt / TT_tau_x_r1(V)));
   TT_x_r2(g) = (TT_yinfty_x_r2(V) -
-                                    (TT_yinfty_x_r2(V) - TT_x_r2(var)) * exp(-dt / TT_tau_x_r2(V)));
-  TT_x_s(g) =  (TT_yinfty_x_s(V) - (TT_yinfty_x_s(V) - TT_x_s(var)) * exp(-dt / TT_tau_x_s(V)));
-  TT_s(g) = (TT_yinfty_s(V) - (TT_yinfty_s(V) - TT_s(var)) * exp(-dt / TT_tau_s(V)));
-  TT_r(g) = (TT_yinfty_r(V) - (TT_yinfty_r(V) - TT_r(var)) * exp(-dt / TT_tau_r(V)));
-  TT_d(g) =(TT_yinfty_d(V) - (TT_yinfty_d(V) - TT_d(var)) * exp(-dt / TT_tau_d(V)));
-  TT_f(g) = (TT_yinfty_f(V) -
-                              (TT_yinfty_f(V) - TT_f(var)) * exp(-dt / TT_tau_f(V)));
-  TT_f_2(g) = (TT_yinfty_f_2(V) - (TT_yinfty_f_2(V) - TT_f_2(var)) * exp(-dt / TT_tau_f_2(V)));
+                (TT_yinfty_x_r2(V) - TT_x_r2(var)) * exp(-dt / TT_tau_x_r2(V)));
+  TT_x_s(g) = (TT_yinfty_x_s(V) -
+               (TT_yinfty_x_s(V) - TT_x_s(var)) * exp(-dt / TT_tau_x_s(V)));
+  TT_s(g) =
+      (TT_yinfty_s(V) - (TT_yinfty_s(V) - TT_s(var)) * exp(-dt / TT_tau_s(V)));
+  TT_r(g) =
+      (TT_yinfty_r(V) - (TT_yinfty_r(V) - TT_r(var)) * exp(-dt / TT_tau_r(V)));
+  TT_d(g) =
+      (TT_yinfty_d(V) - (TT_yinfty_d(V) - TT_d(var)) * exp(-dt / TT_tau_d(V)));
+  TT_f(g) =
+      (TT_yinfty_f(V) - (TT_yinfty_f(V) - TT_f(var)) * exp(-dt / TT_tau_f(V)));
+  TT_f_2(g) = (TT_yinfty_f_2(V) -
+               (TT_yinfty_f_2(V) - TT_f_2(var)) * exp(-dt / TT_tau_f_2(V)));
 
   auto caSS = TT_Ca_SS(var);
-  TT_f_Ca(g) =
-      TT_yinfty_f_Ca(caSS) - (TT_yinfty_f_Ca(caSS) - TT_f_Ca(var)) * exp(-dt / TT_tau_f_Ca(caSS));
+  TT_f_Ca(g) = TT_yinfty_f_Ca(caSS) - (TT_yinfty_f_Ca(caSS) - TT_f_Ca(var)) *
+                                          exp(-dt / TT_tau_f_Ca(caSS));
 }
 
-
-std::vector<double> MTenTusscher::calculateCurrents(const vector<double> &var) const {
+std::vector<double> MTenTusscher::calculateCurrents(
+    const std::vector<double> &var) const {
   double V = TT_Pot(var);
 
   // reverse potentials
@@ -180,8 +188,7 @@ double MTenTusscher::oQuer(const std::vector<double> &var) const {
          (k_3 + k_1 * TT_Ca_SS(var) * TT_Ca_SS(var));
 }
 
-
-vector<double> MTenTusscher::Tau(const vector<double> &var) const {
+std::vector<double> MTenTusscher::Tau(const std::vector<double> &var) const {
   auto V = TT_Pot(var);
   return {
       TT_tau_m(V),
@@ -197,10 +204,9 @@ vector<double> MTenTusscher::Tau(const vector<double> &var) const {
       TT_tau_f_2(V)  /*,
 TT_tau_f_Ca(CaSS)*/
   };
-
 }
 
-vector<double> MTenTusscher::YInfty(const vector<double> &var) const {
+std::vector<double> MTenTusscher::YInfty(const std::vector<double> &var) const {
   auto V = TT_Pot(var);
   return {
       TT_yinfty_m(V),
@@ -217,7 +223,8 @@ vector<double> MTenTusscher::YInfty(const vector<double> &var) const {
 TT_yinfty_f_Ca(CaSS)*/ };
 }
 
-void MTenTusscher::IIonUpdate(const vector<double> &var, vector<double> &g, double iExt) const {
+void MTenTusscher::IIonUpdate(const std::vector<double> &var,
+                              std::vector<double> &g, double iExt) const {
   auto currents = calculateCurrents(var);
   TT_Pot(g)=- TT_I_Na(currents)
               - TT_I_CaL(currents)
@@ -236,8 +243,9 @@ void MTenTusscher::IIonUpdate(const vector<double> &var, vector<double> &g, doub
   }
 }
 
-void
-MTenTusscher::ConcentrationUpdate(const vector<double> &var, vector<double> &g, double iExt) const {
+void MTenTusscher::ConcentrationUpdate(const std::vector<double> &var,
+                                       std::vector<double> &g,
+                                       double iExt) const {
   auto ion = calculateCurrents(var);
   double I_leak = V_leak * (TT_Ca_SR(var) - TT_Ca(var)); // x
   double I_up = V_maxup / (1.00000 + ((K_up * K_up) / (TT_Ca(var) * TT_Ca(var)))); //x
@@ -261,8 +269,10 @@ MTenTusscher::ConcentrationUpdate(const vector<double> &var, vector<double> &g,
             (F * V_c) * Capacitance; // x
 }
 
-void MTenTusscher::GatingUpdate(const vector<double> &var, vector<double> &g) const {
-  if (useExpInt) return;
+void MTenTusscher::GatingUpdate(const std::vector<double> &var,
+                                std::vector<double> &g) const {
+  if (useExpInt)
+    return;
 
   double V = TT_Pot(var);
   TT_m(g) = (TT_yinfty_m(V) - TT_m(var)) / TT_tau_m(V);
@@ -276,28 +286,28 @@ void MTenTusscher::GatingUpdate(const vector<double> &var, vector<double> &g) co
   TT_d(g) = (TT_yinfty_d(V) - TT_d(var)) / TT_tau_d(V);
   TT_f(g) = (TT_yinfty_f(V) - TT_f(var)) / TT_tau_f(V);
   TT_f_2(g) = (TT_yinfty_f_2(V) - TT_f_2(var)) / TT_tau_f_2(V);
-  TT_f_Ca(g) = (TT_yinfty_f_Ca(TT_Ca_SS(var)) - TT_f_Ca(var)) / TT_tau_f_Ca(TT_Ca_SS(var));
-
+  TT_f_Ca(g) = (TT_yinfty_f_Ca(TT_Ca_SS(var)) - TT_f_Ca(var)) /
+               TT_tau_f_Ca(TT_Ca_SS(var));
 
   double kcasr =
-      max_sr - ((max_sr - min_sr) / (1.00000 + (EC / TT_Ca_SR(var)) * (EC / TT_Ca_SR(var)))); // x
-  double k_2 = k_2prime * kcasr; // x
-  TT_R_quer(g) =
-      k_4 * (1 - TT_R_quer(var)) - k_2 * TT_Ca_SS(var) * TT_R_quer(var);//von tentusscher // x
+      max_sr - ((max_sr - min_sr) /
+                (1.00000 + (EC / TT_Ca_SR(var)) * (EC / TT_Ca_SR(var))));  // x
+  double k_2 = k_2prime * kcasr;                                           // x
+  TT_R_quer(g) = k_4 * (1 - TT_R_quer(var)) -
+                 k_2 * TT_Ca_SS(var) * TT_R_quer(var);  // von tentusscher // x
 
   /* Vorher:
-  * double alpha_quer = k_4;
-  * double beta_quer = k_2 * Ca_SS(var);
-  * double y_infty_R = alpha_quer / (alpha_quer + beta_quer);
-  * double TT_tau_R = 1 / (alpha_quer + beta_quer);
-  * return y_infty_R + (R_quer - y_infty_R) * exp (-dt* TimeScale() * 1/TT_tau_R);
-  */
+   * double alpha_quer = k_4;
+   * double beta_quer = k_2 * Ca_SS(var);
+   * double y_infty_R = alpha_quer / (alpha_quer + beta_quer);
+   * double TT_tau_R = 1 / (alpha_quer + beta_quer);
+   * return y_infty_R + (R_quer - y_infty_R) * exp (-dt* TimeScale() *
+   * 1/TT_tau_R);
+   */
 }
 
-
-void MTenTusscher::UpdateValues(double dt, vector<double> &var, const vector<double> &g) const {
-
-
+void MTenTusscher::UpdateValues(double dt, std::vector<double> &var,
+                                const std::vector<double> &g) const {
   if (useExpInt) {
     TT_R_quer(var) = TT_R_quer(g);
   } else {
@@ -359,7 +369,7 @@ void MTenTusscher::UpdateValues(double dt, vector<double> &var, const vector<dou
   TT_Pot(var) += dt * TT_Pot(g);
 }
 
-double MTenTusscher::GetIion(const vector<double> &var) const {
+double MTenTusscher::GetIion(const std::vector<double> &var) const {
   auto ionCurrents = calculateCurrents(var);
   return std::accumulate(ionCurrents.begin(), ionCurrents.end(), 0.0);
 }
diff --git a/src/cellmodels/MTenTusscher.hpp b/src/cellmodels/MTenTusscher.hpp
index 02f1ed56ce52a8ef148b2b33d80b6e2374db4abf..709cf6aac9ff47b9714ee49ec46d7fabddbd34df 100644
--- a/src/cellmodels/MTenTusscher.hpp
+++ b/src/cellmodels/MTenTusscher.hpp
@@ -97,9 +97,9 @@ class MTenTusscher : public MElphyModel {
 
   double initialPotential() const override { return -85.23; } //-86.2//-85.423
 
-  double oQuer(const vector<double> &var) const;
+  double oQuer(const std::vector<double> &var) const;
 
-  std::vector<double> calculateCurrents(const vector<double> &var) const;
+  std::vector<double> calculateCurrents(const std::vector<double> &var) const;
 
 public:
   explicit MTenTusscher() : MElphyModel(19, 1000.0, 1e3) {
@@ -118,21 +118,24 @@ public:
 
   void Initialize(std::vector<double> &vw) override;
 
-  void IIonUpdate(const vector<double> &var, vector<double> &g, double iExt) const override;
+  void IIonUpdate(const std::vector<double> &var, std::vector<double> &g,
+                  double iExt) const override;
 
-  void
-  ConcentrationUpdate(const vector<double> &var, vector<double> &g, double iExt) const override;
+  void ConcentrationUpdate(const std::vector<double> &var,
+                           std::vector<double> &g, double iExt) const override;
 
-  void GatingUpdate(const vector<double> &var, vector<double> &g) const override;
+  void GatingUpdate(const std::vector<double> &var,
+                    std::vector<double> &g) const override;
 
-  void ExpIntegratorUpdate(double dt, const vector<double> &var, vector<double> &g) const override;
+  void ExpIntegratorUpdate(double dt, const std::vector<double> &var,
+                           std::vector<double> &g) const override;
 
+  std::vector<double> Tau(const std::vector<double> &var) const override;
 
-  vector<double> Tau(const vector<double> &var) const override;
+  std::vector<double> YInfty(const std::vector<double> &var) const override;
 
-  vector<double> YInfty(const vector<double> &var) const override;
-
-  void UpdateValues(double dt, vector<double> &var, const vector<double> &g) const;
+  void UpdateValues(double dt, std::vector<double> &var,
+                    const std::vector<double> &g) const;
 
   double GetIion(const std::vector<double> &var) const override;
 };
diff --git a/src/cellmodels/solvers/MCellSolver.cpp b/src/cellmodels/solvers/MCellSolver.cpp
index b0e25041ebbd71e5d668742f4511c08390bdb899..5189d32d7561ef731b1098af665a5e52346d6caf 100644
--- a/src/cellmodels/solvers/MCellSolver.cpp
+++ b/src/cellmodels/solvers/MCellSolver.cpp
@@ -1,13 +1,15 @@
 #include "MCellSolver.hpp"
 
-void ExplicitEulerStep(MCellModel &cellModel, double t, double dt, vector<double> &VW,
-                       vector<std::vector<double>> &g) {
+void ExplicitEulerStep(MCellModel &cellModel, double t, double dt,
+                       std::vector<double> &VW,
+                       std::vector<std::vector<double>> &g) {
   cellModel.RHSUpdate(VW, g[0], cellModel.IExt(t));
   cellModel.UpdateValues(dt, VW, g[0]);
 }
 
-void RungeKutte2Step(MCellModel &cellModel, double t, double dt, vector<double> &VW,
-                     vector<std::vector<double>> &g) {
+void RungeKutte2Step(MCellModel &cellModel, double t, double dt,
+                     std::vector<double> &VW,
+                     std::vector<std::vector<double>> &g) {
   std::vector<double> k(VW.size());
   std::uninitialized_copy(VW.begin(), VW.end(), k.begin());
 
@@ -17,8 +19,8 @@ void RungeKutte2Step(MCellModel &cellModel, double t, double dt, vector<double>
   cellModel.RHSUpdate(k, g[1], cellModel.IExt(t+0.5*dt));
   cellModel.UpdateValues(dt, VW, g[1]);
 }
-void HeunStep(MCellModel &cellModel, double t, double dt, vector<double> &VW,
-              vector<std::vector<double>> &g){
+void HeunStep(MCellModel &cellModel, double t, double dt,
+              std::vector<double> &VW, std::vector<std::vector<double>> &g) {
   std::vector<double> k(VW.size());
   std::uninitialized_copy(VW.begin(), VW.end(), k.begin());
 
@@ -32,8 +34,9 @@ void HeunStep(MCellModel &cellModel, double t, double dt, vector<double> &VW,
   cellModel.UpdateValues(0.5*dt, VW, g[0]);
 }
 
-void RungeKutta4Step(MCellModel &cellModel, double t, double dt, vector<double> &VW,
-                     vector<std::vector<double>> &g) {
+void RungeKutta4Step(MCellModel &cellModel, double t, double dt,
+                     std::vector<double> &VW,
+                     std::vector<std::vector<double>> &g) {
   std::vector<double> k(VW.size());
   std::uninitialized_copy(VW.begin(), VW.end(), k.begin());
 
diff --git a/src/cellmodels/solvers/MElphySolver.cpp b/src/cellmodels/solvers/MElphySolver.cpp
index c0f30225e48ecdcddd63e77854915bd4e303ff36..145d4d5d74b62a607ae81e1c954c936ae91ec39b 100644
--- a/src/cellmodels/solvers/MElphySolver.cpp
+++ b/src/cellmodels/solvers/MElphySolver.cpp
@@ -98,7 +98,7 @@ void MElphySolver::ComputeAndPrintEigenvalues(const std::vector<double> &VW) {
   }
 }
 
-void MElphySolver::fillTimeIndependant(vector<double> vector, Vectors &vectors, row row, int j) {
+void MElphySolver::fillTimeIndependant(std::vector<double> vector, Vectors &vectors, row row, int j) {
 
   cellModel.SetExternal(Excitation(excData, row, j), Duration(excData, row, j),
                           Amplitude(excData, row, j));
@@ -118,7 +118,7 @@ void MElphySolver::Solve(TimeSeries &microTS, Vector &u) {
   u = V[0];
 }
 
-void MElphySolver::Solve(TimeSeries &microTS, vector<double> &u) {
+void MElphySolver::Solve(TimeSeries &microTS, std::vector<double> &u) {
   u.resize(microTS.Steps() + 1);
 
   std::vector<double> vw(size);
@@ -172,7 +172,7 @@ void MElphySolver::PrintMaxMinGating() const {
   vout(1) << endl;
 }
 
-void MElphySolver::selectScheme(const string &solvingScheme) {
+void MElphySolver::selectScheme(const std::string &solvingScheme) {
   if (getSplitting() == STEIN) {
     steps = 2;
     SolveStep = HeunStep;
@@ -214,7 +214,8 @@ void MElphySolver::SetExternal(std::vector<double> values) {
   cellModel.SetExternal(values[0], values[1], values[2]);
 }
 
-void MElphySolver::Solve(TimeSeries &microTS, vector<std::vector<double>> &u) {
+void MElphySolver::Solve(TimeSeries &microTS,
+                         std::vector<std::vector<double>> &u) {
   u.resize(microTS.Steps() + 1);
 
   std::vector<double> vw(cellModel.Size() + (cellModel.Type() == TENSION));
@@ -224,7 +225,8 @@ void MElphySolver::Solve(TimeSeries &microTS, vector<std::vector<double>> &u) {
   }
   cellModel.Initialize(vw);
   if (cellModel.Type() == TENSION) {
-    vw[cellModel.Size()] = (1.0 + vw[cellModel.ElphySize()]) * (1.0 + vw[cellModel.ElphySize()]);
+    vw[cellModel.Size()] =
+        (1.0 + vw[cellModel.ElphySize()]) * (1.0 + vw[cellModel.ElphySize()]);
   }
 
   u[0] = vw;
@@ -239,9 +241,9 @@ void MElphySolver::Solve(TimeSeries &microTS, vector<std::vector<double>> &u) {
   }
 }
 
-
-void ExponentialIntegratorStep(MCellModel &cellModel, double t, double dt, vector<double> &VW,
-                               vector<std::vector<double>> &g) {
+void ExponentialIntegratorStep(MCellModel &cellModel, double t, double dt,
+                               std::vector<double> &VW,
+                               std::vector<std::vector<double>> &g) {
   int position = cellModel.GatingIndex();
 
   cellModel.ExpIntegratorUpdate(dt, VW, g[0]);
@@ -253,12 +255,11 @@ void ExponentialIntegratorStep(MCellModel &cellModel, double t, double dt, vecto
   for (int i =1;i<position;i++){
     VW[i] += dt * g[0][i];
   }*/
-
-
 }
 
-void EIWithNewtonStep(MCellModel &cellModel, double t, double dt, vector<double> &VW,
-                      vector<std::vector<double>> &g) {
+void EIWithNewtonStep(MCellModel &cellModel, double t, double dt,
+                      std::vector<double> &VW,
+                      std::vector<std::vector<double>> &g) {
   double mVolt = VW[0];
   int position = cellModel.GatingIndex();
 
@@ -272,8 +273,9 @@ void EIWithNewtonStep(MCellModel &cellModel, double t, double dt, vector<double>
   }
 }
 
-void EigenvalueStep(MCellModel &cellModel, double t, double dt, vector<double> &VW,
-                    vector<std::vector<double>> &g) {
+void EigenvalueStep(MCellModel &cellModel, double t, double dt,
+                    std::vector<double> &VW,
+                    std::vector<std::vector<double>> &g) {
   double mVolt = VW[0];
   double volt = mVolt / 1000.;
 
@@ -291,7 +293,6 @@ void EigenvalueStep(MCellModel &cellModel, double t, double dt, vector<double> &
   }
 }
 
-
 /*void MEigenvalueSolver::ComputeAndPrintEigenvalues(std::vector<double> &VW) {
   int n = cellModel.GatingDim()+1;
   std::vector<std::vector<double>> J(n);
diff --git a/src/cellmodels/solvers/MElphySolver.hpp b/src/cellmodels/solvers/MElphySolver.hpp
index 4da76d8633362bba650924c9888ea3a587ceadad..38120d3ff3dadfbbc941f03d4063d2d7704ef524 100644
--- a/src/cellmodels/solvers/MElphySolver.hpp
+++ b/src/cellmodels/solvers/MElphySolver.hpp
@@ -10,8 +10,9 @@ void ExponentialIntegratorStep(MCellModel &cellModel, double t, double dt, std::
 void EigenvalueStep(MCellModel &cellModel, double t, double dt, std::vector<double> &VW,
                     std::vector<std::vector<double>> &g);
 
-void EIWithNewtonStep(MCellModel &cellModel, double t, double dt, vector<double> &VW,
-                      vector<std::vector<double>> &g);
+void EIWithNewtonStep(MCellModel &cellModel, double t, double dt,
+                      std::vector<double> &VW,
+                      std::vector<std::vector<double>> &g);
 
 class MElphySolver : public MCellSolver {
   MCellModel &cellModel;
@@ -23,22 +24,23 @@ class MElphySolver : public MCellSolver {
 
 
 
-  void selectScheme(const string &solvingScheme);
+  void selectScheme(const std::string &solvingScheme);
 
   std::function<void(MCellModel &, double, double, std::vector<double> &,
                      std::vector<std::vector<double>> &)> SolveStep;
 
-  void fillTimeIndependant(vector<double> vector, Vectors &vectors, row row, int j = 0);
+  void fillTimeIndependant(std::vector<double> vector, Vectors &vectors, row row, int j = 0);
 public :
   explicit MElphySolver(MCellModel &M, const Vector &data) : MCellSolver(M.Size()),
                                                              cellModel(M), excData(data) {
-    string solvingScheme{"ExplicitEuler"};
+    std::string solvingScheme{"ExplicitEuler"};
     Config::Get("CellModelScheme", solvingScheme);
     selectScheme(solvingScheme);
 
   }
 
-  explicit MElphySolver(MCellModel &M, const Vector &data, const string &solvingScheme)
+  explicit MElphySolver(MCellModel &M, const Vector &data,
+                        const std::string &solvingScheme)
       : MCellSolver(M.Size() + 1), cellModel(M), excData(data) {
     selectScheme(solvingScheme);
   }
diff --git a/src/cellmodels/solvers/MTensionSolver.cpp b/src/cellmodels/solvers/MTensionSolver.cpp
index ebeb383d870fa98002dfb8e3b627fd79013ad75a..37f43d3218a0565335073edadde0f0b9591ee30f 100644
--- a/src/cellmodels/solvers/MTensionSolver.cpp
+++ b/src/cellmodels/solvers/MTensionSolver.cpp
@@ -56,9 +56,7 @@ void MTensionSolver::Solve(TimeSeries &microTS, Vectors &vecs) {
   }
 }
 
-void MTensionSolver::Solve(TimeSeries &microTS, vector<double> &u) {
-
-}
+void MTensionSolver::Solve(TimeSeries &microTS, std::vector<double> &u) {}
 
 void MTensionSolver::initialize(Vector &u) {
   gating = std::make_unique<Vectors>(cellModel.Size(), u);
@@ -67,7 +65,7 @@ void MTensionSolver::initialize(Vector &u) {
   init = true;
 }
 
-void MTensionSolver::selectScheme(const string &solvingScheme) {
+void MTensionSolver::selectScheme(const std::string &solvingScheme) {
   if (solvingScheme == "ExplicitEuler") {
     steps = 1;
     SolveStep = ExplicitEulerStep;
@@ -80,10 +78,10 @@ void MTensionSolver::selectScheme(const string &solvingScheme) {
   } else {
     THROW(("Scheme \"" + solvingScheme + "\" not implemented").c_str())
   }
-
 }
 
-void MTensionSolver::PlotEntries(const vector<double> &entries, row row, int j, int step) const {
+void MTensionSolver::PlotEntries(const std::vector<double> &entries, row row,
+                                 int j, int step) const {
   if (row() == Origin) {
     mout.PrintInfo("CellModelValues", 1,
                    PrintInfoEntry("Calcium", entries[cellModel.ElphyModel().CalciumIndex()]),
diff --git a/src/cellmodels/solvers/MTensionSolver.hpp b/src/cellmodels/solvers/MTensionSolver.hpp
index a43764e496d4181b8389759b36dc40c6e2bd190a..97f9ed450b44256fa32f59838685ed94ce701d13 100644
--- a/src/cellmodels/solvers/MTensionSolver.hpp
+++ b/src/cellmodels/solvers/MTensionSolver.hpp
@@ -11,7 +11,7 @@ class MTensionSolver : public MCellSolver {
 
   void initialize(Vector &u);
 
-  void selectScheme(const string &solvingScheme);
+  void selectScheme(const std::string &solvingScheme);
 
   std::function<void(MTensionModel &, double, double, std::vector<double> &,
                      std::vector<std::vector<double>> &)> SolveStep;
@@ -22,13 +22,14 @@ class MTensionSolver : public MCellSolver {
 public :
   explicit MTensionSolver(MTensionModel &M, const Vector &data) : MCellSolver(M.Size() + 1),
                                                                   cellModel(M), excData(data) {
-    string solvingScheme{"ExplicitEuler"};
+    std::string solvingScheme{"ExplicitEuler"};
     Config::Get("CellModelScheme", solvingScheme);
     selectScheme(solvingScheme);
     Config::Get("IextInPDE", iextInPDE);
   }
 
-  explicit MTensionSolver(MTensionModel &M, const Vector &data, const string &solvingScheme)
+  explicit MTensionSolver(MTensionModel &M, const Vector &data,
+                          const std::string &solvingScheme)
       : MCellSolver(M.Size() + 1), cellModel(M), excData(data) {
     selectScheme(solvingScheme);
     Config::Get("IextInPDE", iextInPDE);
@@ -42,7 +43,8 @@ public :
 
   void Solve(TimeSeries &microTS, std::vector<double> &u) override;
 
-  void PlotEntries(const vector<double> &vector, row row, int j, int step) const;
+  void PlotEntries(const std::vector<double> &vector, row row, int j,
+                   int step) const;
 
   void PlotResult(const Vectors &vectors, double beginT, double endT) const;
 
diff --git a/src/coupled/MainCoupled.cpp b/src/coupled/MainCoupled.cpp
index 8215a43c44eea7e85dc13e811ce45ab70d7cd243..29e9becc5082fb869115b855382c1e3f71922708 100644
--- a/src/coupled/MainCoupled.cpp
+++ b/src/coupled/MainCoupled.cpp
@@ -18,7 +18,7 @@ void MainCoupled::Initialize() {
 }
 
 Vector &MainCoupled::Run() {
-  string eModelName = "";
+  std::string eModelName = "";
   Config::Get("ElphyModel", eModelName);
 
   // Load ElphySolver from src/electrophysiology/solvers/ElphySolver.cpp
@@ -129,7 +129,7 @@ std::vector<double> MainCoupled::Evaluate(const Vector &solution) {
 
   std::string elphyModelClass = "IBTElphyModel";
   Config::Get("ElphyModelClass", elphyModelClass);
-  string cmName = "FitzHughNagumo";
+  std::string cmName = "FitzHughNagumo";
   if (elphyModelClass == "IBTElphyModel") {
     Config::Get("IBTVentricleModel", cmName);
   } else {
@@ -210,7 +210,7 @@ std::vector<double> MainCoupled::Evaluate(const Vector &solution) {
     SetDisplacement(true, exactSolution);
 
     solution.GetMesh().PrintInfo();
-    string m = "Passive";
+    std::string m = "Passive";
     Config::Get("MechDiscretization", m);
 
     mout.PrintInfo("Assemble", verbose,
diff --git a/src/coupled/MainCoupled.hpp b/src/coupled/MainCoupled.hpp
index 42f5e25da6ef5594c36bd55a746039c571251d2e..0c3b66e60d2426fd83c42e668613cfa8f77d5afe 100644
--- a/src/coupled/MainCoupled.hpp
+++ b/src/coupled/MainCoupled.hpp
@@ -61,7 +61,8 @@ public:
 
   void SetDisplacement(bool exact, Vector &u) const;
 
-  double EvaluateQuantity(const Vector &solution, const string &quantity) const;
+  double EvaluateQuantity(const Vector &solution,
+                          const std::string &quantity) const;
 };
 
 #endif //MAINCOUPLED_H
diff --git a/src/coupled/problem/CoupledBenchmarkProblems.hpp b/src/coupled/problem/CoupledBenchmarkProblems.hpp
index b016bb0d4b5bb3e823c6fc7007493e92926dc3b0..c0908dbad6397103835ca08943e8da6f6febd9ad 100644
--- a/src/coupled/problem/CoupledBenchmarkProblems.hpp
+++ b/src/coupled/problem/CoupledBenchmarkProblems.hpp
@@ -9,8 +9,6 @@ public:
     defaultMeshName("BenchmarkBeam3DTet");
   }
 
-  string Name() const override {
-    return "Coupled Beam Problem";
-  }
+  std::string Name() const override { return "Coupled Beam Problem"; }
 };
 #endif //COUPLEDBENCHMARKPROBLEMS_HPP
diff --git a/src/coupled/problem/CoupledProblem.cpp b/src/coupled/problem/CoupledProblem.cpp
index bfd47c218d11908cccc9f2b301a7781ae061e223..168f40fe435e45e4ab6279963374f938bcd2bf20 100644
--- a/src/coupled/problem/CoupledProblem.cpp
+++ b/src/coupled/problem/CoupledProblem.cpp
@@ -11,7 +11,8 @@ std::unique_ptr<CoupledProblem> GetCoupledProblem() {
   return GetCoupledProblem(problemName);
 }
 
-std::unique_ptr<CoupledProblem> undeformedCoupledProblem(const string &problemName) {
+std::unique_ptr<CoupledProblem> undeformedCoupledProblem(
+    const std::string &problemName) {
   if (contains(problemName, "ContractingBeam")) {
     return std::make_unique<CoupledBeamProblem>();
   }
@@ -33,7 +34,8 @@ std::unique_ptr<CoupledProblem> undeformedCoupledProblem(const string &problemNa
   return std::make_unique<CompositeCoupledProblem>(std::move(elphyProblem), std::move(mechProblem));
 }
 
-std::unique_ptr<CoupledProblem> GetCoupledProblem(const string &problemName) {
+std::unique_ptr<CoupledProblem> GetCoupledProblem(
+    const std::string &problemName) {
   if (contains(problemName, "Deformed")) {
     return std::make_unique<DeformedCoupledProblem>(undeformedCoupledProblem(problemName));
   }
@@ -48,7 +50,7 @@ std::unique_ptr<CoupledProblem> GetCoupledProblem(const string &problemName) {
 #define mechMeshes this->ElasticityProblem::meshes
 #define mechGeo this->ElasticityProblem::cGeo
 
-void CoupledProblem::defaultMeshName(const string &name) {
+void CoupledProblem::defaultMeshName(const std::string &name) {
   if (!ElasticityProblem::meshFromConfig()) {
     elphyMeshName = name;
     mechMeshName = name;
diff --git a/src/coupled/problem/CoupledProblem.hpp b/src/coupled/problem/CoupledProblem.hpp
index e12614e1d67fac1c70c5c6362241dca73424d868..9549e1fdc0393165afcead85f68bcb8c81b6d710 100644
--- a/src/coupled/problem/CoupledProblem.hpp
+++ b/src/coupled/problem/CoupledProblem.hpp
@@ -94,35 +94,41 @@ public:
 
   virtual std::string Name() const override = 0;
   virtual void InitializeEvaluationPoints() override;
-  string Evaluate(const Vector &solution) const override {
+  std::string Evaluate(const Vector &solution) const override {
     return EvaluateElphy(solution) + "\n" + EvaluateMech(solution);
   }
 
-  vector<double> EvaluationResults(const Vector &solution) const override {
+  std::vector<double> EvaluationResults(const Vector &solution) const override {
     auto elphyResults = EvaluationResultsElphy(solution);
     auto mechResults = EvaluationResultsMech(solution);
 
     return mechResults;
   }
 
-  vector<std::string> EvaluationMetrics() const override {
+  std::vector<std::string> EvaluationMetrics() const override {
     auto elphyMetrics = EvaluationMetricsElphy();
     auto mechMetrics = EvaluationMetricsMech();
 
     return mechMetrics;
   }
 
-  virtual string EvaluateElphy(const Vector &solution) const { return ""; }
+  virtual std::string EvaluateElphy(const Vector &solution) const { return ""; }
 
-  virtual string EvaluateMech(const Vector &solution) const { return ""; }
+  virtual std::string EvaluateMech(const Vector &solution) const { return ""; }
 
-  virtual vector<double> EvaluationResultsElphy(const Vector &solution) const { return {}; }
+  virtual std::vector<double> EvaluationResultsElphy(
+      const Vector &solution) const {
+    return {};
+  }
 
-  virtual vector<double> EvaluationResultsMech(const Vector &solution) const { return {}; }
+  virtual std::vector<double> EvaluationResultsMech(
+      const Vector &solution) const {
+    return {};
+  }
 
-  virtual vector<std::string> EvaluationMetricsElphy() const { return {}; }
+  virtual std::vector<std::string> EvaluationMetricsElphy() const { return {}; }
 
-  virtual vector<std::string> EvaluationMetricsMech() const { return {}; }
+  virtual std::vector<std::string> EvaluationMetricsMech() const { return {}; }
 
   virtual ~CoupledProblem() = default;
 };
@@ -144,13 +150,11 @@ public:
     }
   }
 
-  string Name() const override {
+  std::string Name() const override {
     return "Composite Coupled Problem [" + elphyProblem->Name() + " | " + mechProblem->Name() + "]";
   }
 
-  const string &Model() const override {
-    return mechProblem->Model();
-  }
+  const std::string &Model() const override { return mechProblem->Model(); }
 
   bool IsStatic() const override {
     return mechProblem->IsStatic();
@@ -241,15 +245,15 @@ public:
     return elphyProblem->Conductivity(c);
   }
 
-  vector<double> EvaluationResults(const Vector &solution) const override {
+  std::vector<double> EvaluationResults(const Vector &solution) const override {
     return elphyProblem->EvaluationResults(solution);
   }
 
-  virtual string EvaluateElphy(const Vector &solution) const {
+  virtual std::string EvaluateElphy(const Vector &solution) const {
     return elphyProblem->Evaluate(solution);
   }
 
-  virtual string EvaluateMech(const Vector &solution) const {
+  virtual std::string EvaluateMech(const Vector &solution) const {
     return mechProblem->Evaluate(solution);
   }
 
@@ -261,12 +265,13 @@ public:
     return elphyProblem->IonCurrent(time, x);
   }
 
-  void chamberSpecialization(const string &chamberName) const override {
+  void chamberSpecialization(const std::string &chamberName) const override {
     elphyProblem->chamberSpecialization(chamberName);
   }
 };
 
-std::unique_ptr<CoupledProblem> GetCoupledProblem(const string &problemName);
+std::unique_ptr<CoupledProblem> GetCoupledProblem(
+    const std::string &problemName);
 
 std::unique_ptr<CoupledProblem> GetCoupledProblem();
 
diff --git a/src/coupled/problem/DeformedProblem.hpp b/src/coupled/problem/DeformedProblem.hpp
index f08c98e0090c21e7f1a920ec121ed9df462b2bd7..e633bb5bf03d383a29c1e4e76d5ed21afa235a39 100644
--- a/src/coupled/problem/DeformedProblem.hpp
+++ b/src/coupled/problem/DeformedProblem.hpp
@@ -20,49 +20,49 @@ public:
     InitializeEvaluationPoints();
     Config::Get("deformFibersInConductivity", withDeformFibersInConductivity);
   }
-  string Name() const override {
+  std::string Name() const override {
     return originalProblem->Name() + " (Deformed)";
   }
 
-  string Evaluate(const Vector &solution) const override {
+  std::string Evaluate(const Vector &solution) const override {
     return originalProblem->Evaluate(solution);
   }
 
-  vector<double> EvaluationResults(const Vector &solution) const override {
+  std::vector<double> EvaluationResults(const Vector &solution) const override {
     return originalProblem->EvaluationResults(solution);
   }
 
-  vector<std::string> EvaluationMetrics() const override {
+  std::vector<std::string> EvaluationMetrics() const override {
     return originalProblem->EvaluationMetrics();
   }
 
-  string EvaluateElphy(const Vector &solution) const override {
+  std::string EvaluateElphy(const Vector &solution) const override {
     return originalProblem->EvaluateElphy(solution);
   }
 
-  string EvaluateMech(const Vector &solution) const override {
+  std::string EvaluateMech(const Vector &solution) const override {
     return originalProblem->EvaluateMech(solution);
   }
 
-  vector<double> EvaluationResultsElphy(const Vector &solution) const override {
+  std::vector<double> EvaluationResultsElphy(
+      const Vector &solution) const override {
     return originalProblem->EvaluationResultsElphy(solution);
   }
 
-  vector<double> EvaluationResultsMech(const Vector &solution) const override {
+  std::vector<double> EvaluationResultsMech(
+      const Vector &solution) const override {
     return originalProblem->EvaluationResultsMech(solution);
   }
 
-  vector<std::string> EvaluationMetricsElphy() const override {
+  std::vector<std::string> EvaluationMetricsElphy() const override {
     return originalProblem->EvaluationMetricsElphy();
   }
 
-  vector<std::string> EvaluationMetricsMech() const override {
+  std::vector<std::string> EvaluationMetricsMech() const override {
     return originalProblem->EvaluationMetricsMech();
   }
 
-  const string &Model() const override {
-    return originalProblem->Model();
-  }
+  const std::string &Model() const override { return originalProblem->Model(); }
 
   bool IsStatic() const override {
     return originalProblem->IsStatic();
@@ -211,7 +211,7 @@ public:
     return det(F) * FInv * D * transpose(FInv);
   }
 
-  void chamberSpecialization(const string &chamberName) const override {
+  void chamberSpecialization(const std::string &chamberName) const override {
     originalProblem->chamberSpecialization(chamberName);
   }
 };
diff --git a/src/coupled/problem/PhysiologicalProblems.cpp b/src/coupled/problem/PhysiologicalProblems.cpp
index e5864c9b144ff0ae79a9e4145bb7058bc04dceae..12fe100e71cc90af27da436a30cb9f52740873d9 100644
--- a/src/coupled/problem/PhysiologicalProblems.cpp
+++ b/src/coupled/problem/PhysiologicalProblems.cpp
@@ -5,8 +5,8 @@
 
 #include "VentriclePVLoops.hpp"
 
-
-vector<double> ContractingVentricleProblem::EvaluationResults(const Vector &solution) const {
+std::vector<double> ContractingVentricleProblem::EvaluationResults(
+    const Vector &solution) const {
   auto apexPot = findPotential(solution, {ventricleApex});
 
   mout.PrintInfo("LeftVentricle", coupledVerbose(),
diff --git a/src/coupled/problem/PhysiologicalProblems.hpp b/src/coupled/problem/PhysiologicalProblems.hpp
index 1445056e5ff6abf25fb5aa0e24a08a7706a3e591..4c5cb4ac39b4954fdd56efa41fd30fad9a93097e 100644
--- a/src/coupled/problem/PhysiologicalProblems.hpp
+++ b/src/coupled/problem/PhysiologicalProblems.hpp
@@ -29,21 +29,18 @@ public:
     ElphyProblem::meshesName = ventricleProblem.GetMeshName();
   }
 
-  ContractingVentricleProblem(const string &matName, const vector<double> &matPar) :
-      ventricleProblem(matName, matPar) {
+  ContractingVentricleProblem(const std::string &matName,
+                              const std::vector<double> &matPar)
+      : ventricleProblem(matName, matPar) {
     Config::Get("TractionK", k);
     Config::Get("TractionC", c);
     ElasticityProblem::meshesName = ventricleProblem.GetMeshName();
     ElphyProblem::meshesName = ventricleProblem.GetMeshName();
   }
 
-  string Name() const override {
-    return "Contracting Ventricle";
-  }
+  std::string Name() const override { return "Contracting Ventricle"; }
 
-  const string &Model() const override {
-    return ventricleProblem.Model();
-  }
+  const std::string &Model() const override { return ventricleProblem.Model(); }
 
   bool IsStatic() const override {
     return false;
@@ -77,7 +74,7 @@ public:
 
   double TractionViscosity(double t, const Point &x, int sd) const override { return c; };
 
-  vector<double> EvaluationResults(const Vector &solution) const;
+  std::vector<double> EvaluationResults(const Vector &solution) const;
 };
 
 class BiVentricleProblem : public CoupledProblem {
@@ -126,7 +123,7 @@ public:
     Config::Get("pressureES_RV", pressureES[1]);
   }
 
-  string Name() const override {
+  std::string Name() const override {
     return "BiVentricular Problem on " + ElasticityProblem::GetMeshName();
   }
 
diff --git a/src/coupled/solvers/CellModelSolver.hpp b/src/coupled/solvers/CellModelSolver.hpp
index fd15ae63309cb04716b274d9c375c7ead3b53cd5..1dc4c9359a44ebd14d56c61e4af48121ef881194 100644
--- a/src/coupled/solvers/CellModelSolver.hpp
+++ b/src/coupled/solvers/CellModelSolver.hpp
@@ -11,7 +11,7 @@ class CellModelSolver : public CardiacSolver {
   int plottingsteps;
   void setPlottingSteps(const std::string& configString = "PlottingSteps"){
     Config::Get(configString, plottingsteps);
-    plottingsteps = min(plottingsteps, 1);
+    plottingsteps = std::min(plottingsteps, 1);
   }
 public:
   explicit CellModelSolver(IElphyAssemble &A, ElphySolver &eSolver) : elphyA(A), elphySolver(eSolver) {
diff --git a/src/coupled/transfers/MultiPartTransfer.cpp b/src/coupled/transfers/MultiPartTransfer.cpp
index 2a3a7e29fd24d99024f873c8cf5963fe3856e1c4..c81ce50b25372bf081e128ebb3d010ea25679e96 100644
--- a/src/coupled/transfers/MultiPartTransfer.cpp
+++ b/src/coupled/transfers/MultiPartTransfer.cpp
@@ -55,7 +55,7 @@ void MultiPartLagrangeTransfer::constructRowList(
     recursiveCells[0].emplace_back(CreateCell(c.Type(), c.Subdomain(), c.AsVector(), false));
     for (int l = 1; l <= dlevel; ++l) {
       for (const auto &parent: recursiveCells[l - 1]) {
-        const vector<Rule> &R = parent->Refine(childrenVerteces);
+        const std::vector<Rule> &R = parent->Refine(childrenVerteces);
         for (int i = 0; i < R.size(); ++i) {
           R[i](childrenVerteces, childVerteces);
           recursiveCells[l].emplace_back(
@@ -66,7 +66,7 @@ void MultiPartLagrangeTransfer::constructRowList(
     }
     for (const auto &child: recursiveCells[dlevel]) {
       LagrangeNodalPoints(*child, coarseNodalPoints, 1);
-      vector<int> coarseIds = mpp::nodalIds(coarse, coarseNodalPoints);
+      std::vector<int> coarseIds = mpp::nodalIds(coarse, coarseNodalPoints);
       mpp::linearTransfer(child->ReferenceType(), coarseNodalPoints, coarseIds, lvl, fine, rowList);
     }
   }
diff --git a/src/elasticity/MainElasticity.cpp b/src/elasticity/MainElasticity.cpp
index 920d99f6836e12eec2d612130749be713bd4d549..bad17c051dce7f649ebef055b39b3ee0fd7a640b 100644
--- a/src/elasticity/MainElasticity.cpp
+++ b/src/elasticity/MainElasticity.cpp
@@ -110,7 +110,7 @@ Vector &MainElasticity::Run() {
   return *displacement;
 }
 
-void MainElasticity::generateMesh(const string &model) const {
+void MainElasticity::generateMesh(const std::string &model) const {
   // search for included chambers (src/CardiacData.cpp)
   std::vector<int> chambers = getIncludedChambers(chamber);
   auto mCreator = MeshesCreator().
diff --git a/src/elasticity/MainElasticity.hpp b/src/elasticity/MainElasticity.hpp
index 32d8f189bc37e8e87291290cdafd6425208a2f38..e17c4e066a3a072c940c6e1e1de5b3caccf1ec08 100644
--- a/src/elasticity/MainElasticity.hpp
+++ b/src/elasticity/MainElasticity.hpp
@@ -28,8 +28,7 @@ class MainElasticity : public MainCardMech {
   friend class MultiElasticity;
   friend class MultiDiscElasticity;
 
-  void generateMesh(const string &model) const;
-
+  void generateMesh(const std::string &model) const;
 
   int discDegree{1};
 
@@ -92,7 +91,8 @@ public:
   /// Creates vector- and scalar-valued discretizations and generates a displacement vector.
   void generateStartVectors();
   /// Evaluates some error measures for the solution.
-  double EvaluateQuantity(const Vector &solution, const string &quantity) const;
+  double EvaluateQuantity(const Vector &solution,
+                          const std::string &quantity) const;
 
   std::array<double, 4> GetVolume(const Vector &solution) const;
 
diff --git a/src/elasticity/MultiDiscElasticity.cpp b/src/elasticity/MultiDiscElasticity.cpp
index 24603cbfca46754cdf2857fb2a7cd39711651e89..924e01238b61ceea4aa77d5b64b421ec7a91544c 100644
--- a/src/elasticity/MultiDiscElasticity.cpp
+++ b/src/elasticity/MultiDiscElasticity.cpp
@@ -86,8 +86,7 @@ Vector &MultiDiscElasticity::Run() {
   return solutions[discs.size() - 1]();
 }
 
-vector<double> MultiDiscElasticity::Evaluate(const Vector &solution) {
+std::vector<double> MultiDiscElasticity::Evaluate(const Vector &solution) {
   mout << endl << "=============================================================" << endl << endl;
   return {};
 }
-
diff --git a/src/elasticity/MultiDiscElasticity.hpp b/src/elasticity/MultiDiscElasticity.hpp
index b12cc4ecfcb2955a125f92e667e942c1e032f70c..18836d80f9c90dc1dd96ce77fd05bcae35c4149e 100644
--- a/src/elasticity/MultiDiscElasticity.hpp
+++ b/src/elasticity/MultiDiscElasticity.hpp
@@ -25,9 +25,9 @@ class MultiDiscElasticity : public MainCardMech {
   bool useDifferentMeshes{false};
   bool useDifferentDegs{false};
   std::vector<VectorStruct> solutions{};
-  std::vector<string>  discs{};
-  std::vector<string>  meshes;
-  std::vector<string>  meshesList;
+  std::vector<std::string> discs{};
+  std::vector<std::string> meshes;
+  std::vector<std::string> meshesList;
   std::vector<int>  degrees;
   std::vector<int>  degreeList;
   std::vector<int>  DGPenalties;
@@ -40,7 +40,6 @@ public:
 
   Vector &Run() override;
 
-  vector<double> Evaluate(const Vector &solution) override;
-
+  std::vector<double> Evaluate(const Vector &solution) override;
 };
 
diff --git a/src/elasticity/MultiElasticity.cpp b/src/elasticity/MultiElasticity.cpp
index b1d1645c1ccf8973780c6f607bd859bc3d1b3b6e..000dacde0aedbf8bbb60fea3a4b9b4c6a9a7780c 100644
--- a/src/elasticity/MultiElasticity.cpp
+++ b/src/elasticity/MultiElasticity.cpp
@@ -31,11 +31,10 @@ Vector &MultiElasticity::Run() {
   return solutions[referenceLevel]();
 }
 
-vector<double> MultiElasticity::Evaluate(const Vector &solution) {
+std::vector<double> MultiElasticity::Evaluate(const Vector &solution) {
   for (int level = initialLevel; level < referenceLevel; ++level) {
     main.EvaluateReferece(solutions[level](), solution);
   }
   mout << endl << "=============================================================" << endl << endl;
   return {};
 }
-
diff --git a/src/elasticity/MultiElasticity.hpp b/src/elasticity/MultiElasticity.hpp
index 88407e999867a13251670cc00f6758fe279c1668..5a692278dee7b598e7dde663a26bdc6517ad76f9 100644
--- a/src/elasticity/MultiElasticity.hpp
+++ b/src/elasticity/MultiElasticity.hpp
@@ -24,8 +24,7 @@ public:
 
   Vector &Run() override;
 
-  vector<double> Evaluate(const Vector &solution) override;
-
+  std::vector<double> Evaluate(const Vector &solution) override;
 };
 
 #endif //MULTIELASTICITY_HPP
diff --git a/src/elasticity/assemble/DGElasticity.cpp b/src/elasticity/assemble/DGElasticity.cpp
index ab9428a22cb218db3ce73129999623e2629a7cd7..7c01614f2b9a105a0edf41bab9c44caeee7e24ef 100644
--- a/src/elasticity/assemble/DGElasticity.cpp
+++ b/src/elasticity/assemble/DGElasticity.cpp
@@ -125,8 +125,8 @@ void DGElasticity::Residual(const cell &c, const Vector &U, Vector &r) const {
       }
   }
   for (int f = 0; f < c.Faces(); ++f) {
-    Scalar s = cellMat.Isochoric().GetMaxParameter() * (pow(degree, 2) * penalty) /
-               U.GetMesh().MaxMeshWidth();
+    double s = cellMat.Isochoric().GetMaxParameter() *
+               (pow(degree, 2) * penalty) / U.GetMesh().MaxMeshWidth();
 
     DGVectorFieldFaceElement FE(U, *c, f);
     if (E.Bnd(f) >= PRESSURE_BC_LV && E.Bnd(f) <= PRESSURE_BC_RA) {// Neumann-Randbedingung
@@ -270,8 +270,8 @@ void DGElasticity::DirichletBoundary(const cell &c, int face, int bc, const Vect
   DGVectorFieldFaceElement FE(U, *c, face);
   DGSizedRowBndValues r_c(r, *c, E.shape_size());
   const auto &cellMat = eProblem.GetMaterial(c);
-  Scalar s = cellMat.Isochoric().GetMaxParameter() * (pow(degree, 2) * penalty) /
-             U.GetMesh().MaxMeshWidth();
+  double s = cellMat.Isochoric().GetMaxParameter() *
+             (pow(degree, 2) * penalty) / U.GetMesh().MaxMeshWidth();
   Tensor Q = OrientationMatrix(c.GetData());
 
   for (int q = 0; q < FE.nQ(); ++q) {
@@ -302,8 +302,8 @@ void DGElasticity::FixationBoundary(const cell &c, int face, int bc, const Vecto
   DGVectorFieldFaceElement FE(U, *c, face);
   DGSizedRowBndValues r_c(r, *c, E.shape_size());
   const auto &cellMat = eProblem.GetMaterial(c);
-  Scalar s = cellMat.Isochoric().GetMaxParameter() * (pow(degree, 2) * penalty) /
-             U.GetMesh().MaxMeshWidth();
+  double s = cellMat.Isochoric().GetMaxParameter() *
+             (pow(degree, 2) * penalty) / U.GetMesh().MaxMeshWidth();
   Tensor Q = OrientationMatrix(c.GetData());
 
   for (int q = 0; q < FE.nQ(); ++q) {
@@ -431,8 +431,8 @@ void DGElasticity::Jacobi(const cell &c, const Vector &U, Matrix &A) const {
     }
   }
   for (int face = 0; face < c.Faces(); ++face) {
-    Scalar s = cellMat.Isochoric().GetMaxParameter() * (pow(degree, 2) * penalty) /
-               U.GetMesh().MaxMeshWidth();
+    double s = cellMat.Isochoric().GetMaxParameter() *
+               (pow(degree, 2) * penalty) / U.GetMesh().MaxMeshWidth();
     DGVectorFieldFaceElement FE(U, *c, face);
     if (E.Bnd(face) == DIRICHLET_BC || E.Bnd(face) == DIRICHLET_FIX_BC) {
       for (int q = 0; q < FE.nQ(); ++q) {
@@ -580,7 +580,7 @@ void DGElasticity::Project(const Vector &fine, Vector &u) const {
     recursiveCells[0].emplace_back(CreateCell(c.Type(), c.Subdomain(), c.AsVector(), false));
     for (int l = 1; l <= dlevel; ++l) {
       for (const auto &parent: recursiveCells[l - 1]) {
-        const vector<Rule> &R = parent->Refine(childrenVerteces);
+        const std::vector<Rule> &R = parent->Refine(childrenVerteces);
         for (int i = 0; i < R.size(); ++i) {
           R[i](childrenVerteces, childVerteces);
           recursiveCells[l].emplace_back(
@@ -627,7 +627,7 @@ void DGElasticity::Interpolate(const Vector &coarse, Vector &u) const {
     recursiveCells[0].emplace_back(CreateCell(c.Type(), c.Subdomain(), c.AsVector(), false));
     for (int l = 1; l <= dlevel; ++l) {
       for (const auto &parent: recursiveCells[l - 1]) {
-        const vector<Rule> &R = parent->Refine(childrenVerteces);
+        const std::vector<Rule> &R = parent->Refine(childrenVerteces);
         for (int i = 0; i < R.size(); ++i) {
           R[i](childrenVerteces, childVerteces);
           recursiveCells[l].emplace_back(
@@ -966,7 +966,7 @@ double DGElasticity::MaxStress(const Vector &U) const {
       cellS += w * Frobenius(P, P);
     }
 
-    maxS = max(maxS, cellS);
+    maxS = std::max(maxS, cellS);
   }
 
   return maxS;
@@ -1103,8 +1103,10 @@ void DGElasticity::PlotBoundary(const Vector &U, const Vector &scal) const {
     for (int face = 0; face < c.Faces(); ++face) {
       DGVectorFieldFaceElement FE(U, *c, face);
       int bc = u_c.bc(face);
-      bnd(c(), 0) = max(bnd(c(), 0), (double) bc);
-      bnd(c(), 1) = max(bnd(c(), 1), bc == 199 ? 1.0 : 0.0); // Fixation Boundary bc == 199
+      bnd(c(), 0) = std::max(bnd(c(), 0), (double)bc);
+      bnd(c(), 1) =
+          std::max(bnd(c(), 1),
+                   bc == 199 ? 1.0 : 0.0);  // Fixation Boundary bc == 199
     }
   }
   plot.AddData("Boundary", bnd, 0);
@@ -1125,12 +1127,10 @@ Vector makePlottableDGVector(const Vector &U) {
   return plotU;
 }
 
-
 void DGElasticity::PlotDisplacement(const Vector &U, int step,
-                                    const string &varname) const {
+                                    const std::string &varname) const {
   // Plotting the deformation in src/CardiacAssemble.hpp
   PlotDeformed(U, {{"Displacement", makePlottableDGVector(U)}}, step, varname);
-
 }
 
 void DGElasticity::SetDisplacement(Vector &U) const {
@@ -1269,8 +1269,8 @@ std::pair<double, double> DGElasticity::detF(const Vector &u) const {
     for (int q = 0; q < E.nQ(); ++q) {
       Tensor DU = E.VectorGradient(q, u);
       double J = det(One + DU);
-      Jmin = min(Jmin, J);
-      Jmax = max(Jmax, J);
+      Jmin = std::min(Jmin, J);
+      Jmax = std::max(Jmax, J);
     }
   }
   Jmin = PPM->Min(Jmin);
diff --git a/src/elasticity/assemble/DGElasticity.hpp b/src/elasticity/assemble/DGElasticity.hpp
index 010a62e350c6efea650988639a5979707aef3445..9d501c10ff83d97964bf889f876ed6745cdaf463 100644
--- a/src/elasticity/assemble/DGElasticity.hpp
+++ b/src/elasticity/assemble/DGElasticity.hpp
@@ -90,7 +90,8 @@ public:
 
   void PlotBoundary(const Vector &U, const Vector &scal) const override;
 
-  void PlotDisplacement(const Vector &u, int step, const string &varname) const override;
+  void PlotDisplacement(const Vector &u, int step,
+                        const std::string &varname) const override;
 
   //std::array<double, 4> ChamberVolume(const Vector &U) const override;
   void FixationBoundary(const cell &c, int face, int bc, const Vector &U, Vector &r) const;
diff --git a/src/elasticity/assemble/EGElasticity.cpp b/src/elasticity/assemble/EGElasticity.cpp
index 7b835427f0d6bd76535268443522fd2de1f12ac1..c4ec4b1086d5e82265d7ab564916186ea4c3fae1 100644
--- a/src/elasticity/assemble/EGElasticity.cpp
+++ b/src/elasticity/assemble/EGElasticity.cpp
@@ -36,11 +36,9 @@ void EGElasticity::Energy(const cell &c, const Vector &U, double &energy) const
 //    energy += w * rho * (v * v);
     // energy += w * cellMat.TotalEnergy(F, Q);
 
-    
-    //energy = min(energy,det(F));
+    // energy = std::min(energy,det(F));
 
-    energy = max(energy,cellMat.q(E, Q[0]));
-    
+    energy = std::max(energy, cellMat.q(E, Q[0]));
   }
 
   return;
@@ -128,7 +126,8 @@ void EGElasticity::Residual(const cell &c, const Vector &U, Vector &r) const {
         w * (cellMat.TotalDerivative(Fiso, F, Q, Dtheta) - f * theta);
   }
   for (int f = 0; f < c.Faces(); ++f) {
-    Scalar s = cellMat.Isochoric().GetMaxParameter()* (pow(degree, 2) * penalty)  /U.GetMesh().MaxMeshWidth();
+    double s = cellMat.Isochoric().GetMaxParameter() *
+               (pow(degree, 2) * penalty) / U.GetMesh().MaxMeshWidth();
     MixedEGVectorFieldFaceElement FE(U, *c, f);
     if (E.Bnd(f) >= PRESSURE_BC_LV && E.Bnd(f) <= PRESSURE_BC_RA) {
       for (int q = 0; q < FE.nQ(); ++q) {
@@ -373,7 +372,8 @@ void EGElasticity::Jacobi(const cell &c, const Vector &U, Matrix &A) const {
         w * (cellMat.TotalSecondDerivative(Fiso, F, Q, Dtheta, Dtheta));
   }
   for (int face = 0; face < c.Faces(); ++face) {
-    Scalar s = cellMat.Isochoric().GetMaxParameter()* (pow(degree, 2) * penalty)  /U.GetMesh().MaxMeshWidth();
+    double s = cellMat.Isochoric().GetMaxParameter() *
+               (pow(degree, 2) * penalty) / U.GetMesh().MaxMeshWidth();
     MixedEGVectorFieldFaceElement FE(U, *c, face);
     if (E.Bnd(face) == DIRICHLET_BC || E.Bnd(face) == DIRICHLET_FIX_BC) {
       for (int q = 0; q < FE.nQ(); ++q) {
@@ -852,7 +852,7 @@ double EGElasticity::MaxStress(const Vector &U) const {
       cellS += w * Frobenius(P, P);
     }
 
-    maxS = max(maxS, cellS);
+    maxS = std::max(maxS, cellS);
   }
 
   return maxS;
@@ -980,7 +980,7 @@ void EGElasticity::PlotBoundary(const Vector &U, const Vector &scal) const {
     for (int i = 0; i < c.Faces(); ++i) {
       for (int j = 0; j < U.NumberOfNodalPointsOnFace(*c, i); ++j) {
         int id = U.IdOfNodalPointOnFace(*c, i, j);
-        u_c(id, 0) = max(u_c(id, 0), u_c.bc(i) == 199 ? 1.0 : 0.0);
+        u_c(id, 0) = std::max(u_c(id, 0), u_c.bc(i) == 199 ? 1.0 : 0.0);
       }
     }
   }
@@ -1044,12 +1044,12 @@ void EGElasticity::Project(const Vector &fine, Vector &u) const {
                                                   c.Subdomain(), c.AsVector(), false));
         for (int l = 1; l <= dlevel; ++l) {
             for (const auto &parent: recursiveCells[l - 1]) {
-                const vector<Rule> &R = parent->Refine(childrenVerteces);
-                for (int i = 0; i < R.size(); ++i) {
-                    R[i](childrenVerteces, childVerteces);
-                    recursiveCells[l].emplace_back(
-                            CreateCell(R[i].type(), c.Subdomain(),
-                                       childVerteces, false));
+              const std::vector<Rule> &R = parent->Refine(childrenVerteces);
+              for (int i = 0; i < R.size(); ++i) {
+                R[i](childrenVerteces, childVerteces);
+                recursiveCells[l].emplace_back(
+                    CreateCell(R[i].type(), c.Subdomain(), childVerteces,
+                               false));
                 }
             }
         }
@@ -1234,8 +1234,8 @@ std::pair<double, double> EGElasticity::detF(const Vector &u) const {
     for (int q = 0; q < E.nQ(); ++q) {
       Tensor DU = E.VectorGradient(q, u);
       double J = det(One + DU);
-      Jmin = min(Jmin, J);
-      Jmax = max(Jmax, J);
+      Jmin = std::min(Jmin, J);
+      Jmax = std::max(Jmax, J);
     }
   }
   Jmin = PPM->Min(Jmin);
diff --git a/src/elasticity/assemble/IElasticity.cpp b/src/elasticity/assemble/IElasticity.cpp
index fd163f5b1cb256f9799094269b53179a96f7d992..cf29f0878031dab1fcfac5cf4546e8f1a21e026d 100644
--- a/src/elasticity/assemble/IElasticity.cpp
+++ b/src/elasticity/assemble/IElasticity.cpp
@@ -66,10 +66,9 @@ void IElasticity::FinishTimeStep(const Vector &u) {
 }
 
 void IElasticity::PlotDisplacement(const Vector &U, int step,
-                                   const string &varname) const {
+                                   const std::string &varname) const {
   // Plotting the deformation in src/CardiacAssemble.hpp
   PlotDeformed(U, {{"Displacement", U}}, step, varname);
-
 }
 
 void IElasticity::Initialize(Vectors &vecs) const {
@@ -97,10 +96,13 @@ void IElasticity::CalculateAndPrintMinMaxGammaF() const{
   vout(0) << "maximal value of gamma_f is " << max_gamma << endl ;
 }
 
-void IElasticity::PointEvaluationGamma(const std::string &varname, const vector<Point> &point)  {
+void IElasticity::PointEvaluationGamma(const std::string &varname,
+                                       const std::vector<Point> &point) {
   IElasticity::PrintPointEvaluation(*gamma, varname, point);
 };
-void IElasticity::PrintPointEvaluation(const Vector &var,const std::string &varname, const vector<Point> &point) {
+void IElasticity::PrintPointEvaluation(const Vector &var,
+                                       const std::string &varname,
+                                       const std::vector<Point> &point) {
   std::vector<VectorField> values(point.size());
   for (row r = var.rows(); r != var.rows_end(); ++r) {
     auto [i, isNear] = isIn(r(), point);
diff --git a/src/elasticity/assemble/IElasticity.hpp b/src/elasticity/assemble/IElasticity.hpp
index 413875218fb9ccd697b01850a76000c2611a9fb5..c8fb19966fc7850c7afe8a112d1fa9c7d8a016fa 100644
--- a/src/elasticity/assemble/IElasticity.hpp
+++ b/src/elasticity/assemble/IElasticity.hpp
@@ -144,7 +144,8 @@ public:
 
   virtual void GetInvariant(const Vector &u, Vector &iota4, Vector &iota) const { return GetInvariant(u,iota4); }
 
-  virtual void PlotDisplacement(const Vector &u, int step, const string &varname) const;
+  virtual void PlotDisplacement(const Vector &u, int step,
+                                const std::string &varname) const;
 
   /**
    *   Creates a new vector with the discretization of target (coarse vector) and projects fine
@@ -283,9 +284,11 @@ public:
 
   void SetInitialValue(Vectors &values);
 
-  void PointEvaluationGamma(const std::string &varname, const vector<Point> &point);
+  void PointEvaluationGamma(const std::string &varname,
+                            const std::vector<Point> &point);
 
-  void PrintPointEvaluation(const Vector &var,const std::string &varname, const vector<Point> &point);
+  void PrintPointEvaluation(const Vector &var, const std::string &varname,
+                            const std::vector<Point> &point);
 
   /// Every time step will be plotted if we are in the dynamic case.
   void PlotIteration(const Vector &u) const override;
diff --git a/src/elasticity/assemble/LagrangeElasticity.cpp b/src/elasticity/assemble/LagrangeElasticity.cpp
index 9c262f1e462d5fa821972d231c981bfe55a0e252..ecd738354e1d1b1c7529180b96b9c4683c9b39af 100644
--- a/src/elasticity/assemble/LagrangeElasticity.cpp
+++ b/src/elasticity/assemble/LagrangeElasticity.cpp
@@ -918,7 +918,7 @@ double LagrangeElasticity::MaxStress(const Vector &U) const {
       cellS += w * Frobenius(P, P);
     }
 
-    maxS = max(maxS, cellS);
+    maxS = std::max(maxS, cellS);
   }
 
   return maxS;
@@ -1124,7 +1124,7 @@ void LagrangeElasticity::PlotBoundary(const Vector &U, const Vector &scal) const
     for (int i = 0; i < c.Faces(); ++i) {
       for (int j = 0; j < U.NumberOfNodalPointsOnFace(*c, i); ++j) {
         int id = U.IdOfNodalPointOnFace(*c, i, j);
-        u_c(id, 0) = max(u_c(id, 0), u_c.bc(i) == 199 ? 1.0 : 0.0);
+        u_c(id, 0) = std::max(u_c(id, 0), u_c.bc(i) == 199 ? 1.0 : 0.0);
       }
     }
   }
@@ -1338,8 +1338,8 @@ void LagrangeElasticity::EvaluateTractionStiffness(Vector &u) const {
               double Un = faceElem.QNormal(q) * faceElem.VectorValue(q,u);
               double w = faceElem.QWeight(q);
 
-	            s_max = max(s_max,abs(Un));
-	            s += w * Un * Un;
+              s_max = std::max(s_max, abs(Un));
+              s += w * Un * Un;
             }
 	        }
 	      }
@@ -1395,8 +1395,8 @@ std::pair<double, double> LagrangeElasticity::detF(const Vector &u) const {
     for (int q = 0; q < E.nQ(); ++q) {
       Tensor DU = E.VectorGradient(q, u);
       double J = det(One + DU);
-      Jmin = min(Jmin, J);
-      Jmax = max(Jmax, J);
+      Jmin = std::min(Jmin, J);
+      Jmax = std::max(Jmax, J);
     }
   }
   Jmin = PPM->Min(Jmin);
diff --git a/src/elasticity/assemble/MixedElasticity.cpp b/src/elasticity/assemble/MixedElasticity.cpp
index 04aae5f1b7bb43b9deb48a54d2609c57f2d29723..77f2137fc96648b9e70e6bd8622c51d8d7e5fcc3 100644
--- a/src/elasticity/assemble/MixedElasticity.cpp
+++ b/src/elasticity/assemble/MixedElasticity.cpp
@@ -25,7 +25,7 @@ void MixedElasticity::Energy(const cell &c, const Vector &W, double &energy) con
   for (int q = 0; q < E.nQ(); ++q) {
     double w = E.QWeight(q);
 
-    Scalar p = E.PressureValue(q, W);
+    double p = E.PressureValue(q, W);
     VectorField u = E.VelocityField(q, W);
     Tensor Du = E.VelocityFieldGradient(q, W);
     Tensor F = FA_inv + Q * Du * FA_inv * QI;
@@ -80,7 +80,7 @@ void MixedElasticity::Jacobi(const cell &c, const Vector &W, Matrix &A) const {
   for (int q = 0; q < E.nQ(); ++q) {
     double w = E.QWeight(q);
 
-    Scalar p = E.PressureValue(q, W);
+    double p = E.PressureValue(q, W);
     VectorField u = E.VelocityField(q, W);
     Tensor Du = E.VelocityFieldGradient(q, W);
     Tensor F = FA_inv + Q * Du * FA_inv * QI;
@@ -114,7 +114,7 @@ void MixedElasticity::Jacobi(const cell &c, const Vector &W, Matrix &A) const {
         }
 
         for (int j = 0; j < E.PressureSize(); ++j) {
-          Scalar p_j = E.PressureValue(q, j);
+          double p_j = E.PressureValue(q, j);
 
           // Volumetric Piola Kirchhoff Stress
           A_c(E.VelocityIndex(), E.PressureIndex(), i, j, k, 0) +=
@@ -128,9 +128,9 @@ void MixedElasticity::Jacobi(const cell &c, const Vector &W, Matrix &A) const {
     }
 
     for (int i = 0; i < E.PressureSize(); ++i) {
-      Scalar p_i = E.PressureValue(q, i);
+      double p_i = E.PressureValue(q, i);
       for (int j = 0; j < E.PressureSize(); ++j) {
-        Scalar p_j = E.PressureValue(q, j);
+        double p_j = E.PressureValue(q, j);
         A_c(E.PressureIndex(), E.PressureIndex(), i, j, 0, 0) +=
             w * p_i * p_j / eProblem.GetMaterial(d_part < 2).Volumetric().Penalty();
       }
@@ -158,7 +158,7 @@ void MixedElasticity::Residual(const cell &c, const Vector &W, Vector &r) const
   for (int q = 0; q < E.nQ(); ++q) {
     double w = E.QWeight(q);
 
-    Scalar p = E.PressureValue(q, W);
+    double p = E.PressureValue(q, W);
     VectorField u = E.VelocityField(q, W);
     Tensor Du = E.VelocityFieldGradient(q, W);
     Tensor F = FA_inv + Q * Du * FA_inv * QI;
@@ -193,7 +193,7 @@ void MixedElasticity::Residual(const cell &c, const Vector &W, Vector &r) const
     }
 
     for (int j = 0; j < E.PressureSize(); ++j) {
-      Scalar p_j = E.PressureValue(q, j);
+      double p_j = E.PressureValue(q, j);
       // Volumetric Energy
       r_c(E.PressureIndex(), j, 0) +=
           w * p_j * mat::volumetric_energy(eProblem.GetMaterial(d_part < 2), det(F));
diff --git a/src/elasticity/data_processing/CardiacLogger.h b/src/elasticity/data_processing/CardiacLogger.h
index 8f3dd8d69950a6c68dea13f20a93759d70b5732a..f71febc7beef131208c80e21d917dafd34dc61a1 100644
--- a/src/elasticity/data_processing/CardiacLogger.h
+++ b/src/elasticity/data_processing/CardiacLogger.h
@@ -6,10 +6,10 @@
 
 class CardiacLogger {
 protected:
-  const string &logFileName;
+  const std::string &logFileName;
+
 public:
-  CardiacLogger(const string &fileName) : logFileName(fileName) {
-  };
+  CardiacLogger(const std::string &fileName) : logFileName(fileName) {};
 
   /**
    * Writes all internally stored logging arguments into the file @logFileName.
diff --git a/src/elasticity/data_processing/DisplacementLogger.cpp b/src/elasticity/data_processing/DisplacementLogger.cpp
index e462474adc66dee58519bd5cc844ef1eb0db75dd..a4c6186f76bde7cf895837701190acfcfab68f2b 100644
--- a/src/elasticity/data_processing/DisplacementLogger.cpp
+++ b/src/elasticity/data_processing/DisplacementLogger.cpp
@@ -1,15 +1,15 @@
 #include "DisplacementLogger.hpp"
 
-
-DisplacementLogger::DisplacementLogger(const string &logName, const string &dataName)
+DisplacementLogger::DisplacementLogger(const std::string &logName,
+                                       const std::string &dataName)
     : CardiacLogger(logName), dataFileName(dataName) {
   std::ifstream dataFile("../cardiacmechanics/data/" + dataFileName);
   if (dataFile.is_open()) {
-    string line;
+    std::string line;
     while (getline(dataFile, line)) {
       // Expects to points written as six consecutive doubles
       double pointsInLine[3];
-      string value;
+      std::string value;
       std::istringstream linestream(line);
       int j = 0;
       while (getline(linestream, value, ' ')) {
diff --git a/src/elasticity/data_processing/DisplacementLogger.h b/src/elasticity/data_processing/DisplacementLogger.h
index 7dec347262d2a7a46838225a3e69384be54525d3..d907d34223e64d70ec3cdcb9843bcc3ba2327439 100644
--- a/src/elasticity/data_processing/DisplacementLogger.h
+++ b/src/elasticity/data_processing/DisplacementLogger.h
@@ -5,7 +5,7 @@
 
 
 class DisplacementLogger : CardiacLogger {
-  const string &dataFileName;
+  const std::string &dataFileName;
 
   ///
   std::vector <Point> *trackedPoints = new std::vector<Point>;
@@ -20,7 +20,7 @@ class DisplacementLogger : CardiacLogger {
   }
 
 public:
-  DisplacementLogger(const string &logName, const string &dataName);
+  DisplacementLogger(const std::string &logName, const std::string &dataName);
 
   /**
    * Calculates the distances between the paired points under the given displacement.
diff --git a/src/elasticity/data_processing/ThicknessLogger.cpp b/src/elasticity/data_processing/ThicknessLogger.cpp
index a7077a54ac4754b4426a81043042a03ad3b57c71..8a97340d8507941c6075d5e9deb927850f069fa3 100644
--- a/src/elasticity/data_processing/ThicknessLogger.cpp
+++ b/src/elasticity/data_processing/ThicknessLogger.cpp
@@ -1,15 +1,15 @@
 #include "ThicknessLogger.hpp"
 
-
-ThicknessLogger::ThicknessLogger(const string &logName, const string &dataName) : CardiacLogger(
-    logName), dataFileName(dataName) {
+ThicknessLogger::ThicknessLogger(const std::string &logName,
+                                 const std::string &dataName)
+    : CardiacLogger(logName), dataFileName(dataName) {
   std::ifstream dataFile("../geo/" + dataFileName);
   if (dataFile.is_open()) {
-    string line;
+    std::string line;
     while (getline(dataFile, line)) {
       // Expects to points written as six consecutive doubles
       double pointsInLine[6];
-      string value;
+      std::string value;
       std::istringstream linestream(line);
       int j = 0;
       while (getline(linestream, value, ' ')) {
diff --git a/src/elasticity/data_processing/ThicknessLogger.h b/src/elasticity/data_processing/ThicknessLogger.h
index 77851c3ab8c3586c54f213f8b323122f3af54c54..a0e6fee693431813bdc2d32c8eda98adb9a9947e 100644
--- a/src/elasticity/data_processing/ThicknessLogger.h
+++ b/src/elasticity/data_processing/ThicknessLogger.h
@@ -5,7 +5,7 @@
 
 
 class ThicknessLogger : CardiacLogger {
-  const string &dataFileName;
+  const std::string &dataFileName;
 
   ///
   unordered_map <Point, Point> *pairedPoints = new unordered_map<Point, Point>;
@@ -20,7 +20,7 @@ class ThicknessLogger : CardiacLogger {
   }
 
 public:
-  ThicknessLogger(const string &logName, const string &dataName);
+  ThicknessLogger(const std::string &logName, const std::string &dataName);
 
   /**
    * Calculates the distances between the paired points under the given displacement.
@@ -43,10 +43,11 @@ public:
 };
 
 class MultiThicknessLogger : CardiacLogger {
-  vector<ThicknessLogger *> loggers;
+  std::vector<ThicknessLogger *> loggers;
 
 public:
-  MultiThicknessLogger(int loggerSize, const string &logName, const string &dataName)
+  MultiThicknessLogger(int loggerSize, const std::string &logName,
+                       const std::string &dataName)
       : CardiacLogger(logName), loggers(loggerSize) {
     for (int l = 0; l < loggerSize; l++) {
       loggers[l] = new ThicknessLogger(logName + std::to_string(l), dataName + std::to_string(l));
diff --git a/src/elasticity/data_processing/VectorLogger.cpp b/src/elasticity/data_processing/VectorLogger.cpp
index 9a2c288212b2ea369ffc4140143682019be4b414..b7715ed9cc269bd237dbe96477cfa8d1ddfc48f2 100644
--- a/src/elasticity/data_processing/VectorLogger.cpp
+++ b/src/elasticity/data_processing/VectorLogger.cpp
@@ -8,7 +8,7 @@ void VectorLogger::Log(double time) {
   Point P(0.0, 0.0, 0.0);
   P.t() = time;
 
-  vector<double> valuesToSend;
+  std::vector<double> valuesToSend;
   for (auto V : Vs) {
     for (row r = V.rows(); r != V.rows_end(); r++) {
       if (dist(r(), P) < Eps) {
@@ -25,8 +25,7 @@ void VectorLogger::Log(double time) {
   E.Communicate();
 
   if (PPM->master()) {
-    auto *snapshot = new unordered_map < Point, vector<double>
-    * > ;
+    auto *snapshot = new unordered_map<Point, std::vector<double> *>;
 
     for (short q = 0; q < PPM->size(); ++q) {
       while (E.Receive(q).size() < E.ReceiveSize(q)) {
@@ -35,7 +34,7 @@ void VectorLogger::Log(double time) {
         size_t count = 0;
         E.Receive(q) >> count;
 
-        auto valuesRecieved = new vector<double>;
+        auto valuesRecieved = new std::vector<double>;
         for (int i = 0; i < count; ++i) {
           double tmp = 0.0;
           E.Receive(q) >> tmp;
diff --git a/src/elasticity/data_processing/VectorLogger.h b/src/elasticity/data_processing/VectorLogger.h
index 42f5b6fb01c1c251e949fcfabe92439de78c3424..27a14be7530586973c5bd40ad7e740fbe51dfd11 100644
--- a/src/elasticity/data_processing/VectorLogger.h
+++ b/src/elasticity/data_processing/VectorLogger.h
@@ -7,16 +7,14 @@
 
 
 class VectorLogger : CardiacLogger {
-  list<unordered_map < Point, vector<double> *> *> *
-  data = new list < unordered_map < Point, vector<double>
-  *> *>;
+  list<unordered_map<Point, std::vector<double> *> *> *data =
+      new list<unordered_map<Point, std::vector<double> *> *>;
 
-  vector <Vector> Vs;
+  std::vector<Vector> Vs;
   int size;
 public:
-  VectorLogger(const string &filename, int s, Vector &ref) : CardiacLogger(filename), size(s),
-                                                             Vs(s, ref) {
-  }
+  VectorLogger(const std::string &filename, int s, Vector &ref)
+      : CardiacLogger(filename), size(s), Vs(s, ref) {}
 
   void Set(int i, Vector &v) {
     Vs[i] = v;
diff --git a/src/elasticity/materials/Material.cpp b/src/elasticity/materials/Material.cpp
index f157135623613ef9b7fed45d3249cba056868dff..8d6f0252b18b69a5be5a6a24efb670d96093dacd 100644
--- a/src/elasticity/materials/Material.cpp
+++ b/src/elasticity/materials/Material.cpp
@@ -7,8 +7,7 @@
 #include "LaplaceMaterial.hpp"
 #include "MooneyRivlinMaterial.hpp"
 
-
-Material::Material(const string &materialName) {
+Material::Material(const std::string &materialName) {
   // === Create HyperElasticMaterial ==== //
   if (materialName == "Laplace") hyperelMat = std::make_unique<LaplaceMaterial>();
   else if (materialName == "Linear") hyperelMat = std::make_unique<LinearMaterial>();
@@ -30,7 +29,8 @@ Material::Material(const string &materialName) {
   viscoMat = GetDamping();
 }
 
-Material::Material(const string &materialName, const vector<double> &materialParameters) {
+Material::Material(const std::string &materialName,
+                   const std::vector<double> &materialParameters) {
   if (materialName == "Laplace")
     hyperelMat = std::make_unique<LaplaceMaterial>(materialParameters);
   else if (materialName == "Linear")
@@ -80,13 +80,13 @@ std::unique_ptr<ViscoelasticDamping> Material::GetDamping(const std::string &dam
 }
 
 std::unique_ptr<VolumetricPenalty> Material::GetVolumetricPenalty() {
-  string penaltyType = "None";
+  std::string penaltyType = "None";
   Config::Get("QuasiCompressiblePenalty", penaltyType);
   return GetVolumetricPenalty(penaltyType);
 }
 
 std::unique_ptr<ViscoelasticDamping> Material::GetDamping() {
-  string dampingType = "None";
+  std::string dampingType = "None";
   Config::Get("ViscoelasticDamping", dampingType);
   return GetDamping(dampingType);
 }
diff --git a/src/elasticity/materials/Material.hpp b/src/elasticity/materials/Material.hpp
index cdb1f6a517a7b73da6841af0fab689c505981423..8f99b8f3228ebbccc770a702b044e74697f78f69 100644
--- a/src/elasticity/materials/Material.hpp
+++ b/src/elasticity/materials/Material.hpp
@@ -141,18 +141,21 @@ class Material {
 
   std::unique_ptr<VolumetricPenalty> GetVolumetricPenalty();
 
-  std::unique_ptr<VolumetricPenalty> GetVolumetricPenalty(const string &penaltyType);
+  std::unique_ptr<VolumetricPenalty> GetVolumetricPenalty(
+      const std::string &penaltyType);
 
   std::unique_ptr<ViscoelasticDamping> GetDamping();
 
-  std::unique_ptr<ViscoelasticDamping> GetDamping(const string &dampingType);
+  std::unique_ptr<ViscoelasticDamping> GetDamping(
+      const std::string &dampingType);
 
 public:
   Material() = default;
 
-  explicit Material(const string &materialName);
+  explicit Material(const std::string &materialName);
 
-  Material(const string &materialName, const vector<double> &materialParameters);
+  Material(const std::string &materialName,
+           const std::vector<double> &materialParameters);
 
   double IsoEnergy(const Tensor &F) const {
     return hyperelMat->IsotropicEnergy(F);
diff --git a/src/elasticity/problem/BeamProblems.cpp b/src/elasticity/problem/BeamProblems.cpp
index 26233d4c33c96e7a570630ab5e55640e21cdc57d..44cb560139acb5891638f6f91b4cf6126673b892 100644
--- a/src/elasticity/problem/BeamProblems.cpp
+++ b/src/elasticity/problem/BeamProblems.cpp
@@ -80,7 +80,8 @@ std::string BeamProblem::Evaluate(const Vector &solution) const {
   return evaluation;
 }
 
-vector<double> BeamProblem::EvaluationResults(const Vector &solution) const {
+std::vector<double> BeamProblem::EvaluationResults(
+    const Vector &solution) const {
   bool test = false;
   auto displacements = atEvaluationPoints(solution);
 
@@ -102,11 +103,10 @@ vector<double> BeamProblem::EvaluationResults(const Vector &solution) const {
   return {};
 }
 
-string BeamProblem::Name() const {
+std::string BeamProblem::Name() const {
   return "Default Beam Problem";
 }
 
-
 VectorField PressurePullBeamProblem::Deformation(double time, const Point &x) const {
   return VectorField(x[0], 0, 0);
 }
diff --git a/src/elasticity/problem/BeamProblems.hpp b/src/elasticity/problem/BeamProblems.hpp
index 0458df06eb54fe1e2f0540526b31b9e6dcf4ddd3..87f3048b0eb92c4fb3f06a890072bbae8ef4df8e 100644
--- a/src/elasticity/problem/BeamProblems.hpp
+++ b/src/elasticity/problem/BeamProblems.hpp
@@ -10,7 +10,7 @@
 class BeamProblem : public ElasticityProblem {
 protected:
   int spaceDim{3};
-  string is_tet{"Tet"};
+  std::string is_tet{"Tet"};
 
   std::array<VectorField, 11> atEvaluationPoints(const Vector &solution) const;
 
@@ -28,9 +28,10 @@ public:
     }
   }
 
-  BeamProblem(const std::string &matName, const vector<double> &matParameters,
-              std::string defaultMesh = "") :
-      ElasticityProblem(matName, matParameters) {
+  BeamProblem(const std::string &matName,
+              const std::vector<double> &matParameters,
+              std::string defaultMesh = "")
+      : ElasticityProblem(matName, matParameters) {
     Config::Get("ProblemDimension", spaceDim);
     Config::Get("ProblemGeometry", is_tet);
 
@@ -39,11 +40,11 @@ public:
     }
   }
 
-  string Evaluate(const Vector &solution) const override;
+  std::string Evaluate(const Vector &solution) const override;
 
-  vector<double> EvaluationResults(const Vector &solution) const override;
+  std::vector<double> EvaluationResults(const Vector &solution) const override;
 
-  string Name() const override;
+  std::string Name() const override;
 };
 
 template<int degree>
@@ -83,7 +84,9 @@ public:
     return true;
   }
 
-  string Name() const override { return "DirichletBeamDegree" + std::to_string(degree); }
+  std::string Name() const override {
+    return "DirichletBeamDegree" + std::to_string(degree);
+  }
 };
 
 class PressureBeamProblem : public BeamProblem {
diff --git a/src/elasticity/problem/DynamicBoundaryProblems.cpp b/src/elasticity/problem/DynamicBoundaryProblems.cpp
index e10228d3eb5de7d3d20e56c05bb98f1712a41815..768e619eb8b389ebc45e9cf2fc726dac37a6b88c 100644
--- a/src/elasticity/problem/DynamicBoundaryProblems.cpp
+++ b/src/elasticity/problem/DynamicBoundaryProblems.cpp
@@ -1,5 +1,7 @@
 #include "DynamicBoundaryProblems.hpp"
 
+#include <numbers>
+
 VectorField DExponentialStiffnessProblem::Deformation(double time, const Point &x) const {
     VectorField  u(
             exp(x[0]), exp(x[1]), spaceDim > 2 ? exp(x[2]) : 0.0
@@ -211,46 +213,59 @@ double DPolynomialNeumannProblem::pressure(double t, const Point &x, int bndCond
   }
 }
 
-
-VectorField DExponentialNeumannProblem::Deformation(double time, const Point &x) const {
-  VectorField u(cos(0.5 * Pi * x[0]), cos(0.5 * Pi * x[1]),cos(0.5 * Pi * x[2]));
-  return -2.0 / Pi * sin(0.5 * Pi * time) * u;
+VectorField DExponentialNeumannProblem::Deformation(double time,
+                                                    const Point &x) const {
+  using std::numbers::pi;
+  VectorField u(cos(0.5 * pi * x[0]), cos(0.5 * pi * x[1]),
+                cos(0.5 * pi * x[2]));
+  return -2.0 / pi * sin(0.5 * pi * time) * u;
 }
 
-VectorField DExponentialNeumannProblem::Velocity(double time, const Point &x) const {
-  VectorField u(cos(0.5 * Pi * x[0]), cos(0.5 * Pi * x[1]), cos(0.5 * Pi * x[2]));
-  return -cos(0.5 * Pi * time) * u;
+VectorField DExponentialNeumannProblem::Velocity(double time,
+                                                 const Point &x) const {
+  using std::numbers::pi;
+  VectorField u(cos(0.5 * pi * x[0]), cos(0.5 * pi * x[1]),
+                cos(0.5 * pi * x[2]));
+  return -cos(0.5 * pi * time) * u;
 }
 
-VectorField DExponentialNeumannProblem::Acceleration(double time, const Point &x) const {
-  VectorField u(cos(0.5 * Pi * x[0]), cos(0.5 * Pi * x[1]), cos(0.5 * Pi * x[2]) );
-  return 0.5 * Pi * sin(0.5 * Pi * time) * u;
+VectorField DExponentialNeumannProblem::Acceleration(double time,
+                                                     const Point &x) const {
+  using std::numbers::pi;
+  VectorField u(cos(0.5 * pi * x[0]), cos(0.5 * pi * x[1]),
+                cos(0.5 * pi * x[2]));
+  return 0.5 * pi * sin(0.5 * pi * time) * u;
 }
 
-
-Tensor DExponentialNeumannProblem::DeformationGradient(double time, const Point &x) const {
-  Tensor Du(- 0.5 * Pi * sin(0.5 * Pi * x[0]), 0.0, 0.0,
-            0.0, - 0.5 * Pi * sin(0.5 * Pi * x[1]), 0.0,
-            0.0, 0.0, - 0.5 * Pi * sin(0.5 * Pi * x[2])
-  );
-  return -2.0 / Pi * sin(0.5 * Pi * time) * Du;
+Tensor DExponentialNeumannProblem::DeformationGradient(double time,
+                                                       const Point &x) const {
+  using std::numbers::pi;
+  Tensor Du(-0.5 * pi * sin(0.5 * pi * x[0]), 0.0, 0.0, 0.0,
+            -0.5 * pi * sin(0.5 * pi * x[1]), 0.0, 0.0, 0.0,
+            -0.5 * pi * sin(0.5 * pi * x[2]));
+  return -2.0 / pi * sin(0.5 * pi * time) * Du;
 }
 
-VectorField DExponentialNeumannProblem::Load(double time, const Point &x, const Cell &c) const {
+VectorField DExponentialNeumannProblem::Load(double time, const Point &x,
+                                             const Cell &c) const {
+  using std::numbers::pi;
   VectorField a = Acceleration(time, x);
-  VectorField u(-0.25 * Pi * Pi * cos(0.5 * Pi * x[0]), -0.25 * Pi * Pi * cos(0.5 * Pi * x[1]),
-                 -0.25 * Pi * Pi * cos(0.5 * Pi * x[2]));
+  VectorField u(-0.25 * pi * pi * cos(0.5 * pi * x[0]),
+                -0.25 * pi * pi * cos(0.5 * pi * x[1]),
+                -0.25 * pi * pi * cos(0.5 * pi * x[2]));
 
-  return a - ((-2.0 / Pi * sin(0.5 * Pi * time)) * u);
+  return a - ((-2.0 / pi * sin(0.5 * pi * time)) * u);
 }
 
-double DExponentialNeumannProblem::pressure(double t, const Point &x, int bndCondition) const {
+double DExponentialNeumannProblem::pressure(double t, const Point &x,
+                                            int bndCondition) const {
+  using std::numbers::pi;
   if (bndCondition == 230) {
-    return  - sin(0.5 * Pi * t) * sin(0.5 * Pi * x[0]) ;
+    return -sin(0.5 * pi * t) * sin(0.5 * pi * x[0]);
   } else if (bndCondition == 231) {
-    return  - sin(0.5 * Pi * t) * sin(0.5 * Pi * x[1]);
+    return -sin(0.5 * pi * t) * sin(0.5 * pi * x[1]);
   } else if (bndCondition == 232) {
-    return  - sin(0.5 * Pi * t) * sin(0.5 * Pi * x[2]) ;
+    return -sin(0.5 * pi * t) * sin(0.5 * pi * x[2]);
   } else {
     return 0;
   }
diff --git a/src/elasticity/problem/DynamicBoundaryProblems.hpp b/src/elasticity/problem/DynamicBoundaryProblems.hpp
index b132fdb3cff7f74ee61f1e400c980cce6f5546fd..558d6f5d6f4628943c4b8c9e124adc410f4531b5 100644
--- a/src/elasticity/problem/DynamicBoundaryProblems.hpp
+++ b/src/elasticity/problem/DynamicBoundaryProblems.hpp
@@ -6,7 +6,8 @@
 class DynamicBoundaryProblem : public ElasticityProblem {
 protected:
   int spaceDim{3};
-  string is_tet{"Tet"};
+  std::string is_tet{"Tet"};
+
 public:
   explicit DynamicBoundaryProblem(std::string mName) :
       ElasticityProblem("Laplace", {1.0}) {
@@ -28,7 +29,7 @@ public:
 
   }
 
-  string Evaluate(const Vector &solution) const override { return ""; };
+  std::string Evaluate(const Vector &solution) const override { return ""; };
 
   VectorField Load(double t, const Point &x, const Cell &c) const override;
 
@@ -51,7 +52,7 @@ public:
 
   }
 
-  string Evaluate(const Vector &solution) const override { return ""; };
+  std::string Evaluate(const Vector &solution) const override { return ""; };
 
   VectorField Load(double t, const Point &x, const Cell &c) const override;
 
@@ -74,7 +75,7 @@ public:
 
   }
 
-  string Evaluate(const Vector &solution) const override { return ""; };
+  std::string Evaluate(const Vector &solution) const override { return ""; };
 
   VectorField Load(double t, const Point &x, const Cell &c) const override;
 
@@ -100,7 +101,7 @@ public:
 
   }
 
-  string Evaluate(const Vector &solution) const override { return ""; };
+  std::string Evaluate(const Vector &solution) const override { return ""; };
 
   VectorField Load(double t, const Point &x, const Cell &c) const override;
 
@@ -126,7 +127,7 @@ public:
 
   }
 
-  string Evaluate(const Vector &solution) const override { return ""; };
+  std::string Evaluate(const Vector &solution) const override { return ""; };
 
   VectorField Load(double t, const Point &x, const Cell &c) const override;
 
@@ -178,7 +179,8 @@ public:
 class OscillationProblem : public ElasticityProblem {
 protected:
   int spaceDim{3};
-  string is_tet{"Tet"};
+  std::string is_tet{"Tet"};
+
 public:
   explicit OscillationProblem(std::string mName = "BenchmarkBeam") :
       ElasticityProblem() {
@@ -195,9 +197,7 @@ public:
 
   bool IsStatic() const override{return false;}
 
-  string Name() const override {
-    return "Oscillation Problem";
-  }
+  std::string Name() const override { return "Oscillation Problem"; }
 };
 
 #endif //DYNAMICBOUNDARYPROBLEMS_HPP
diff --git a/src/elasticity/problem/ElasticityBenchmarkProblem.hpp b/src/elasticity/problem/ElasticityBenchmarkProblem.hpp
index f72c3fe8b7bba36de83455bd6481d838449d610d..ef0b66466d7bfa5d8e3e617e48350896efd08fc1 100644
--- a/src/elasticity/problem/ElasticityBenchmarkProblem.hpp
+++ b/src/elasticity/problem/ElasticityBenchmarkProblem.hpp
@@ -7,11 +7,12 @@
 class LinearBenchmarkProblem : public ElasticityProblemOld {
   bool isPlanar;
 public:
-  LinearBenchmarkProblem(bool planar, vector<double> linearMatParameters) : ElasticityProblemOld(
-      "LinearBenchmarkProblem: u(x,y) = (-y,x)", "Linear", linearMatParameters),
-                                                                            isPlanar(planar) {}
+  LinearBenchmarkProblem(bool planar, std::vector<double> linearMatParameters)
+      : ElasticityProblemOld("LinearBenchmarkProblem: u(x,y) = (-y,x)",
+                             "Linear", linearMatParameters),
+        isPlanar(planar) {}
 
-  string MeshName() const override {
+  std::string MeshName() const override {
     return (meshFromConfig()?  meshName : (isPlanar ? "UnitBlock2DQuad" : "UnitBlock3DQuad"));
   }
 
@@ -29,11 +30,13 @@ public:
 class QuadraticBenchmarkProblem : public ElasticityProblemOld {
   bool isPlanar;
 public:
-  QuadraticBenchmarkProblem(bool planar, vector<double> linearMatParameters) : ElasticityProblemOld(
-      "QuadraticBenchmarkProblem: u(x,y) = (x*y, 0)", "Linear", linearMatParameters),
-                                                                               isPlanar(planar) {}
+  QuadraticBenchmarkProblem(bool planar,
+                            std::vector<double> linearMatParameters)
+      : ElasticityProblemOld("QuadraticBenchmarkProblem: u(x,y) = (x*y, 0)",
+                             "Linear", linearMatParameters),
+        isPlanar(planar) {}
 
-  string MeshName() const override {
+  std::string MeshName() const override {
     return (meshFromConfig()?  meshName : (isPlanar ?"UnitSquare" : "UnitCube"));
   }
 
diff --git a/src/elasticity/problem/ElasticityProblem.cpp b/src/elasticity/problem/ElasticityProblem.cpp
index 9be4e99f3be0888b2dcfb51f1eb90fa351875533..118df923c004ca390523139820ebbf82e04fecc9 100644
--- a/src/elasticity/problem/ElasticityProblem.cpp
+++ b/src/elasticity/problem/ElasticityProblem.cpp
@@ -6,7 +6,9 @@
 #include "VentricleProblems.hpp"
 #include "DGVectorFieldElement.hpp"
 
-std::vector<double> findDisplacements(const Vector &u, const vector<Point> &points, int index) {
+std::vector<double> findDisplacements(const Vector &u,
+                                      const std::vector<Point> &points,
+                                      int index) {
   std::vector<double> displacements(points.size());
 
   if (!contains(u.GetDisc().DiscName(),"DG")) {
@@ -35,7 +37,8 @@ std::vector<double> findDisplacements(const Vector &u, const vector<Point> &poin
   return displacements;
 }
 
-std::vector<VectorField> findDisplacements(const Vector &u, const vector<Point> &points) {
+std::vector<VectorField> findDisplacements(const Vector &u,
+                                           const std::vector<Point> &points) {
   std::vector<VectorField> displacements(points.size());
   if (!contains(u.GetDisc().DiscName(),"DG")) {
     for (row r = u.rows(); r != u.rows_end(); ++r) {
@@ -80,7 +83,6 @@ std::vector<VectorField> findDisplacements(const Vector &u, const vector<Point>
   return displacements;
 }
 
-
 ElasticityProblem::ElasticityProblem() : CardMechIProblem(), IElasticityProblem(), IPressureProblem() {
   Config::Get("MechProblemVerbose", verbose);
 
@@ -110,7 +112,8 @@ std::unique_ptr<ElasticityProblem> GetElasticityProblem() {
   return GetElasticityProblem(problemName);
 }
 
-std::unique_ptr<ElasticityProblem> GetElasticityProblem(const string &problemName) {
+std::unique_ptr<ElasticityProblem> GetElasticityProblem(
+    const std::string &problemName) {
   if (problemName == "Default" || problemName == "ReadFromConfig") {
     return std::make_unique<DefaultElasticityProblem>();
   }
diff --git a/src/elasticity/problem/ElasticityProblem.hpp b/src/elasticity/problem/ElasticityProblem.hpp
index 14e32b3ad53d3eb047a69982b5b8d9095e79c055..9f15414f08fb6e8b044c29332e42dcf71a54437a 100644
--- a/src/elasticity/problem/ElasticityProblem.hpp
+++ b/src/elasticity/problem/ElasticityProblem.hpp
@@ -160,13 +160,13 @@ public:
   ElasticityProblem(const std::string &matName,
                     const std::vector<double> &matParameters);
 
-  [[nodiscard]] const string &GetMeshName() const { return meshesName; }
+  [[nodiscard]] const std::string &GetMeshName() const { return meshesName; }
 
   virtual const void SetMeshName(std::string meshName) {
     meshesName = meshName;
   }
 
-  [[nodiscard]] const string &GetMaterialName(bool active) const {
+  [[nodiscard]] const std::string &GetMaterialName(bool active) const {
     return (active ? activeMaterial.Name() : passiveMaterial.Name());
   };
 
@@ -278,13 +278,13 @@ public:
     return refProblem.DeformationGradient(0.0, x);
   }
 
-  [[nodiscard]] const string &Model() const override {
+  [[nodiscard]] const std::string &Model() const override {
     return refProblem.Model();
   }
 
   [[nodiscard]] bool IsStatic() const override { return refProblem.IsStatic(); }
 
-  [[nodiscard]] string Name() const override {
+  [[nodiscard]] std::string Name() const override {
     return "Initial Prestress Problem";
   }
 };
diff --git a/src/elasticity/problem/EllipsoidProblems.cpp b/src/elasticity/problem/EllipsoidProblems.cpp
index f8ecf04f3835e7d00bdd3ca863356b47f3f2924d..cafcfe0fda7b7f93d7b8263bfd54a2a21badd0c2 100644
--- a/src/elasticity/problem/EllipsoidProblems.cpp
+++ b/src/elasticity/problem/EllipsoidProblems.cpp
@@ -5,9 +5,8 @@
 #include "EllipsoidProblems.hpp"
 #include "EllipsoidPoints.hpp"
 
-
-vector<string> EllipsoidProblems::EvaluationMetrics() const {
-    return {"MyocardStrain", "MyocardThickness", "ApexX", "ApexY", "ApexZ"};
+std::vector<std::string> EllipsoidProblems::EvaluationMetrics() const {
+  return {"MyocardStrain", "MyocardThickness", "ApexX", "ApexY", "ApexZ"};
 }
 
 std::vector<double> EllipsoidProblems::EvaluationResults(const Vector &solution) const {
diff --git a/src/elasticity/problem/EllipsoidProblems.hpp b/src/elasticity/problem/EllipsoidProblems.hpp
index d5ed25389bb50e4e0e257dc8fc8848fc9752f366..1fc42e879c61a0050156c6c348a3a2852f492749 100644
--- a/src/elasticity/problem/EllipsoidProblems.hpp
+++ b/src/elasticity/problem/EllipsoidProblems.hpp
@@ -25,8 +25,8 @@ class EllipsoidProblems : public ElasticityProblem {
   std::vector<Point> outerEvaluationPoints{};
 protected:
   int spaceDim{3};
-  string is_tet{"Tet"};
-  //string meshName{};
+  std::string is_tet{"Tet"};
+  // std::string meshName{};
   std::array<double, 4> chamberPressure{};
 
 
@@ -46,14 +46,19 @@ public:
       FillEvaluationPoints();
     }
 
-    EllipsoidProblems(const string &matName, const vector<double> &matPar, EllipsoidType eType = FULL, std::string const &defaultMesh="") :
-        ElasticityProblem( matName, matPar), type(eType) , chamberPressure(pressureFromConfig()) {
-        Config::Get("ProblemDimension", spaceDim);
-        Config::Get("ProblemGeometry", is_tet);
-
-        if(!meshFromConfig()){
-            meshesName =  defaultMesh.empty() ? meshType(eType) : defaultMesh;
-        }
+    EllipsoidProblems(const std::string &matName,
+                      const std::vector<double> &matPar,
+                      EllipsoidType eType = FULL,
+                      std::string const &defaultMesh = "")
+        : ElasticityProblem(matName, matPar),
+          type(eType),
+          chamberPressure(pressureFromConfig()) {
+      Config::Get("ProblemDimension", spaceDim);
+      Config::Get("ProblemGeometry", is_tet);
+
+      if (!meshFromConfig()) {
+        meshesName = defaultMesh.empty() ? meshType(eType) : defaultMesh;
+      }
       FillEvaluationPoints();
     }
 
@@ -61,15 +66,15 @@ public:
 
   std::vector<double> EvaluationResults(const Vector &solution) const override;
 
-    vector<string> EvaluationMetrics() const override;
+  std::vector<std::string> EvaluationMetrics() const override;
 
-    std::pair<double, double> printMyocard(const Vector &u) const;
+  std::pair<double, double> printMyocard(const Vector &u) const;
 
-    void printLineDisplacements(const Vector &u) const;
+  void printLineDisplacements(const Vector &u) const;
 
-    double ActiveStretch(double t, const Point &x) const override;
+  double ActiveStretch(double t, const Point &x) const override;
 
-    string Name() const override { return "Ellipsoid Problem"; }
+  std::string Name() const override { return "Ellipsoid Problem"; }
 };
 
 class LandEllipsoidProblem : public EllipsoidProblems {
@@ -77,9 +82,9 @@ public:
     LandEllipsoidProblem() : EllipsoidProblems("Bonet", {2, 8, 2, 4}, ORIENTED) {
     }
 
-    string Evaluate(const Vector &solution) const override { return ""; };
+    std::string Evaluate(const Vector &solution) const override { return ""; };
 
-    string Name() const override { return "LandEllipsoid Problem"; }
+    std::string Name() const override { return "LandEllipsoid Problem"; }
 };
 
 class LandBiventricleProblem : public EllipsoidProblems {
@@ -89,7 +94,7 @@ public:
 
   std::vector<double> EvaluationResults(const Vector &solution) const override;
 
-  string Name() const override { return "LandBiventricle Problem"; }
+  std::string Name() const override { return "LandBiventricle Problem"; }
 };
 
 #endif //CARDMECH_ELLIPSOIDPROBLEMS_HPP
diff --git a/src/elasticity/problem/TestProblems.hpp b/src/elasticity/problem/TestProblems.hpp
index 190dba6f17cf9b55535d96f577ecda5cd3ec6ec1..a8e2d64e5141cc4c9634ef76a538a64119ee73b0 100644
--- a/src/elasticity/problem/TestProblems.hpp
+++ b/src/elasticity/problem/TestProblems.hpp
@@ -42,7 +42,9 @@ public:
     return true;
   }
 
-  string Name() const override { return "LaplaceProblemDegree" + std::to_string(degree); }
+  std::string Name() const override {
+    return "LaplaceProblemDegree" + std::to_string(degree);
+  }
 };
 
 
diff --git a/src/elasticity/problem/VentricleProblems.cpp b/src/elasticity/problem/VentricleProblems.cpp
index f3af98e6b6c391aa68ec0d48ce858ea13e8d1f53..5436b0886ecdb223c9ba1871a6d80eb17885c853 100644
--- a/src/elasticity/problem/VentricleProblems.cpp
+++ b/src/elasticity/problem/VentricleProblems.cpp
@@ -23,23 +23,27 @@ std::pair<double, double> VentricleProblem::printMyocard(const Vector &u) const
             PPM->Sum(meanThickness) / ventricleEndocard.size()};
 }
 
-vector<std::string> VentricleProblem::EvaluationMetrics() const{
-    return {"MyocardStrain", "MyocardThickness", "ApexX", "ApexY", "ApexZ"};
+std::vector<std::string> VentricleProblem::EvaluationMetrics() const {
+  return {"MyocardStrain", "MyocardThickness", "ApexX", "ApexY", "ApexZ"};
 }
 
-vector<double> VentricleProblem::EvaluationResults(const Vector &solution) const {
-    auto myocardValues = printMyocard(solution);
-
-    auto apexDisplacement = findDisplacements(solution, {ventricleApex});
-    std::vector<double> apexDisplacement0 = {apexDisplacement[0][0], apexDisplacement[0][1],
-                                             apexDisplacement[0][2]};
-    std::vector<double> apexDisplacement0AndApex = {ventricleApex[0] + apexDisplacement0[0],
-                                                    ventricleApex[1] + apexDisplacement0[1],
-                                                    ventricleApex[2] + apexDisplacement0[2]};
-    mout.PrintInfo("LeftVentricle", verbose,
-            /*PrintInfoEntry("MyocardStrain", meanStrain, 1),*/
-                   PrintInfoEntry("ApexLocation", apexDisplacement0AndApex, 1),
-                   PrintInfoEntry("ApexDisplacement", apexDisplacement0, 1));
-
-    return {myocardValues.first, myocardValues.second, apexDisplacement[0][0], apexDisplacement[0][1], apexDisplacement[0][2]};
+std::vector<double> VentricleProblem::EvaluationResults(
+    const Vector &solution) const {
+  auto myocardValues = printMyocard(solution);
+
+  auto apexDisplacement = findDisplacements(solution, {ventricleApex});
+  std::vector<double> apexDisplacement0 = {apexDisplacement[0][0],
+                                           apexDisplacement[0][1],
+                                           apexDisplacement[0][2]};
+  std::vector<double> apexDisplacement0AndApex =
+      {ventricleApex[0] + apexDisplacement0[0],
+       ventricleApex[1] + apexDisplacement0[1],
+       ventricleApex[2] + apexDisplacement0[2]};
+  mout.PrintInfo("LeftVentricle", verbose,
+                 /*PrintInfoEntry("MyocardStrain", meanStrain, 1),*/
+                 PrintInfoEntry("ApexLocation", apexDisplacement0AndApex, 1),
+                 PrintInfoEntry("ApexDisplacement", apexDisplacement0, 1));
+
+  return {myocardValues.first, myocardValues.second, apexDisplacement[0][0],
+          apexDisplacement[0][1], apexDisplacement[0][2]};
 }
diff --git a/src/elasticity/problem/VentricleProblems.hpp b/src/elasticity/problem/VentricleProblems.hpp
index ce444cad406d3189b923dba9743fa8b596e18a5e..08e2986bba7df85c1ddc8a5cfcf79849554139b4 100644
--- a/src/elasticity/problem/VentricleProblems.hpp
+++ b/src/elasticity/problem/VentricleProblems.hpp
@@ -18,12 +18,13 @@ public:
     }
   }
 
-  VentricleProblem(const string &matName, const vector<double> &matPar,
+  VentricleProblem(const std::string &matName,
+                   const std::vector<double> &matPar,
                    std::string const &defaultMesh = "")
-      : VentricleProblem(matName, matPar,pressureFromConfig(0), defaultMesh) {
-  }
+      : VentricleProblem(matName, matPar, pressureFromConfig(0), defaultMesh) {}
 
-  VentricleProblem(const string &matName, const vector<double> &matPar, int pressure,
+  VentricleProblem(const std::string &matName,
+                   const std::vector<double> &matPar, int pressure,
                    std::string const &defaultMesh = "")
       : ElasticityProblem(matName, matPar), ventriclePressure(pressure) {
     if (!meshFromConfig()) {
@@ -31,13 +32,13 @@ public:
     }
   }
 
-  vector<double> EvaluationResults(const Vector &solution) const override;
+  std::vector<double> EvaluationResults(const Vector &solution) const override;
 
-  vector<string> EvaluationMetrics() const override;
+  std::vector<std::string> EvaluationMetrics() const override;
 
   std::pair<double, double> printMyocard(const Vector &u) const;
 
-  string Name() const override { return "Ventricle Problem"; }
+  std::string Name() const override { return "Ventricle Problem"; }
 };
 
 
diff --git a/src/elasticity/problem/old/ElasticityProblemOld.cpp b/src/elasticity/problem/old/ElasticityProblemOld.cpp
index 10d2053ca8ffcb95f81b134fd230425f2795b2e2..7d759f69dab50913ed621e9e521ad36761c607bd 100644
--- a/src/elasticity/problem/old/ElasticityProblemOld.cpp
+++ b/src/elasticity/problem/old/ElasticityProblemOld.cpp
@@ -4,8 +4,9 @@
 #include "VentricleProblems_old.hpp"
 #include "../DynamicProblems.hpp"
 
-
-std::vector<double> findDisplacements(const Vector &u, const vector<Point> &points, int index) {
+std::vector<double> findDisplacements(const Vector &u,
+                                      const std::vector<Point> &points,
+                                      int index) {
   std::vector<double> displacements(points.size());
   for (row r = u.rows(); r != u.rows_end(); ++r) {
     auto[i, isNear] = isIn(r(), points);
@@ -24,7 +25,8 @@ std::vector<double> findDisplacements(const Vector &u, const vector<Point> &poin
   return displacements;
 }
 
-std::vector<VectorField> findDisplacements(const Vector &u, const vector<Point> &points) {
+std::vector<VectorField> findDisplacements(const Vector &u,
+                                           const std::vector<Point> &points) {
   std::vector<VectorField> displacements(points.size());
   for (row r = u.rows(); r != u.rows_end(); ++r) {
     auto[i, isNear] = isIn(r(), points);
@@ -45,9 +47,9 @@ std::vector<VectorField> findDisplacements(const Vector &u, const vector<Point>
   return displacements;
 }
 
-
 std::unique_ptr<ElasticityProblemOld> getElasticityProblemOld() {
-  return getElasticityProblemOld(problemIndex[Config::GetWithoutCheck<string>("MechProblem")]);
+  return getElasticityProblemOld(
+      problemIndex[Config::GetWithoutCheck<std::string>("MechProblem")]);
 }
 
 std::unique_ptr<ElasticityProblemOld> getElasticityProblemOld(const ProblemType cProblem) {
@@ -56,9 +58,12 @@ std::unique_ptr<ElasticityProblemOld> getElasticityProblemOld(const ProblemType
 
   switch (cProblem) {
     case ElasticityBenchmarkLinear:
-      return std::make_unique<LinearBenchmarkProblem>(false, vector<double>{1, 1});
+      return std::make_unique<LinearBenchmarkProblem>(false,
+                                                      std::vector<double>{1,
+                                                                          1});
     case ElasticityBenchmarkQuadratic:
-      return std::make_unique<QuadraticBenchmarkProblem>(false, vector<double>{1, 1});
+      return std::make_unique<
+          QuadraticBenchmarkProblem>(false, std::vector<double>{1, 1});
     case FullEllipsoid:
       return std::make_unique<EllipsoidProblem>(FULL);
     case QuarterEllipsoid:
diff --git a/src/elasticity/problem/old/ElasticityProblemOld.hpp b/src/elasticity/problem/old/ElasticityProblemOld.hpp
index bd403e5a1a0a403dd1ce4f856877f019b32341f8..6f342fec4ecac7f570a8b2f9e97c27cfd10f433c 100644
--- a/src/elasticity/problem/old/ElasticityProblemOld.hpp
+++ b/src/elasticity/problem/old/ElasticityProblemOld.hpp
@@ -45,8 +45,9 @@ protected:
   Material activeMaterial;
   Material passiveMaterial;
 
-  string aMatName = "Linear";
-  string pMatName = "Linear";
+  std::string aMatName = "Linear";
+  std::string pMatName = "Linear";
+
 public:
   explicit ElasticityProblemOld(std::string pName) : CardiacProblem(std::move(pName), "Mech") {
     Config::Get("MechDiscretization", elasticityModel);
@@ -67,17 +68,21 @@ public:
     Config::Get("VolumetricSplit", useFlorySplit);
   }
 
-  ElasticityProblemOld(std::string pName, const std::string &aMat, const vector<double> &aPar,
-                    const std::string &pMat, const vector<double> &pPar) :
-      CardiacProblem(std::move(pName), "Mech"), aMatName(aMat), pMatName(pMat),
-      activeMaterial(aMat, aPar), passiveMaterial(pMat, pPar) {
+  ElasticityProblemOld(std::string pName, const std::string &aMat,
+                       const std::vector<double> &aPar, const std::string &pMat,
+                       const std::vector<double> &pPar)
+      : CardiacProblem(std::move(pName), "Mech"),
+        aMatName(aMat),
+        pMatName(pMat),
+        activeMaterial(aMat, aPar),
+        passiveMaterial(pMat, pPar) {
     Config::Get("MechDiscretization", elasticityModel);
     Config::Get("VolumetricSplit", useFlorySplit);
   }
 
-  ElasticityProblemOld(const string &pName, const string &matName, const vector<double> &matPar)
-      : ElasticityProblemOld(pName, matName, matPar, matName, matPar) {
-  }
+  ElasticityProblemOld(const std::string &pName, const std::string &matName,
+                       const std::vector<double> &matPar)
+      : ElasticityProblemOld(pName, matName, matPar, matName, matPar) {}
 
   /// Right hand side in domain
   virtual VectorField Load(double t, const Point &x, const Cell &c) const { return zero; };
@@ -106,7 +111,7 @@ public:
 
   virtual Tensor DeformationGradient(double time, const Point &x) const { return Zero; };
 
-  const string &GetMaterialName(bool active) const {
+  const std::string &GetMaterialName(bool active) const {
     return (active ? aMatName : pMatName);
   };
 
diff --git a/src/elasticity/problem/old/EllipsoidProblems_Old.cpp b/src/elasticity/problem/old/EllipsoidProblems_Old.cpp
index 19e17333e35d4cf9a88640f0f4f47efb134c8cab..e0fd335877125aceb771ccb218278aa243c37569 100644
--- a/src/elasticity/problem/old/EllipsoidProblems_Old.cpp
+++ b/src/elasticity/problem/old/EllipsoidProblems_Old.cpp
@@ -1,12 +1,12 @@
 #include "EllipsoidProblems_Old.hpp"
 #include "EllipsoidPoints.hpp"
 
-
-vector<string> EllipsoidProblem::EvaluationMetrics() const {
+std::vector<std::string> EllipsoidProblem::EvaluationMetrics() const {
   return {"MyocardStrain", "MyocardThickness", "ApexX", "ApexY", "ApexZ"};
 }
 
-vector<double> EllipsoidProblem::EvaluationResults(const Vector &solution) const {
+std::vector<double> EllipsoidProblem::EvaluationResults(
+    const Vector &solution) const {
   printLineDisplacements(solution);
   auto myoCardvalues = printMyocard(solution);
 
diff --git a/src/elasticity/problem/old/EllipsoidProblems_Old.hpp b/src/elasticity/problem/old/EllipsoidProblems_Old.hpp
index 03d82ec78401f8e43631bd1cab40eebd67e6ee0e..5a314af3c1cc27880a4f8ec5f53a8614897d2108 100644
--- a/src/elasticity/problem/old/EllipsoidProblems_Old.hpp
+++ b/src/elasticity/problem/old/EllipsoidProblems_Old.hpp
@@ -22,22 +22,26 @@ class EllipsoidProblem : public ElasticityProblemOld {
   EllipsoidType type;
 protected:
   int spaceDim{3};
-  string meshName{};
+  std::string meshName{};
+
 public:
   explicit EllipsoidProblem(EllipsoidType eType = FULL) :
       ElasticityProblemOld("Ellipsoid Problem"), type(eType){
 
   }
 
-  EllipsoidProblem(const string &matName, const vector<double> &matPar, EllipsoidType eType = FULL) :
-      ElasticityProblemOld("Ellipsoid Problem", matName, matPar), type(eType) {
+  EllipsoidProblem(const std::string &matName,
+                   const std::vector<double> &matPar,
+                   EllipsoidType eType = FULL)
+      : ElasticityProblemOld("Ellipsoid Problem", matName, matPar),
+        type(eType) {}
 
+  std::string MeshName() const override {
+    return meshFromConfig() ? meshName : meshType(type);
   }
 
-  string MeshName() const override { return meshFromConfig()?  meshName : meshType(type); }
-
-  vector<string> EvaluationMetrics() const override;
-  vector<double> EvaluationResults(const Vector &solution) const override;
+  std::vector<std::string> EvaluationMetrics() const override;
+  std::vector<double> EvaluationResults(const Vector &solution) const override;
 
   std::pair<double, double> printMyocard(const Vector &u) const;
 
@@ -52,7 +56,7 @@ public:
 
   }
 
-  string Evaluate(const Vector &solution) const override { return ""; };
+  std::string Evaluate(const Vector &solution) const override { return ""; };
 };
 
 
diff --git a/src/elasticity/problem/old/VentricleProblems_old.cpp b/src/elasticity/problem/old/VentricleProblems_old.cpp
index a39b3cfbbc864343ac19280eb82ecb28b433aca1..a7b60b666c24df0c547a697598deee36de2d7051 100644
--- a/src/elasticity/problem/old/VentricleProblems_old.cpp
+++ b/src/elasticity/problem/old/VentricleProblems_old.cpp
@@ -24,10 +24,11 @@ std::pair<double, double> VentricleProblem::printMyocard(const Vector &u) const
           PPM->Sum(meanThickness) / ventricleEndocard.size()};
 }
 
-vector<std::string> VentricleProblem::EvaluationMetrics() const{
+std::vector<std::string> VentricleProblem::EvaluationMetrics() const {
   return {"MyocardStrain", "MyocardThickness", "ApexX", "ApexY", "ApexZ"};
 }
-vector<double> VentricleProblem::EvaluationResults(const Vector &solution) const {
+std::vector<double> VentricleProblem::EvaluationResults(
+    const Vector &solution) const {
   auto myocardValues = printMyocard(solution);
 
   auto apexDisplacement = findDisplacements(solution, {ventricleApex});
diff --git a/src/elasticity/problem/old/VentricleProblems_old.hpp b/src/elasticity/problem/old/VentricleProblems_old.hpp
index c4634035f187909449b90884151381b39d6aae67..712761fbc95d7833926401343974524a59505a04 100644
--- a/src/elasticity/problem/old/VentricleProblems_old.hpp
+++ b/src/elasticity/problem/old/VentricleProblems_old.hpp
@@ -13,20 +13,20 @@ public:
 
   }
 
-  VentricleProblem(const string &matName, const vector<double> &matPar) :
-      ElasticityProblemOld("Ventricle Problem", matName, matPar) {
+  VentricleProblem(const std::string &matName,
+                   const std::vector<double> &matPar)
+      : ElasticityProblemOld("Ventricle Problem", matName, matPar) {}
 
+  std::string MeshName() const override {
+    return meshFromConfig() ? meshName : "LeftVentricle";
   }
 
-  string MeshName() const override { return meshFromConfig()? meshName : "LeftVentricle"; }
-
-
-  vector<double> EvaluationResults(const Vector &solution) const override;
+  std::vector<double> EvaluationResults(const Vector &solution) const override;
 
   VectorField Traction(double t, const Point &x, const VectorField &u, const VectorField &v,
                        const VectorField &n, int sd) const override;
 
-  vector<string> EvaluationMetrics() const override;
+  std::vector<std::string> EvaluationMetrics() const override;
 
   std::pair<double, double> printMyocard(const Vector &u) const;
 };
@@ -51,8 +51,9 @@ public:
 
   }
 
-  ContractingVentricleProblem(const string &matName, const vector<double> &matPar) :
-      VentricleProblem(matName, matPar) {
+  ContractingVentricleProblem(const std::string &matName,
+                              const std::vector<double> &matPar)
+      : VentricleProblem(matName, matPar) {
     Config::Get("TractionK", k);
     Config::Get("TractionC", c);
   }
diff --git a/src/elasticity/solvers/DynamicMechanicsSolver.cpp b/src/elasticity/solvers/DynamicMechanicsSolver.cpp
index 9cf43f3000bf342bbd73bfc1a2dab0ee0356b7ff..dd29934eb540ef7a067ed63ac657a22bd8a02edc 100644
--- a/src/elasticity/solvers/DynamicMechanicsSolver.cpp
+++ b/src/elasticity/solvers/DynamicMechanicsSolver.cpp
@@ -12,8 +12,8 @@ std::unique_ptr<NonLinearSolverT<IElasticity>> GetDynamicSolver() {
   return GetDynamicSolver(dynamics);
 }
 
-std::unique_ptr<NonLinearSolverT<IElasticity>>
-GetDynamicSolver(const string &solverName) {
+std::unique_ptr<NonLinearSolverT<IElasticity>> GetDynamicSolver(
+    const std::string &solverName) {
   if (contains(solverName, "Euler"))
     return std::make_unique<DynamicEulerSolver>(contains(solverName, "Visco"),
                                                 contains(solverName, "Rayleigh"));
diff --git a/src/elasticity/solvers/DynamicMechanicsSolver.hpp b/src/elasticity/solvers/DynamicMechanicsSolver.hpp
index 6347e5e5a5469eeccc50d1ec483df259bd2d104b..4344f73323b1d203f5d8bef86baffc9eb32f5580 100644
--- a/src/elasticity/solvers/DynamicMechanicsSolver.hpp
+++ b/src/elasticity/solvers/DynamicMechanicsSolver.hpp
@@ -8,7 +8,8 @@
 
 std::unique_ptr<NonLinearSolverT<IElasticity>> GetDynamicSolver();
 
-std::unique_ptr<NonLinearSolverT<IElasticity>> GetDynamicSolver(const string &solverName);
+std::unique_ptr<NonLinearSolverT<IElasticity>> GetDynamicSolver(
+    const std::string &solverName);
 
 class ElastodynamicTimeIntegrator {
   int verbose{1};
@@ -22,10 +23,8 @@ public:
   explicit ElastodynamicTimeIntegrator() : ElastodynamicTimeIntegrator(
       GetDynamicSolver()) {}
 
-  explicit ElastodynamicTimeIntegrator(
-      const string &solverName) : ElastodynamicTimeIntegrator(
-      GetDynamicSolver(
-          solverName)) {}
+  explicit ElastodynamicTimeIntegrator(const std::string &solverName)
+      : ElastodynamicTimeIntegrator(GetDynamicSolver(solverName)) {}
 
   explicit ElastodynamicTimeIntegrator(
       std::unique_ptr<NonLinearSolverT<IElasticity>> &&nlSolver) : nonlinearSolver(
diff --git a/src/elasticity/solvers/ElasticityEuler.cpp b/src/elasticity/solvers/ElasticityEuler.cpp
index 5270d7770c87d6ea296b8a3f6c99783b749459e7..137d8f25dcb6db61dffc1525ad7e6ce99ed0d343 100644
--- a/src/elasticity/solvers/ElasticityEuler.cpp
+++ b/src/elasticity/solvers/ElasticityEuler.cpp
@@ -41,7 +41,7 @@ void DynamicEulerSolver::operator()(const IElasticity &assemble, Vector &u) {
   updateOldValues(assemble.StepSize(), u);
 }
 
-string DynamicEulerSolver::Name() const {
+std::string DynamicEulerSolver::Name() const {
   return "Dynamic Euler";
 }
 
diff --git a/src/elasticity/solvers/ElasticityNewmark.cpp b/src/elasticity/solvers/ElasticityNewmark.cpp
index 8a84a297cb31cf63d7a4d7985298cab84c6b0273..94d02c2ea51d2972f4bdcaccc97bab5474e92a09 100644
--- a/src/elasticity/solvers/ElasticityNewmark.cpp
+++ b/src/elasticity/solvers/ElasticityNewmark.cpp
@@ -55,7 +55,7 @@ void NewmarkSolver::operator()(const IElasticity &assemble, Vector &u) {
   //PlotIteration(t);
 }
 
-string NewmarkSolver::Name() const {
+std::string NewmarkSolver::Name() const {
   return "Newmark";
 }
 
@@ -124,8 +124,8 @@ void NewmarkSolver::updateOldValues(double dt, const Vector &u) {
 void NewmarkSolver::PlotIteration(double time) const {
   auto &plot_vel = mpp::plot("Velocity");
   plot_vel.AddData("Velocity", oldValues.Velocity());
-  plot_vel.PlotFile("Velocity" + to_string(time));
+  plot_vel.PlotFile("Velocity" + std::to_string(time));
   auto &plot_acc = mpp::plot("Acceleration");
   plot_acc.AddData("Acceleration", oldValues.Acceleration());
-  plot_acc.PlotFile("Acceleration" + to_string(time));
+  plot_acc.PlotFile("Acceleration" + std::to_string(time));
 }
\ No newline at end of file
diff --git a/src/electrophysiology/MainMonodomain.cpp b/src/electrophysiology/MainMonodomain.cpp
index 3213cc0e07b241ece5bd1032d57afd59980ff6cd..19f1884252e79daad871e149d5addd605ed21ca3 100644
--- a/src/electrophysiology/MainMonodomain.cpp
+++ b/src/electrophysiology/MainMonodomain.cpp
@@ -68,7 +68,7 @@ std::vector<double> MainMonodomain::Evaluate(const Vector &solution) {
   mout << "\n" << "==== Monodomain Information ============== \n\n";
   std::string elphyModelClass = "IBTElphyModel";
   Config::Get("ElphyModelClass", elphyModelClass);
-  string cmName = "FitzHughNagumo";
+  std::string cmName = "FitzHughNagumo";
   if (elphyModelClass == "IBTElphyModel") {
     Config::Get("IBTVentricleModel", cmName);
   } else {
@@ -148,13 +148,10 @@ void MainMonodomain::ResetLevel(int newLevel) {
   elevel = newLevel;
 }
 
-double MainMonodomain::EvaluateQuantity(const Vector &solution, const string &quantity) const {
+double MainMonodomain::EvaluateQuantity(const Vector &solution,
+                                        const std::string &quantity) const {
   if (quantity == "L2Error") { return elphyA->L2Error(solution); }
   if (quantity == "L2Norm") { return elphyA->L2Norm(solution); }
   if (quantity == "H1Norm") { return elphyA->H1Norm(solution); }
   else { return infty; }
 }
-
-
-
-
diff --git a/src/electrophysiology/assemble/IElphyAssemble.cpp b/src/electrophysiology/assemble/IElphyAssemble.cpp
index 8cbd040261922cfc89ae34b70d3fb7cfc1598d28..891c9bbbc807f7558e6dad17e4e75ea2de4893ba 100644
--- a/src/electrophysiology/assemble/IElphyAssemble.cpp
+++ b/src/electrophysiology/assemble/IElphyAssemble.cpp
@@ -38,7 +38,7 @@ void IElphyAssemble::IExt(const cell &c, const Vector &u, Vector &r) const {
     double w = E.QWeight(q);
 
     for (int j = 0; j < E.size(); ++j) {
-      Scalar v_j = E.Value(q, j);
+      double v_j = E.Value(q, j);
       double iext = E.Value(q, *Iext);
       r_c(j) += w * (StepSize() * 1000.0 * iext * v_j);
     }
@@ -59,16 +59,16 @@ void IElphyAssemble::updateActivationTime(const Vector &V, double time) {
   }
 }
 
-void IElphyAssemble::PrintInftyNormOnCells(const Vector &V, const string &name) const {
+void IElphyAssemble::PrintInftyNormOnCells(const Vector &V, const std::string &name) const {
 
 vout(0) << "  ||" << name << "||_infty = " << InftyNormOnCells(V) << endl;
 }
-void IElphyAssemble::PrintL2Norm(const Vector &V, const string &name) const {
+void IElphyAssemble::PrintL2Norm(const Vector &V, const std::string &name) const {
 
   vout(0) << "  ||" << name << "||_L2 = " << L2Norm(V) << endl;
 }
 
-void IElphyAssemble::PrintH1Norm(const Vector &V, const string &name) const {
+void IElphyAssemble::PrintH1Norm(const Vector &V, const std::string &name) const {
   vout(0) << "  ||" << name << "||_H1 = " << H1Norm(V) << endl;
 }
 void IElphyAssemble::PrintVariable(const Vector &var,const std::string &varname) const {
@@ -199,7 +199,7 @@ void IElphyAssemble::PrintV(const Vector &V) const {
   PrintH1Norm(V, "v");
   vout(0) << endl;
 }
-void IElphyAssemble::PlotExcitation(const string &name) const{
+void IElphyAssemble::PlotExcitation(const std::string &name) const {
   if (vtkplot < 1) return;
 
   auto &plot = mpp::plot(name);
@@ -242,11 +242,11 @@ void IElphyAssemble::PlotActivation() const {
   plot.PlotFile("ActivationTime");
 }
 void IElphyAssemble::writeActivationTimeFile() const {
-  string lLevel;
+  std::string lLevel;
   Config::Get("ElphyLevel", lLevel);
-  string tLevel="0";
+  std::string tLevel = "0";
   Config::Get("ElphyTimeLevel", tLevel);
-  string filename("data/AT_l"+lLevel+"j"+ tLevel+".txt");
+  std::string filename("data/AT_l" + lLevel + "j" + tLevel + ".txt");
   std::fstream file_out;
   ExchangeBuffer B;
   for (row r= (*activationTime).rows(); r != (*activationTime).rows_end(); ++r) {
@@ -295,8 +295,8 @@ void IElphyAssemble::PrintActivationTime() const {
   }
 }
 
-
-void IElphyAssemble::PlotPotential(Vector &V, const string &varname, int step) const {
+void IElphyAssemble::PlotPotential(Vector &V, const std::string &varname,
+                                   int step) const {
   if (vtkplot < 1 || step % vtksteps != 0) return;
   auto &plot = mpp::plot(varname + stepAsString(step));
   plot.AddData("V", V);
@@ -308,7 +308,7 @@ Vector &IElphyAssemble::ActivationTime() const { return *activationTime; }
 const Vector &IElphyAssemble::ExcitationData() const { return excData; }
 
 void IElphyAssemble::PrintMesh(const Vector &u) const {
-  vector<Point> z(u.size());
+  std::vector<Point> z(u.size());
   for (row r = u.rows(); r != u.rows_end(); ++r) {
     z[r.Id()] = r();
   }
@@ -329,9 +329,9 @@ void IElphyAssemble::PrintMesh(const Vector &u) const {
   }
   mout << "FACES:" << endl;
   mout << "VDATA:" << endl;
-  vector<double> excitation(u.size());
-  vector<double> amplitude(u.size());
-  vector<double> duration(u.size());
+  std::vector<double> excitation(u.size());
+  std::vector<double> amplitude(u.size());
+  std::vector<double> duration(u.size());
   for (row r = u.rows(); r != u.rows_end(); ++r) {
     amplitude[r.Id()] = Amplitude(excData, r, 0);
     excitation[r.Id()] = Excitation(excData, r, 0);
@@ -342,9 +342,9 @@ void IElphyAssemble::PrintMesh(const Vector &u) const {
   }
 
   mout << "CDATA:" << endl;
-  vector<double> fibre(u.size());
-  vector<double> sheet(u.size());
-  vector<double> normal(u.size());
+  std::vector<double> fibre(u.size());
+  std::vector<double> sheet(u.size());
+  std::vector<double> normal(u.size());
   for (cell c = u.GetMesh().cells(); c != u.GetMesh().cells_end(); ++c) {
     const auto &data = c.GetData();
     VectorField fibre = Direction(data);
@@ -378,7 +378,7 @@ double IElphyAssemble::L2Norm(const Vector &V) const {
   for (cell c = V.cells(); c != V.cells_end(); ++c) {
     ScalarElement E(V, *c);
     for (int q = 0; q < E.nQ(); ++q) {
-      Scalar V_p = E.Value(q, V, 0);
+      double V_p = E.Value(q, V, 0);
       double w_q = E.QWeight(q);
       v_sum += w_q * V_p * V_p;
 
@@ -392,7 +392,8 @@ double IElphyAssemble::L2Error(const Vector &V) const {
   for (cell c = V.cells(); c != V.cells_end(); ++c) {
     ScalarElement E(V, *c);
     for (int q = 0; q < E.nQ(); ++q) {
-      Scalar V_p = E.Value(q, V, 0) - GetElphyProblem().Potential(Time(), E.QPoint(q));
+      double V_p =
+          E.Value(q, V, 0) - GetElphyProblem().Potential(Time(), E.QPoint(q));
       double w_q = E.QWeight(q);
       v_sum += w_q * V_p * V_p;
 
@@ -407,7 +408,7 @@ double IElphyAssemble::L2AvgNorm(const Vector &u) const {
     ScalarElement E(u, *c);
 
     double w = 0.0;
-    Scalar U = 0.0;
+    double U = 0.0;
     for (int q = 0; q < E.nQ(); ++q) {
       w += E.QWeight(q);
       U += E.Value(q, u);
@@ -423,7 +424,7 @@ double IElphyAssemble::H1Norm(const Vector &V) const {
   for (cell c = V.cells(); c != V.cells_end(); ++c) {
     ScalarElement E(V, *c);
     for (int q = 0; q < E.nQ(); ++q) {
-      Scalar V_p = E.Value(q, V, 0);
+      double V_p = E.Value(q, V, 0);
       double w_q = E.QWeight(q);
       Tensor DV = E.Derivative(q, V, 0);
       h1 += w_q * (V_p * V_p + Frobenius(DV, DV));
@@ -477,9 +478,9 @@ void IElphyAssemble::PlotIteration(const Vectors &elphyValues, int step) const {
 #include "Monodomain.hpp"
 #include "MonodomainSplitting.hpp"
 
-std::unique_ptr<IElphyAssemble>
-CreateElphyAssemble(ElphyProblem &problem, MCellModel &cellModel, const string &modelName,
-                    int discDegree) {
+std::unique_ptr<IElphyAssemble> CreateElphyAssemble(
+    ElphyProblem &problem, MCellModel &cellModel, const std::string &modelName,
+    int discDegree) {
   int hexaQuadExactupTo = 2 * discDegree;
   if (problem.Name() == "HexaTestProblem") {
     Config::Get("HexaQuadExactupTo", hexaQuadExactupTo);
diff --git a/src/electrophysiology/assemble/IElphyAssemble.hpp b/src/electrophysiology/assemble/IElphyAssemble.hpp
index 68425c47874c1211e3444705e46afc2b3cce66eb..675641cfc8394d6d9e6a784e860f5ddff5ef8deb 100644
--- a/src/electrophysiology/assemble/IElphyAssemble.hpp
+++ b/src/electrophysiology/assemble/IElphyAssemble.hpp
@@ -104,10 +104,10 @@ public:
     THROW("Not implemented in the basis class")
   };
 
-  void PrintInftyNormOnCells(const Vector &V, const string &name ) const;
-  void PrintL2Norm(const Vector &V, const string &name) const;
+  void PrintInftyNormOnCells(const Vector &V, const std::string &name ) const;
+  void PrintL2Norm(const Vector &V, const std::string &name) const;
 
-  void PrintH1Norm(const Vector &V, const string &name) const;
+  void PrintH1Norm(const Vector &V, const std::string &name) const;
 
   void updateActivationTime(const Vector &V, double time);
 
@@ -118,7 +118,7 @@ public:
   void PrintMesh(const Vector &u) const;
 
   void PlotExcitation() const;
-  void PlotExcitation(const string &name) const;
+  void PlotExcitation(const std::string &name) const;
 
   void PlotActivation() const;
 
diff --git a/src/electrophysiology/assemble/Monodomain.cpp b/src/electrophysiology/assemble/Monodomain.cpp
index aba40c5c7fec5936dfd9187f879d7c2d1e4c77d6..5e3db1f374d2cf8cb4df51055142370b0556079d 100644
--- a/src/electrophysiology/assemble/Monodomain.cpp
+++ b/src/electrophysiology/assemble/Monodomain.cpp
@@ -74,10 +74,10 @@ void Monodomain::SystemMatrix(const cell &c, const Vectors &VCW, Matrix &A) cons
         vcw[i] = E.Value(q, VCW[i], E.IndexPart(j));
       }
       double DVIion = elphyModel.JacobiEntry(0, 0, vcw);
-      Scalar V_j = E.Value(q, j);
+      double V_j = E.Value(q, j);
       VectorField S_DV_j = S * E.Derivative(q, j);
       for (int i = 0; i < E.size(); ++i) {
-        Scalar V_i = E.Value(q, i);
+        double V_i = E.Value(q, i);
         VectorField DV_i = E.Derivative(q, i);
         //Original:
         //A_c(i, j, 0, 0) +=w * (V_i * V_j + StepSize() * ((1 / (beta * C_m)) * (DV_i * S_DV_j)+ M.TimeScale() * DVIion * V_i * V_j));
@@ -103,7 +103,7 @@ void Monodomain::addReactionSAndRHS(const cell &c, const Vectors &VCW, Matrix &A
       if (!isNormIextZero) {
         iext = E.Value(q, *Iext, E.IndexPart(j));
       }
-      Scalar V_j = E.Value(q, j);
+      double V_j = E.Value(q, j);
       double Iion = elphyModel.GetIion(vcw);
       double DVIion = elphyModel.JacobiEntry(0, 0, vcw);
       //Original
@@ -112,7 +112,7 @@ void Monodomain::addReactionSAndRHS(const cell &c, const Vectors &VCW, Matrix &A
                      (Iion - DVIion * vcw[0] - iext)) * V_j;
 
       for (int i = 0; i < E.size(); ++i) {
-        Scalar V_i = E.Value(q, i);
+        double V_i = E.Value(q, i);
         A_c(i, j, 0, 0) +=
             w *
             (StepSize() * elphyModel.TimeScale() * (1.0 / C_m) * (1 / cmSquareTommSquare) * DVIion *
@@ -134,9 +134,9 @@ void Monodomain::addReaction(const cell &c, const Vectors &VCW, Matrix &A) const
       //vcw[i] = E.Value(q, VCW[i], E.IndexPart(j));
       //}
       double DVIion = elphyModel.JacobiEntry(0, 0, vcw);
-      Scalar V_j = E.Value(q, j);
+      double V_j = E.Value(q, j);
       for (int i = 0; i < E.size(); ++i) {
-        Scalar V_i = E.Value(q, i);
+        double V_i = E.Value(q, i);
         A_c(i, j, 0, 0) +=
             w *
             (StepSize() * elphyModel.TimeScale() * (1.0 / C_m) * (1 / cmSquareTommSquare) * DVIion *
@@ -155,10 +155,10 @@ void Monodomain::MPlusK(const cell &c, const Vector &V, Matrix &A) const {
   for (int q = 0; q < E.nQ(); ++q) {
     double w = E.QWeight(q);
     for (int j = 0; j < E.size(); ++j) {
-      Scalar V_j = E.Value(q, j);
+      double V_j = E.Value(q, j);
       VectorField S_DV_j = S * E.Derivative(q, j);
       for (int i = 0; i < E.size(); ++i) {
-        Scalar V_i = E.Value(q, i);
+        double V_i = E.Value(q, i);
         VectorField DV_i = E.Derivative(q, i);
         A_c(i, j, 0, 0) +=
             w * (J * V_i * V_j + StepSize() * (1 / (beta * C_m * mircoFToF)) * (DV_i * S_DV_j));
@@ -181,7 +181,7 @@ void Monodomain::RHS(const cell &c, const Vectors &VCW, Vector &r) const {
       if (!isNormIextZero) {
         iext = E.Value(q, *Iext, E.IndexPart(j));
       }
-      Scalar v_j = E.Value(q, j);
+      double v_j = E.Value(q, j);
       double Iion = elphyModel.GetIion(vcw);
       double DVIion = elphyModel.JacobiEntry(0, 0, vcw);
       //Original
@@ -257,7 +257,7 @@ MonodomainLINodes::addReactionSAndRHS(const cell &c, const Vectors &VCW, Matrix
       if (!isNormIextZero) {
         iext = E.Value(q, *Iext, E.IndexPart(j));
       }
-      Scalar V_j = E.Value(q, j);
+      double V_j = E.Value(q, j);
       double Iion = E.Value(q, *IionVEC, E.IndexPart(j));
       double DVIion = E.Value(q, *DVIionVEC, E.IndexPart(j));
       //Original
@@ -266,7 +266,7 @@ MonodomainLINodes::addReactionSAndRHS(const cell &c, const Vectors &VCW, Matrix
                      (Iion - DVIion * v_old - iext)) * V_j;
 
       for (int i = 0; i < E.size(); ++i) {
-        Scalar V_i = E.Value(q, i);
+        double V_i = E.Value(q, i);
         A_c(i, j, 0, 0) +=
             w *
             (StepSize() * elphyModel.TimeScale() * (1.0 / C_m) * (1 / cmSquareTommSquare) * DVIion *
@@ -289,10 +289,10 @@ void MonodomainLINodes::SystemMatrix(const cell &c, const Vectors &VCW, Matrix &
     for (int j = 0; j < E.size(); ++j) {
       E.Values(q, VCW, vcw, E.IndexPart(j));
       double DVIion = E.Value(q, *DVIionVEC, E.IndexPart(j));
-      Scalar V_j = E.Value(q, j);
+      double V_j = E.Value(q, j);
       VectorField S_DV_j = S * E.Derivative(q, j);
       for (int i = 0; i < E.size(); ++i) {
-        Scalar V_i = E.Value(q, i);
+        double V_i = E.Value(q, i);
         VectorField DV_i = E.Derivative(q, i);
         A_c(i, j, 0, 0) +=
             w * (V_i * V_j + StepSize() * ((1 / (beta * C_m)) * (DV_i * S_DV_j)
@@ -315,7 +315,7 @@ void MonodomainLINodes::RHS(const cell &c, const Vectors &VCW, Vector &r) const
       if (!isNormIextZero) {
         iext = E.Value(q, *Iext, E.IndexPart(j));
       }
-      Scalar v_j = E.Value(q, j);
+      double v_j = E.Value(q, j);
 
       double Iion = E.Value(q, *IionVEC, E.IndexPart(j));
       double DVIion = E.Value(q, *DVIionVEC, E.IndexPart(j));
@@ -379,10 +379,10 @@ void MonodomainQuadrature::SystemMatrix(const cell &c, const Vector &V, Matrix &
       }
       updateCaAndW(c, vcw, (q * E.size()) + j);
       double DVIion = elphyModel.JacobiEntry(0, 0, vcw);
-      Scalar V_j = E.Value(q, j);
+      double V_j = E.Value(q, j);
       VectorField S_DV_j = S * E.Derivative(q, j);
       for (int i = 0; i < E.size(); ++i) {
-        Scalar V_i = E.Value(q, i);
+        double V_i = E.Value(q, i);
         VectorField DV_i = E.Derivative(q, i);
         A_c(i, j, 0, 0) +=
             w * (V_i * V_j + StepSize() * ((1 / (beta * C_m)) * (DV_i * S_DV_j)
@@ -407,7 +407,7 @@ void MonodomainQuadrature::RHS(const cell &c, const Vectors &VCW, Vector &r) con
       if (!isNormIextZero) {
         iext = E.Value(q, *Iext, E.IndexPart(j));
       }
-      Scalar v_j = E.Value(q, j);
+      double v_j = E.Value(q, j);
       double Iion = elphyModel.GetIion(vcw);
       double DVIion = elphyModel.JacobiEntry(0, 0, vcw);
       r_c(j) +=
@@ -445,7 +445,7 @@ void MonodomainFullNewton::Residual(const cell &c, const Vector &V, Vector &r) c
       if (!isNormIextZero) {
         iext = E.Value(q, *Iext, E.IndexPart(j));
       }
-      Scalar v_j = E.Value(q, j);
+      double v_j = E.Value(q, j);
       VectorField Dv_j = E.Derivative(q, j);
       double Iion = elphyModel.GetIion(vcw);
       double v_old = E.Value(q, (*VACAW)[0], E.IndexPart(j));
@@ -470,10 +470,10 @@ void MonodomainFullNewton::Jacobi(const cell &c, const Vector &V, Matrix &jacobi
       E.Values(q, (*VACAW), vcw, E.IndexPart(j));
       vcw[0] = E.Value(q, V, E.IndexPart(j));
       double DVIion = elphyModel.JacobiEntry(0, 0, vcw);
-      Scalar V_j = E.Value(q, j);
+      double V_j = E.Value(q, j);
       VectorField S_DV_j = S * E.Derivative(q, j);
       for (int i = 0; i < E.size(); ++i) {
-        Scalar V_i = E.Value(q, i);
+        double V_i = E.Value(q, i);
         VectorField DV_i = E.Derivative(q, i);
         //A_c(i, j, 0, 0) +=w * (StepSize()* M.TimeScale() * (1.0/C_m)*(1/cmSquareTommSquare)*DVIion * V_i * V_j);
         A_c(i, j, 0, 0) += w * (V_i * V_j +
@@ -515,7 +515,7 @@ void MonodomainSemiImplicit::RHS(const cell &c, const Vectors &VCW, Vector &r) c
       if (!isNormIextZero) {
         iext = E.Value(q, *Iext, E.IndexPart(j));
       }
-      Scalar V_j = E.Value(q, j);
+      double V_j = E.Value(q, j);
       r_c(j) += w * (J_old * vcw[0] -
                      J * elphyModel.TimeScale() * StepSize() * (1.0 / C_m) * (1 / cmSquareTommSquare) *
                      (Iion - iext)) * V_j;
@@ -530,13 +530,13 @@ void MonodomainSemiImplicitNodes::RHS(const cell &c, const Vectors &VCW, Vector
   for (int q = 0; q < E.nQ(); ++q) {
     double w = E.QWeight(q);
     for (int j = 0; j < E.size(); ++j) {
-      Scalar v = E.Value(q, VCW[0],E.IndexPart(j));
+      double v = E.Value(q, VCW[0], E.IndexPart(j));
       double Iion = E.Value(q, *IionVEC, E.IndexPart(j));
       double iext = 0.0;
       if (!isNormIextZero) {
         iext = E.Value(q, *Iext, E.IndexPart(j));
       }
-      Scalar V_j = E.Value(q, j);
+      double V_j = E.Value(q, j);
       r_c(j) += w * (v -
                      elphyModel.TimeScale() * StepSize() * (1.0 / C_m) * (1 / cmSquareTommSquare) *
                      (Iion - iext)) * V_j;
@@ -558,8 +558,8 @@ void MonodomainSemiImplicitNodes::updateIionVecs(const Vectors &VCW) {
   vout(10).EndBlock();
 }
 
-/*void MonodomainSemiImplicitCells::RHS(const cell &c,const Vector &V,const Vectors &VCW_onCells, Vector &r) const {
-  Point P(2.125,    2.75,    2.875);
+/*void MonodomainSemiImplicitCells::RHS(const cell &c,const Vector &V,const
+Vectors &VCW_onCells, Vector &r) const { Point P(2.125,    2.75,    2.875);
   double J = problem.Jacobian(*c);
   double J_old = problem.Jacobian_old(*c);
   MultiPartScalarElementWG E(V, *c, DomainPart(*c));
@@ -572,15 +572,15 @@ void MonodomainSemiImplicitNodes::updateIionVecs(const Vectors &VCW) {
   for (int q = 0; q < E.nQ(); ++q) {
     double w = E.QWeight(q);
     for (int j = 0; j < E.size(); ++j) {
-      Scalar v = E.Value(q, V,E.IndexPart(j));
+      double v = E.Value(q, V,E.IndexPart(j));
       double iext = 0.0;
       if (!isNormIextZero) {
         iext = E.Value(q, *Iext, E.IndexPart(j));
       }
-      Scalar V_j = E.Value(q, j);
+      double V_j = E.Value(q, j);
       r_c(j) += w * (J_old * v -
-                     J * elphyModel.TimeScale() * StepSize() * (1.0 / C_m) * (1 / cmSquareTommSquare) *
-                     (Iion - iext)) * V_j;
+                     J * elphyModel.TimeScale() * StepSize() * (1.0 / C_m) * (1
+/ cmSquareTommSquare) * (Iion - iext)) * V_j;
     }
   }
 }*/
@@ -594,12 +594,12 @@ void MonodomainSemiImplicitCells::RHS(const cell &c,const Vector &V, Vector &r)
   for (int q = 0; q < E.nQ(); ++q) {
     double w = E.QWeight(q);
     for (int j = 0; j < E.size(); ++j) {
-      Scalar v = E.Value(q, V,E.IndexPart(j));
+      double v = E.Value(q, V,E.IndexPart(j));
       double iext = 0.0;
       if (!isNormIextZero) {
         iext = E.Value(q, *Iext, E.IndexPart(j));
       }
-      Scalar V_j = E.Value(q, j);
+      double V_j = E.Value(q, j);
       r_c(j) += w * (J_old * v -
                      J * elphyModel.TimeScale() * StepSize() * (1.0 / C_m) * (1 / cmSquareTommSquare) *
                      (Iion - iext)) * V_j;
@@ -633,8 +633,8 @@ void MonodomainSemiImplicitCellsIextPerCell::RHS(const cell &c,const Vector &V,
   for (int q = 0; q < E.nQ(); ++q) {
     double w = E.QWeight(q);
     for (int j = 0; j < E.size(); ++j) {
-      Scalar v = E.Value(q, V,E.IndexPart(j));
-      Scalar V_j = E.Value(q, j);
+      double v = E.Value(q, V, E.IndexPart(j));
+      double V_j = E.Value(q, j);
       r_c(j) += w * (J_old * v -
                      J * elphyModel.TimeScale() * StepSize() * (1.0 / C_m) * (1 / cmSquareTommSquare) *
                      (Iion - iext)) * V_j;
@@ -691,14 +691,14 @@ void MonodomainSemiImplicitCellsSVI::RHS(const cell &c,const Vector &V,const Vec
   for (int q = 0; q < E.nQ(); ++q) {
     double w = E.QWeight(q);
     for (int j = 0; j < E.size(); ++j) {
-      Scalar v = E.Value(q, V,E.IndexPart(j));
+      double v = E.Value(q, V, E.IndexPart(j));
       vcw[0]=v;
       double Iion = elphyModel.GetIion(vcw);
       double iext = 0.0;
       if (!isNormIextZero) {
         iext = E.Value(q, *Iext, E.IndexPart(j));
       }
-      Scalar V_j = E.Value(q, j);
+      double V_j = E.Value(q, j);
       r_c(j) += w * (J_old * v -
                      J * elphyModel.TimeScale() * StepSize() * (1.0 / C_m) * (1 / cmSquareTommSquare) *
                      (Iion - iext)) * V_j;
diff --git a/src/electrophysiology/assemble/MonodomainSplitting.cpp b/src/electrophysiology/assemble/MonodomainSplitting.cpp
index 4b641905b1a50bb80f4ad60789bc7995b1a0b6e1..16ca0598090d516e2a2d1ba6a8b26637b048232d 100644
--- a/src/electrophysiology/assemble/MonodomainSplitting.cpp
+++ b/src/electrophysiology/assemble/MonodomainSplitting.cpp
@@ -56,10 +56,10 @@ void MonodomainSplitting::SystemMatrix(const cell &c, const Vector &V, Matrix &A
   for (int q = 0; q < E.nQ(); ++q) {
     double w = E.QWeight(q);
     for (int j = 0; j < E.size(); ++j) {
-      Scalar V_j = E.Value(q, j);
+      double V_j = E.Value(q, j);
       VectorField DV_j = E.Derivative(q, j);
       for (int i = 0; i < E.size(); ++i) {
-        Scalar V_i = E.Value(q, i);
+        double V_i = E.Value(q, i);
         VectorField DV_i = E.Derivative(q, i);
         // Crank-Nicolson Scheme
         A_c(i, j) += w * (J*V_i * V_j + J*theta * (StepSize() / (beta * C_m)) * DV_i * (S * DV_j));
@@ -77,10 +77,10 @@ void MonodomainSplitting::RHSMAT(const cell &c, const Vector &V, Matrix &R) cons
   for (int q = 0; q < E.nQ(); ++q) {
     double w = E.QWeight(q);
     for (int j = 0; j < E.size(); ++j) {
-      Scalar V_j = E.Value(q, j);
+      double V_j = E.Value(q, j);
       VectorField DV_j = E.Derivative(q, j);
       for (int i = 0; i < E.size(); ++i) {
-        Scalar V_i = E.Value(q, i);
+        double V_i = E.Value(q, i);
         VectorField DV_i = E.Derivative(q, i);
         // Crank-Nicolson Scheme
         R_c(i, j) +=
@@ -101,10 +101,10 @@ void MonodomainSplitting::RHS(const cell &c, const Vector &V, Vector &r) const {
     Point xi = E.QPoint(q);
 
     for (int j = 0; j < E.size(); ++j) {
-      Scalar v = E.Value(q, V);
+      double v = E.Value(q, V);
       VectorField S_Dv = S * E.Derivative(q, V);
 
-      Scalar v_j = E.Value(q, j);
+      double v_j = E.Value(q, j);
       VectorField Dv_j = E.Derivative(q, j);
       r_c(j) += w * (J_old*v * v_j -J_old* (1.0 / (beta * C_m)) * (1 - theta) * StepSize() * S_Dv * Dv_j);
       if (iextInPDE) {
diff --git a/src/electrophysiology/problem/DiffusionProblem.cpp b/src/electrophysiology/problem/DiffusionProblem.cpp
index 6a0bb43b58f2a6e35113d4f6ffc885fba54b9d55..1df6419a78338d87c2e4c3150ef9272a5a994db0 100644
--- a/src/electrophysiology/problem/DiffusionProblem.cpp
+++ b/src/electrophysiology/problem/DiffusionProblem.cpp
@@ -1,5 +1,6 @@
 #include "DiffusionProblem.hpp"
 
+#include <numbers>
 #include <utility>
 
 DiffusionProblem::DiffusionProblem(std::array<double, 9> entries) :
@@ -15,8 +16,8 @@ DiffusionProblem::DiffusionProblem(std::array<double, 9> entries) :
   }
 }
 
-
-vector<double> DiffusionProblem::EvaluationResults(const Vector &solution) const {
+std::vector<double> DiffusionProblem::EvaluationResults(
+    const Vector &solution) const {
   std::vector<double> eval{};
 
   Vector error(solution);
@@ -38,7 +39,9 @@ DiffusionExampleOne::DiffusionExampleOne() : DiffusionProblem(
     {1, 0.5, 0.5, 0.5, 1.0, 0.5, 0.5, 0.5, 1.0}) {}
 
 double DiffusionExampleOne::Potential(double time, const Point &x) const {
-  return 0.25 * (1 - sin(time) * sin(time)) * (1 - cos(2 * Pi * x[0])) * (1 - cos(2 * Pi * x[1]));
+  using std::numbers::pi;
+  return 0.25 * (1 - sin(time) * sin(time)) * (1 - cos(2 * pi * x[0])) *
+         (1 - cos(2 * pi * x[1]));
 }
 
 double DiffusionExampleOne::IonCurrent(double time, const Point &x) const {
@@ -48,20 +51,23 @@ double DiffusionExampleOne::IonCurrent(double time, const Point &x) const {
 }
 
 double DiffusionExampleOne::timeDerivative(double time, const Point &x) const {
-  return -0.5 * (sin(time) * cos(time)) * (1 - cos(2 * Pi * x[0])) * (1 - cos(2 * Pi * x[1]));
+  using std::numbers::pi;
+  return -0.5 * (sin(time) * cos(time)) * (1 - cos(2 * pi * x[0])) *
+         (1 - cos(2 * pi * x[1]));
 }
 
 double DiffusionExampleOne::divergence(int row, const Point &x) const {
+  using std::numbers::pi;
   int i = row;
   int j = (row + 1) % SpaceDimension;
   int k = (row + 2) % SpaceDimension;
-  return Pi * Pi *
-         (conductivity[i][i] * cos(2 * Pi * x[i]) * (1 - cos(2 * Pi * x[j])) *
-          (1 - cos(2 * Pi * x[k]))) *
-         (conductivity[i][j] * sin(2 * Pi * x[j]) * (1 + sin(2 * Pi * x[i])) *
-          (1 - cos(2 * Pi * x[k]))) *
-         (conductivity[i][k] * sin(2 * Pi * x[k]) * (1 + sin(2 * Pi * x[i])) *
-          (1 - cos(2 * Pi * x[j])));
+  return pi * pi *
+         (conductivity[i][i] * cos(2 * pi * x[i]) * (1 - cos(2 * pi * x[j])) *
+          (1 - cos(2 * pi * x[k]))) *
+         (conductivity[i][j] * sin(2 * pi * x[j]) * (1 + sin(2 * pi * x[i])) *
+          (1 - cos(2 * pi * x[k]))) *
+         (conductivity[i][k] * sin(2 * pi * x[k]) * (1 + sin(2 * pi * x[i])) *
+          (1 - cos(2 * pi * x[j])));
 }
 
 DiffusionExampleTwo::DiffusionExampleTwo() : DiffusionProblem(
@@ -71,7 +77,7 @@ double DiffusionExampleTwo::Potential(double time, const Point &x) const {
   double v =
       256 * (1 - sin(time) * sin(time)) * x[0] * x[0] * (x[0] - 1) * (x[0] - 1) * x[1] * x[1] *
       (x[1] - 1) * (x[1] - 1) * x[2] * x[2] * (x[2] - 1) * (x[2] - 1);
-  double g = 0.5 * (1 + cos(Pi * (x[1] - 0.5)));
+  double g = 0.5 * (1 + cos(std::numbers::pi * (x[1] - 0.5)));
   return v * g;
 }
 
diff --git a/src/electrophysiology/problem/DiffusionProblem.hpp b/src/electrophysiology/problem/DiffusionProblem.hpp
index 2e185210473bc10b3c5899f9483da0d4c3a3271f..a59f169f5633c714beb060f018dcf3d429932ea2 100644
--- a/src/electrophysiology/problem/DiffusionProblem.hpp
+++ b/src/electrophysiology/problem/DiffusionProblem.hpp
@@ -16,7 +16,7 @@ public:
     return "Diffusion";
   }
 
-  vector<double> EvaluationResults(const Vector &solution) const override;
+  std::vector<double> EvaluationResults(const Vector &solution) const override;
 
   Tensor Conductivity(const Cell &c) const override;
 };
diff --git a/src/electrophysiology/problem/ElphyProblem.cpp b/src/electrophysiology/problem/ElphyProblem.cpp
index ecc22ca74e9968239638b772765e990e61505e3f..48b5287fbb041aee2764f6f1538191bc4780d6df 100644
--- a/src/electrophysiology/problem/ElphyProblem.cpp
+++ b/src/electrophysiology/problem/ElphyProblem.cpp
@@ -23,7 +23,7 @@ GetElphyProblem() {
   return GetElphyProblem(problemName);
 }
 
-std::unique_ptr<ElphyProblem> GetElphyProblem(const string &problemName) {
+std::unique_ptr<ElphyProblem> GetElphyProblem(const std::string &problemName) {
   if (problemName == "VariableMesh")
     return std::make_unique<VariableMeshProblem>();
   if (problemName == "DiffusionProblem1")
@@ -75,7 +75,6 @@ std::unique_ptr<ElphyProblem> GetElphyProblem(const string &problemName) {
 
   if (problemName != "Default") Warning("Problem name unknown")
   return std::make_unique<ElphyProblem>();
-
 }
 
 std::vector<double>
diff --git a/src/electrophysiology/problem/ElphyProblem.hpp b/src/electrophysiology/problem/ElphyProblem.hpp
index 0c4bc23c4b28292a16c79d59ab13654a8bfa2a04..534d0ea792bc6152c8a0caab1aa7c8d206f977c4 100644
--- a/src/electrophysiology/problem/ElphyProblem.hpp
+++ b/src/electrophysiology/problem/ElphyProblem.hpp
@@ -24,8 +24,8 @@ struct EvaluationPointData {
   const int index;
 };
 
-
-static std::vector<double> findPotential(const Vector &u, const vector<Point> &points) {
+static std::vector<double> findPotential(const Vector &u,
+                                         const std::vector<Point> &points) {
   std::vector<double> potentials(points.size());
   for (row r = u.rows(); r != u.rows_end(); ++r) {
     auto [i, isNear] = isIn(r(), points);
@@ -139,7 +139,7 @@ public:
 
   const Point &getEvaluationPointAt(int i) const { return evaluationPoints.at(i); }
 
-  virtual void chamberSpecialization(const string &chamberName) const {}
+  virtual void chamberSpecialization(const std::string &chamberName) const {}
 
   void
   SetNumberOfEvaluationPointsBesideMesh(int number) { numberEvaluationPointsBesideMesh = number; };
@@ -166,11 +166,9 @@ public:
   ElphyProblem(bool at, std::array<double, 4> sigmaParams)
       : CardMechIProblem(), IElphyProblem(at, sigmaParams) {}
 
-  [[nodiscard]] const string &GetMeshName() const { return meshesName; }
+  [[nodiscard]] const std::string &GetMeshName() const { return meshesName; }
 
-  string Name() const override {
-    return "Default Elphy Problem";
-  }
+  std::string Name() const override { return "Default Elphy Problem"; }
 
   [[nodiscard]] virtual std::string Evaluate(const Vector &solution) const { return ""; };
 
@@ -191,14 +189,12 @@ public:
 
   void InitializeEvaluationPoints() override;
 
-  string Name() const override {
-    return "Monodomain";
-  };
+  std::string Name() const override { return "Monodomain"; };
 };
 
 
 std::unique_ptr<ElphyProblem> GetElphyProblem();
 
-std::unique_ptr<ElphyProblem> GetElphyProblem(const string &problemName);
+std::unique_ptr<ElphyProblem> GetElphyProblem(const std::string &problemName);
 
 #endif //ELPHYPROBLEM_H
diff --git a/src/electrophysiology/problem/OneCellProblem.hpp b/src/electrophysiology/problem/OneCellProblem.hpp
index de7a13285d905f5e3427f0d3f92a54463b5924d7..2c5e86a1ef7a19834609f54e173ca7fa0dd26161 100644
--- a/src/electrophysiology/problem/OneCellProblem.hpp
+++ b/src/electrophysiology/problem/OneCellProblem.hpp
@@ -21,7 +21,7 @@ public:
 
   void InitializeEvaluationPoints() override;
 
-  vector<double> EvaluationResults(const Vector &solution) const override;
+  std::vector<double> EvaluationResults(const Vector &solution) const override;
 
   std::string Evaluate(const Vector &solution) const override;
 
diff --git a/src/electrophysiology/solvers/ElphySolver.cpp b/src/electrophysiology/solvers/ElphySolver.cpp
index 40eea2d4a4e2321b8cb5b78544a337540ecc34d4..6aed64ee84744324c5123f3c0040a5fba6f6e9c5 100644
--- a/src/electrophysiology/solvers/ElphySolver.cpp
+++ b/src/electrophysiology/solvers/ElphySolver.cpp
@@ -37,9 +37,10 @@ void ElphySolver::Method(IElphyAssemble &A, Vector &potential) {
 
 }
 
-std::unique_ptr<ElphySolver> GetElphySolver(const string &solverName, MCellModel &cellModel,
+std::unique_ptr<ElphySolver> GetElphySolver(const std::string &solverName,
+                                            MCellModel &cellModel,
                                             const Vector &excitationData) {
-  string cmClass = "MElphyModel";
+  std::string cmClass = "MElphyModel";
   Config::Get("ElphyModelClass", cmClass);
   if (contains(cmClass, "IBT")) {
     return std::make_unique<IBTSplittingSolver>();
@@ -64,7 +65,6 @@ std::unique_ptr<ElphySolver> GetElphySolver(const string &solverName, MCellModel
   THROW(solverName + " No Solver for this Model implemented.")
 }
 
-
 std::unique_ptr<ElphySolver>
 GetElphySolver(MCellModel &cellModel, const Vector &excitationData) {
   std::string solverName{"SemiImplicit"};
diff --git a/src/electrophysiology/solvers/LinearImplicitSolver.cpp b/src/electrophysiology/solvers/LinearImplicitSolver.cpp
index 178c7c52d6929e7652181c3a59237f0936a4f9b5..663bc0d711172a1860d1efab286683012bfdf527 100644
--- a/src/electrophysiology/solvers/LinearImplicitSolver.cpp
+++ b/src/electrophysiology/solvers/LinearImplicitSolver.cpp
@@ -228,7 +228,7 @@ void LinearImplicitSolver::PrintMaxMinGating() {
 void LinearImplicitSolver::SolveConcentration(IElphyAssemble &A, double dt, const Vectors &values) {
   std::vector<double> vcw(M.Size() + (M.Type() == TENSION));
   //std::cout<<"M.Size() "<<M.Size()<<" ElphySize<"<<M.ElphySize()<< " size gating "<<(*gating).size()<<endl;
-  std::vector<vector<double>> G(ionSteps);
+  std::vector<std::vector<double>> G(ionSteps);
   for (int i = 0; i < ionSteps; ++i) {
     G[i] = std::vector<double>(M.Size());
   }
@@ -259,7 +259,7 @@ void LinearImplicitSolver::SolveConcentrationOnCells(IElphyAssemble &A, const Ve
   double dt = A.StepSize();
 
   std::vector<double> vcwPerCell(M.Size() + (M.Type() == TENSION));
-  std::vector<vector<double>> G(ionSteps);
+  std::vector<std::vector<double>> G(ionSteps);
   for (int i = 0; i < ionSteps; ++i) {
     G[i] = std::vector<double>(M.Size());
   }
@@ -353,7 +353,8 @@ void LinearImplicitSolver::GatingVectorAti( Vector &values, int i)const{
       values=(*gating)[i];
 
 }
-void LinearImplicitSolver::selectIonScheme(const string &solvingIonScheme) {
+void LinearImplicitSolver::selectIonScheme(
+    const std::string &solvingIonScheme) {
   if (solvingIonScheme == "ExplicitEuler") {
     ionSteps = 1;
     SolveConcentrationStep = ExplicitEulerIonStep;
diff --git a/src/electrophysiology/solvers/LinearImplicitSolver.hpp b/src/electrophysiology/solvers/LinearImplicitSolver.hpp
index 02557a89f824e9eb624caaf1959fe9ba2c1f4e5b..511415a7c8adde5f0383cb936b1b6597bad543eb 100644
--- a/src/electrophysiology/solvers/LinearImplicitSolver.hpp
+++ b/src/electrophysiology/solvers/LinearImplicitSolver.hpp
@@ -51,7 +51,7 @@ protected:
   std::shared_ptr<LagrangeDiscretization> disc0;
   std::unique_ptr<Vectors> externalCurrentOnCells;
 
-  void selectIonScheme(const string &solvingIonScheme);
+  void selectIonScheme(const std::string &solvingIonScheme);
 
   std::function<void(MCellModel &cellModel, double t, double dt, std::vector<double> &VW,
                      std::vector<std::vector<double>> &g)> SolveConcentrationStep;
@@ -63,7 +63,7 @@ public:
       max_estep(100000), check_conv(true), M(cellModel)//, M(cellModel.ElphyModel())
   {
     M.UseExpInt(true);
-    string solvingIonScheme{"ExplicitEuler"};
+    std::string solvingIonScheme{"ExplicitEuler"};
     Config::Get("IonScheme", solvingIonScheme);
     selectIonScheme(solvingIonScheme);
 
diff --git a/src/electrophysiology/solvers/SplittingSolver.hpp b/src/electrophysiology/solvers/SplittingSolver.hpp
index 60d5959c819ad52b46db19c7be74e80c038a565c..ffa6d291e8733a3040b7593f4fbc9decde4c6353 100644
--- a/src/electrophysiology/solvers/SplittingSolver.hpp
+++ b/src/electrophysiology/solvers/SplittingSolver.hpp
@@ -19,8 +19,8 @@ enum SPLITTING {
   STEIN = 3
 };
 
-static SPLITTING getSplitting(const string &prefix = "Elphy") {
-  string s = "Godunov";
+static SPLITTING getSplitting(const std::string &prefix = "Elphy") {
+  std::string s = "Godunov";
   Config::Get(prefix + "SplittingMethod", s);
   if (s == "OnlyODE") return ONLYODE;
   if (s == "Godunov") return GODUNOV;
diff --git a/test/cellmodels/MTest.hpp b/test/cellmodels/MTest.hpp
index 2bd25c927a855141c08c84300ca06be60f00d82b..19783b10ac8ebec52db969259b6f22827b1da0da 100644
--- a/test/cellmodels/MTest.hpp
+++ b/test/cellmodels/MTest.hpp
@@ -1,6 +1,8 @@
 #ifndef MTEST_HPP
 #define MTEST_HPP
 
+#include <numbers>
+
 #include "MCellModel.hpp"
 
 class MTest : public MElphyModel {
@@ -33,11 +35,13 @@ public:
     return t;
   }
 
-  void RHSUpdate(const vector<double> &var, vector<double> &g, double t) const override {
+  void RHSUpdate(const std::vector<double> &var, std::vector<double> &g,
+                 double t) const override {
     g[0] = Diff(t, var);
   }
 
-  void UpdateValues(double dt, vector<double> &var, const vector<double> &g) const override {
+  void UpdateValues(double dt, std::vector<double> &var,
+                    const std::vector<double> &g) const override {
     var[0] += dt * g[0];
   }
 
@@ -54,14 +58,14 @@ public:
   MExact() : MTest() {}
 
   double Value(double t, const std::vector<double> &vw) const override {
-    return sin(2 * Pi * t);
+    return sin(2 * std::numbers::pi * t);
   }
 
   double Diff(double t, const std::vector<double> &vw) const override {
-    return 2 * Pi * cos(2 * Pi * t);
+    return 2 * std::numbers::pi * cos(2 * std::numbers::pi * t);
   }
 
-  void InitialValues(double t, vector<double> &vw) override {
+  void InitialValues(double t, std::vector<double> &vw) override {
     vw[0] = Value(0, vw);
   }
 };
@@ -79,7 +83,7 @@ public:
     return sin((vw[0] + t) * (vw[0] + t));
   }
 
-  void InitialValues(double t, vector<double> &vw) override {
+  void InitialValues(double t, std::vector<double> &vw) override {
     vw[0] = -1.0;
   }
 };
diff --git a/test/cellmodels/TestElphyModels.cpp b/test/cellmodels/TestElphyModels.cpp
index 89276b673dc0a55e4b905a0e9b24b43d8e315d5c..c8d3f241a9c9391a5fcc443c89882c2760c0402a 100644
--- a/test/cellmodels/TestElphyModels.cpp
+++ b/test/cellmodels/TestElphyModels.cpp
@@ -36,8 +36,8 @@ protected:
     cellSolver->Solve(TS, v);
   }
 
-
-  vector<double> GlobalError(const std::string &methodName, std::vector<double> &error) {
+  std::vector<double> GlobalError(const std::string &methodName,
+                                  std::vector<double> &error) {
     int O = 14;
     int N = 20;
 
@@ -66,7 +66,7 @@ protected:
 
         double v = value[n - O][i];
         double r = ref[dn * i];
-        e = max(e, abs(v - r));
+        e = std::max(e, abs(v - r));
       }
       error[n - O] = e;
     }
@@ -99,7 +99,7 @@ TYPED_TEST(MElphyTest, ConvergenceEuler) {
   SelectExternalCurrentFunction("Arctan");
   this->cellModel->SetExternal(0.0, 0.002,20.0);
 
-  vector<double> error;
+  std::vector<double> error;
   this->GlobalError("ExplicitEuler", error);
   for (int i = 1; i < error.size(); ++i) {
     if (error[i] < 1e-12) continue;
@@ -112,7 +112,7 @@ TYPED_TEST(MElphyTest, ConvergenceRK2) {
   SelectExternalCurrentFunction("Arctan");
   this->cellModel->SetExternal(0.0, 0.002,20.0);
 
-  vector<double> error;
+  std::vector<double> error;
   this->GlobalError("RungeKutta2", error);
   for (int i = 1; i < error.size(); ++i) {
     if (error[i] < 1e-12) continue;
@@ -124,7 +124,7 @@ TYPED_TEST(MElphyTest, ConvergenceRK4) {
   SelectExternalCurrentFunction("Arctan");
   this->cellModel->SetExternal(0.0, 0.002,20.0);
 
-  vector<double> error;
+  std::vector<double> error;
   this->GlobalError("RungeKutta4", error);
   for (int i = 1; i < error.size(); ++i) {
     if (error[i] < 1e-12) continue;
diff --git a/test/cellmodels/TestSolvers.cpp b/test/cellmodels/TestSolvers.cpp
index 6da3b67415ad46f732ad68fc60959d7577f75d9c..40acaf6bdf5f859fc4104ba677933acfb91818e2 100644
--- a/test/cellmodels/TestSolvers.cpp
+++ b/test/cellmodels/TestSolvers.cpp
@@ -67,7 +67,7 @@ TEST_P(MCellSolverTest, WithExactSolution) {
     for (int i = 0; i < value[n - O].size(); ++i) {
       double t = time[n - O][i];
       double v = value[n - O][i];
-      e = max(e, v - cellModel->Value(t, std::vector<double>{v}));
+      e = std::max(e, v - cellModel->Value(t, std::vector<double>{v}));
     }
     error[n - O] = e;
   }
@@ -127,7 +127,7 @@ TEST_P(MCellSolverTest, WithoutExactSolution) {
 
       double v = value[n - O][i];
       double r = ref[dn * i];
-      e = max(e, abs(v - r));
+      e = std::max(e, abs(v - r));
     }
     error[n - O] = e;
   }
diff --git a/test/coupled/TestCoupledConsistency.cpp b/test/coupled/TestCoupledConsistency.cpp
index ccef0111663b9c83c60bb48eedf05af9d211d4ad..719423fe4d34d358df889f44f4693e8db7358988 100644
--- a/test/coupled/TestCoupledConsistency.cpp
+++ b/test/coupled/TestCoupledConsistency.cpp
@@ -27,7 +27,7 @@ protected:
   std::unique_ptr<IElasticity> mechA = nullptr;
 
   CoupledConsistencyTest() {
-    std::map<string, string> testConfig = CARDIAC_TEST_CONFIG;
+    std::map<std::string, std::string> testConfig = CARDIAC_TEST_CONFIG;
     initializeConfig(testConfig);
 
     problem = GetCoupledProblem("ContractingBeam");
@@ -43,7 +43,7 @@ protected:
     mechA->ResetTime(0.0, 0.1, 0.0001);
   }
 
-  void initializeConfig(std::map<string, string> &testConfig) {
+  void initializeConfig(std::map<std::string, std::string> &testConfig) {
     testConfig["Model"] = "Monodomain";
     testConfig["ElphyModel"] = GetParam().ElphyModel;
     testConfig["ElphyLevel"] = "2";
@@ -87,7 +87,6 @@ protected:
     Config::Initialize(testConfig);
   }
 
-
   void TearDown() override {
     Config::Close();
   }
diff --git a/test/coupled/TestDeformedDiffusion.cpp b/test/coupled/TestDeformedDiffusion.cpp
index 4438690203eff62073675778445e5ec8cd3544d7..c1fb8f3cd4d2f948e719f82e9f08b9c522bf760d 100644
--- a/test/coupled/TestDeformedDiffusion.cpp
+++ b/test/coupled/TestDeformedDiffusion.cpp
@@ -16,7 +16,7 @@ protected:
   std::unique_ptr<CoupledProblem> deformedProblem = nullptr;
 
   DeformedDiffusionTest() {
-    std::map<string, string> testConfig = CARDIAC_TEST_CONFIG;
+    std::map<std::string, std::string> testConfig = CARDIAC_TEST_CONFIG;
     initializeConfig(testConfig);
 
     problem = std::make_unique<CompositeCoupledProblem>(
@@ -36,7 +36,7 @@ protected:
     mechA = std::make_unique<LagrangeElasticity>(*problem, 1, false);
   }
 
-  void initializeConfig(std::map<string, string> &testConfig) {
+  void initializeConfig(std::map<std::string, std::string> &testConfig) {
     testConfig["Model"] = "Monodomain";
     testConfig["ElphyModel"] = "Diffusion";
     testConfig["ElphyLevel"] = "2";
@@ -67,7 +67,6 @@ protected:
     Config::Initialize(testConfig);
   }
 
-
   void TearDown() override {
     Config::Close();
   }
diff --git a/test/elasticity/TestAssembleConsistency.cpp b/test/elasticity/TestAssembleConsistency.cpp
index 5555b877dbe61587500bdf495cb1409cf2064dc8..32374a1407eb1f6a3e720340e7764a418a91d079 100644
--- a/test/elasticity/TestAssembleConsistency.cpp
+++ b/test/elasticity/TestAssembleConsistency.cpp
@@ -34,7 +34,7 @@ protected:
 
 
   void SetUp() override {
-    std::map<string, string> testConfig = CARDIACBEAM_TEST_CONFIG;
+    std::map<std::string, std::string> testConfig = CARDIACBEAM_TEST_CONFIG;
 
     testConfig["MechDynamics"] = "Static";
     testConfig["LAPressure"] = "0.004";
diff --git a/test/elasticity/TestCFLCondition.cpp b/test/elasticity/TestCFLCondition.cpp
index 5fafe030c67f99ac3178c8966fac934645bd7ade..e47fdb1406286362526800b2c6037c2743c762d6 100644
--- a/test/elasticity/TestCFLCondition.cpp
+++ b/test/elasticity/TestCFLCondition.cpp
@@ -44,7 +44,7 @@ protected:
   }
 
   void SetUp() override {
-    std::map<string, string> testConfig = CARDIAC_TEST_CONFIG;
+    std::map<std::string, std::string> testConfig = CARDIAC_TEST_CONFIG;
     testConfig["Model"] = "ActiveStrainElasticity";
     testConfig["MechDynamics"] = "Newmark";
     testConfig["MechDiscretization"] = "Lagrange";
diff --git a/test/elasticity/TestCirculation.cpp b/test/elasticity/TestCirculation.cpp
index b28d92a1007d5318c3d74e52d17affe28e421246..82061aa107142079f206f313c42f1bfc167013f4 100644
--- a/test/elasticity/TestCirculation.cpp
+++ b/test/elasticity/TestCirculation.cpp
@@ -1,3 +1,5 @@
+#include <numbers>
+
 #include <GlobalDefinitions.hpp>
 #include "pressure_bnd/MCircModel.hpp"
 #include "TestEnvironmentCardMech.hpp"
@@ -10,6 +12,8 @@ TEST(CirculationTest, SingleStep) {
 
 
 TEST(CirculationTest, Periodic){
+  using std::numbers::pi;
+
   MCircModel circModel;
   TimeSeries TS(0.0, 1.0, 0.001);
 
@@ -25,23 +29,23 @@ TEST(CirculationTest, Periodic){
     if (periodicTime >= 1.0) periodicTime -= 1.0;
 
     if (periodicTime < 0.025) {
-      pressure[2] = pressure[3] = 5.0 * (-cos(0.5 * Pi / 0.025 * periodicTime) + 1);
+      pressure[2] = pressure[3] = 5.0 * (-cos(0.5 * pi / 0.025 * periodicTime) + 1);
     } else if (periodicTime < 0.05) {
-      pressure[2] = pressure[3] = 5.0 * (cos(0.5 * Pi / 0.025 * (periodicTime - 0.025)) + 1);
+      pressure[2] = pressure[3] = 5.0 * (cos(0.5 * pi / 0.025 * (periodicTime - 0.025)) + 1);
     } else if (periodicTime > 0.35) {
       pressure[2] = pressure[3] = 0.0;
     } else if (periodicTime > 0.3) {
-      pressure[2] = pressure[3] = 5.0 * (cos(0.5 * Pi / 0.05 * (periodicTime - 0.3)) + 1);
+      pressure[2] = pressure[3] = 5.0 * (cos(0.5 * pi / 0.05 * (periodicTime - 0.3)) + 1);
     } else if (periodicTime > 0.15) {
-      pressure[2] = pressure[3] = 5.0 * (-cos(0.5 * Pi / 0.15 * (periodicTime - 0.15)) + 1);
+      pressure[2] = pressure[3] = 5.0 * (-cos(0.5 * pi / 0.15 * (periodicTime - 0.15)) + 1);
     } else {
       pressure[2] = pressure[3] = 0.0;
     }
 
     if (periodicTime < 0.15) {
-      pressure[0] = pressure[1] = 60 * (-cos(0.5 * Pi / 0.15 * periodicTime) + 1);
+      pressure[0] = pressure[1] = 60 * (-cos(0.5 * pi / 0.15 * periodicTime) + 1);
     } else if (periodicTime < 0.3) {
-      pressure[0] = pressure[1] = 60.0 * (cos(0.5 * Pi / 0.15 * (periodicTime - 0.15)) + 1);
+      pressure[0] = pressure[1] = 60.0 * (cos(0.5 * pi / 0.15 * (periodicTime - 0.15)) + 1);
     } else pressure[0] = pressure[1] = 0.0;
 
     std::cout << "Volumes at t=" << t << " : " << std::endl;
diff --git a/test/elasticity/TestDirichletBeam.cpp b/test/elasticity/TestDirichletBeam.cpp
index 175dbc000cfc5a2a41dde14a469f63818db04b4f..e18216914c90fbd7570d507145ee2cd6671e20e4 100644
--- a/test/elasticity/TestDirichletBeam.cpp
+++ b/test/elasticity/TestDirichletBeam.cpp
@@ -22,7 +22,7 @@ protected:
   DirichletBeamTest() = default;
 
   void SetUp() override {
-    std::map<string, string> testConfig = CARDIAC_TEST_CONFIG;
+    std::map<std::string, std::string> testConfig = CARDIAC_TEST_CONFIG;
 
     testConfig["Model"] = "ActiveStrainElasticity";
     testConfig["MechDynamics"] = "Static";
diff --git a/test/elasticity/TestDynamicBoundary.cpp b/test/elasticity/TestDynamicBoundary.cpp
index ee4883afa7018cc621a3e36c7f8cfffeb0f29df6..2527f761ad6476feb2776944b3711d40b4f9bc4f 100644
--- a/test/elasticity/TestDynamicBoundary.cpp
+++ b/test/elasticity/TestDynamicBoundary.cpp
@@ -38,7 +38,7 @@ protected:
   }
 
   void SetUp() override {
-    std::map<string, string> testConfig = CARDIAC_TEST_CONFIG;
+    std::map<std::string, std::string> testConfig = CARDIAC_TEST_CONFIG;
     testConfig["Model"] = "ActiveStrainElasticity";
     testConfig["MechDynamics"] = "Newmark";
     testConfig["MechDiscretization"] = "Lagrange";
diff --git a/test/elasticity/TestElasticityBeam.cpp b/test/elasticity/TestElasticityBeam.cpp
index 1365a148a86ad3bb099e9d4cd7f27fe2da39cad9..620512d84d99bbf587742ab2a8cbd8674a0c06a9 100644
--- a/test/elasticity/TestElasticityBeam.cpp
+++ b/test/elasticity/TestElasticityBeam.cpp
@@ -19,7 +19,7 @@ protected:
   ElasticityBeamTest() {  }
 
   void SetUp() override {
-    std::map<string, string> testConfig = CARDIAC_TEST_CONFIG;
+    std::map<std::string, std::string> testConfig = CARDIAC_TEST_CONFIG;
 
     testConfig["Model"] = "ActiveStrainElasticity";
     testConfig["MechDynamics"] = "Static";
diff --git a/test/elasticity/TestElasticityBlock.cpp b/test/elasticity/TestElasticityBlock.cpp
index d825e191dd242abf4b296471df1a8b0b8c91adac..300116696a76e8ef8c6df62c50acbaf327fe474a 100644
--- a/test/elasticity/TestElasticityBlock.cpp
+++ b/test/elasticity/TestElasticityBlock.cpp
@@ -18,7 +18,7 @@ protected:
   ElasticityBlockTest() {}
 
   void SetUp() override {
-    std::map<string, string> testConfig = CARDIAC_TEST_CONFIG;
+    std::map<std::string, std::string> testConfig = CARDIAC_TEST_CONFIG;
 
     testConfig["Model"] = "ActiveStrainElasticity";
     testConfig["MechDynamics"] = "Static";
diff --git a/test/elasticity/TestLShape.cpp b/test/elasticity/TestLShape.cpp
index 8496adb3682e1a9652fca9a9ab48bba04f397637..2031209666830ace6466d68f8d02566a9d0eee53 100644
--- a/test/elasticity/TestLShape.cpp
+++ b/test/elasticity/TestLShape.cpp
@@ -8,7 +8,7 @@ protected:
   MainElasticity *cmMain;
 
   void SetUp() override {
-    std::map<string, string> testConfig = lShapeConfig;
+    std::map<std::string, std::string> testConfig = lShapeConfig;
 
     testConfig["Model"] = "ActiveStrainElasticity";
     testConfig["MechDynamics"] = "Static";
diff --git a/test/elasticity/TestLaplaceElasticity.cpp b/test/elasticity/TestLaplaceElasticity.cpp
index d2c9f65430733ca1b29e868cad7a2ecd2b964100..95bb8d655d472480f9949c4e41578ac34abce6d8 100644
--- a/test/elasticity/TestLaplaceElasticity.cpp
+++ b/test/elasticity/TestLaplaceElasticity.cpp
@@ -22,7 +22,7 @@ protected:
   }
 
   void SetUp() override {
-    std::map<string, string> testConfig = CARDIAC_TEST_CONFIG;
+    std::map<std::string, std::string> testConfig = CARDIAC_TEST_CONFIG;
 
     testConfig["Model"] = "ActiveStrainElasticity";
     testConfig["MechDynamics"] = "Static";
diff --git a/test/elasticity/TestLinearBeamProblem.cpp b/test/elasticity/TestLinearBeamProblem.cpp
index 3dc4adbc33b11592aff8bffca0edd4deaa4af514..de809a629750e95af652d3e991ec185ae5dc09f7 100644
--- a/test/elasticity/TestLinearBeamProblem.cpp
+++ b/test/elasticity/TestLinearBeamProblem.cpp
@@ -31,7 +31,7 @@ protected:
   DirichletBeamTest() = default;
 
   void SetUp() override {
-    std::map<string, string> testConfig = CARDIAC_TEST_CONFIG;
+    std::map<std::string, std::string> testConfig = CARDIAC_TEST_CONFIG;
 
     testConfig["Model"] = "ActiveStrainElasticity";
     testConfig["MechDynamics"] = "Static";
diff --git a/test/elasticity/TestMainProgram.cpp b/test/elasticity/TestMainProgram.cpp
index bb2aa008cb83c82efad80f303a9e0656a35b75ac..695987134e61a3f6b23fdd3f9c65077c97661e2e 100644
--- a/test/elasticity/TestMainProgram.cpp
+++ b/test/elasticity/TestMainProgram.cpp
@@ -26,18 +26,20 @@ protected:
     int level = mainProgram->initLevels[0];
     for (auto &sampleAmount : mainProgram->initSampleAmount) {
         for (int sample = 0; sample < sampleAmount; sample++) {
-            string permeability = "sample_" + to_string(level) +
-                "_" + to_string(sample) + "/permeability";
-            string u = "sample_" + to_string(level) +
-                "_" + to_string(sample) + "/u";
+            std::string permeability = "sample_" +  std::to_string(level) +
+                "_" +  std::to_string(sample) + "/permeability";
+            std::string u = "sample_" +  std::to_string(level) +
+                "_" +  std::to_string(sample) + "/u";
             ASSERT_TRUE(FileExists("data/vtk/" + permeability + ".vtk"));
             ASSERT_TRUE(FileExists("data/vtk/" + u + ".vtk"));
 
             if (level != mainProgram->initLevels[0]) {
-                string name_coarse = "sample_coarse_" + to_string(level) +
-                    "_" + to_string(sample) + "/permeability";
-                string u_coarse = "sample_coarse_" + to_string(level) +
-                    "_" + to_string(sample) + "/u";
+                std::string name_coarse = "sample_coarse_" +
+    std::to_string(level) +
+                    "_" +  std::to_string(sample) + "/permeability";
+                std::string u_coarse = "sample_coarse_" +  std::to_string(level)
+    +
+                    "_" +  std::to_string(sample) + "/u";
                 ASSERT_TRUE(FileExists("data/vtk/" + name_coarse + ".vtk"));
                 ASSERT_TRUE(FileExists("data/vtk/" + u_coarse + ".vtk"));
             }
diff --git a/test/elasticity/TestPressureElasticity.hpp b/test/elasticity/TestPressureElasticity.hpp
index d4709301eef721c06ff627da24f480d539129e04..5a97e898f2b62d5aec4d0dde3daaa4b02bdb476f 100644
--- a/test/elasticity/TestPressureElasticity.hpp
+++ b/test/elasticity/TestPressureElasticity.hpp
@@ -35,7 +35,7 @@ protected:
   TestPressureElasticity() = default;
 
   void SetUp() override {
-    std::map<string, string> testConfig = CARDIAC_TEST_CONFIG;
+    std::map<std::string, std::string> testConfig = CARDIAC_TEST_CONFIG;
 
     testConfig["Model"] = "ActiveStrainElasticity";
     testConfig["MechDynamics"] = "Static";
diff --git a/test/elasticity/TestPrestress.cpp b/test/elasticity/TestPrestress.cpp
index 2f06244d274f21f10c0aca4870ad4b50109d5fe3..e0921f19a0debd1ab70a4ce39ae9e1ef5d8876d6 100644
--- a/test/elasticity/TestPrestress.cpp
+++ b/test/elasticity/TestPrestress.cpp
@@ -20,7 +20,7 @@ protected:
   PrestressTest() {}
 
   void SetUp() override {
-    std::map<string, string> testConfig = CARDIAC_TEST_CONFIG;
+    std::map<std::string, std::string> testConfig = CARDIAC_TEST_CONFIG;
 
     testConfig["Model"] = "ActiveStrainElasticity";
     testConfig["MechRuntype"] = "Default";
diff --git a/test/elasticity/TestQuadraticBeamProblem.cpp b/test/elasticity/TestQuadraticBeamProblem.cpp
index db65c17f4752e2ea6dbb0d89fc97b675858c6f2c..0057f1daf08cb264416ee966e9b3126f28947f38 100644
--- a/test/elasticity/TestQuadraticBeamProblem.cpp
+++ b/test/elasticity/TestQuadraticBeamProblem.cpp
@@ -43,7 +43,7 @@ protected:
   QuadraticDirichletBeamTest() = default;
 
   void SetUp() override {
-    std::map<string, string> testConfig = CARDIAC_TEST_CONFIG;
+    std::map<std::string, std::string> testConfig = CARDIAC_TEST_CONFIG;
 
     testConfig["Model"] = "ActiveStrainElasticity";
     testConfig["MechDynamics"] = "Static";
diff --git a/test/elasticity/TestViscoElasticity.cpp b/test/elasticity/TestViscoElasticity.cpp
index c28ef52ebd941baa29d64ed8f463776fbc3bbf51..9789068216551898b380db74fb2d3390cfc6b3d1 100644
--- a/test/elasticity/TestViscoElasticity.cpp
+++ b/test/elasticity/TestViscoElasticity.cpp
@@ -16,7 +16,7 @@ struct ViscoTestParameter {
 
 class ViscoElasticTest : public TestWithParam<ViscoTestParameter> {
 protected:
-  std::map<string, string> testConfig;
+  std::map<std::string, std::string> testConfig;
   std::unique_ptr<MainElasticity> cmMain;
 
   void SetUp() override {
diff --git a/test/elasticity/materials/TestDefaultMaterial.hpp b/test/elasticity/materials/TestDefaultMaterial.hpp
index 57e27e97acea939713b98446d674da1bb624f084..1c5111d54ddcca8fffe455acf0485796ae3d7175 100644
--- a/test/elasticity/materials/TestDefaultMaterial.hpp
+++ b/test/elasticity/materials/TestDefaultMaterial.hpp
@@ -151,7 +151,8 @@ TYPED_TEST_P(MaterialTest, DerivativeConsistency) {
   double isoder = mat.IsotropicDerivative(F, H) + mat.AnisotropicDerivative(F, One, H);
   double numder = numMatDerivative(mat, F, One, H);
 
-  EXPECT_NEAR(isoder, numder, 1e-6 * max(1.0, abs(max(isoder, numder))));
+  EXPECT_NEAR(isoder, numder,
+              1e-6 * std::max(1.0, abs(std::max(isoder, numder))));
 }
 
 
@@ -168,7 +169,8 @@ TYPED_TEST_P(MaterialTest, SecondDerivativeConsistency) {
       mat.IsotropicSecondDerivative(F, H, G) + mat.AnisotropicSecondDerivative(F, One, H, G);
   double numder = numMatSecondDerivative(mat, F, One, H, G);
 
-  EXPECT_NEAR(isoder, numder, 1e-6 * max(1.0, abs(max(isoder, numder))));
+  EXPECT_NEAR(isoder, numder,
+              1e-6 * std::max(1.0, abs(std::max(isoder, numder))));
 }
 
 REGISTER_TYPED_TEST_SUITE_P(MaterialTest, DefaultInstantiation, MoveInstantiation,
diff --git a/test/electrophysiology/TestDiffusion.cpp b/test/electrophysiology/TestDiffusion.cpp
index 1fc1a80184110063e993e5cfc600ca93fe5f0f9d..4495b8efb28b364ce3b2d27d9afff255220c0eed 100644
--- a/test/electrophysiology/TestDiffusion.cpp
+++ b/test/electrophysiology/TestDiffusion.cpp
@@ -25,7 +25,7 @@ protected:
   DiffusionTest() {}
 
   void SetUp() override {
-    std::map<string, string> testConfig = CARDIAC_TEST_CONFIG;
+    std::map<std::string, std::string> testConfig = CARDIAC_TEST_CONFIG;
 
     testConfig["Model"] = "Monodomain";
     testConfig["ElphyModel"] = "Diffusion";
diff --git a/test/electrophysiology/TestMonodomain.cpp b/test/electrophysiology/TestMonodomain.cpp
index 2b6f58692761572bbfaa1f892e6652dc45b7cda3..c72752b18f5c410e9d2efc73d51ff792211a522b 100644
--- a/test/electrophysiology/TestMonodomain.cpp
+++ b/test/electrophysiology/TestMonodomain.cpp
@@ -12,7 +12,7 @@ protected:
   MonodomainTest() {}
 
   void SetUp() override {
-    std::map<string, string> testConfig = CARDIAC_TEST_CONFIG;
+    std::map<std::string, std::string> testConfig = CARDIAC_TEST_CONFIG;
     testConfig["Distribution"] = "Stripes";
     testConfig["ElphyPreconditioner"] = "SuperLU";
     testConfig["Model"] = "Monodomain";
diff --git a/tools/geometries/vtu/ConvertCardiacVtu.cpp b/tools/geometries/vtu/ConvertCardiacVtu.cpp
index 97c98a297c5b126e3eb0845aee29287d808739e6..5ef2969e749cb80eb7084c8746ad482a876c719e 100644
--- a/tools/geometries/vtu/ConvertCardiacVtu.cpp
+++ b/tools/geometries/vtu/ConvertCardiacVtu.cpp
@@ -17,7 +17,8 @@ void smoothMeshData(const Mesh &mesh) {
     }
     if (max_exc_time >= 0.0 && max_amplitude > 0.0) {
       for (int i = 0; i < c.Corners(); ++i) {
-        double amplitude = min(mesh.find_vertex(c.Corner(i)).GetData()[2], max_amplitude);
+        double amplitude =
+            std::min(mesh.find_vertex(c.Corner(i)).GetData()[2], max_amplitude);
         DataContainer exc_data({max_exc_time, max_duration, amplitude});
         mesh.find_vertex(c.Corner(i)).SetData(exc_data);
       }