From f34b9a53c63cd5c300f05c0c5905beaf6205d697 Mon Sep 17 00:00:00 2001
From: acrovato <39187559+acrovato@users.noreply.github.com>
Date: Wed, 12 Dec 2018 12:13:08 +0100
Subject: [PATCH] Add warning and Cpp11 check in CMake.  Corr most warnings.
 Add doc and thread init for MeshDeformation. Add utility folder to be sorted
 with all utilities.

---
 CMakeLists.txt                                |  36 +-
 flow/src/wBoundary.cpp                        |   6 +-
 flow/src/wKutta.cpp                           |   8 +-
 flow/src/wKuttaElement.cpp                    |  10 +-
 flow/src/wMedium.cpp                          |   4 +-
 flow/src/wSolver.cpp                          |  30 +-
 flow/src/wWake.cpp                            |   6 +-
 flow/src/wWakeElement.cpp                     |   6 +-
 flow/tests/meshDef.py                         |   6 +-
 heat/src/wSolver.cpp                          |  22 +-
 mirrors/src/wANSYSSolution.cpp                |   7 +-
 mirrors/src/wSolver.cpp                       |  34 +-
 output.txt                                    | 594 ------------------
 params/CVT/src/cvt.cpp                        |  17 +-
 tbox/src/gmm_extra.cpp                        |   4 +-
 tbox/src/wCacheHex8.cpp                       |   4 +-
 tbox/src/wCacheLine2.cpp                      |   4 +-
 tbox/src/wCacheQuad4.cpp                      |   4 +-
 tbox/src/wCacheTetra4.cpp                     |   4 +-
 tbox/src/wCacheTri3.cpp                       |   4 +-
 tbox/src/wFct0.cpp                            |   4 +-
 tbox/src/wFct2.cpp                            |   6 +-
 tbox/src/wHex8.cpp                            |  42 +-
 tbox/src/wLine2.cpp                           |   8 +-
 tbox/src/wLinesearch.h                        |  12 +-
 tbox/src/wMemTri3.cpp                         |   2 +-
 tbox/src/wMemTri3.h                           |   2 +-
 tbox/src/wMshData.cpp                         |  22 +-
 tbox/src/wMshDeformation.cpp                  |  54 +-
 tbox/src/wQuad4.cpp                           |   2 +-
 tbox/src/wSfLine2.cpp                         |   2 +-
 tbox/src/wSfTetra4.cpp                        |   6 +-
 tbox/src/wSfTri3.cpp                          |   4 +-
 tbox/src/wTag.h                               |   2 +-
 tbox/src/wTetra4.cpp                          |  42 +-
 tbox/src/wTri3.cpp                            |  56 +-
 .../chkencoding.py                            |   0
 .../cppcheck.py                               |   0
 .../devenv-mingw.bat                          |   0
 .../devenv-vs2015.bat                         |   0
 .../receive_workspace.sh                      |   0
 .../send_workspace.sh                         |   0
 waves/src/wForwardEuler.cpp                   |   2 +-
 waves/src/wNewmark.cpp                        |   2 +-
 waves/src/wRungeKutta.cpp                     |   2 +-
 waves/src/wTimeIntegration.cpp                |  12 +-
 46 files changed, 258 insertions(+), 836 deletions(-)
 delete mode 100644 output.txt
 rename chkencoding.py => utilities_to_be_sorted/chkencoding.py (100%)
 rename cppcheck.py => utilities_to_be_sorted/cppcheck.py (100%)
 rename devenv-mingw.bat => utilities_to_be_sorted/devenv-mingw.bat (100%)
 rename devenv-vs2015.bat => utilities_to_be_sorted/devenv-vs2015.bat (100%)
 rename receive_workspace.sh => utilities_to_be_sorted/receive_workspace.sh (100%)
 rename send_workspace.sh => utilities_to_be_sorted/send_workspace.sh (100%)

diff --git a/CMakeLists.txt b/CMakeLists.txt
index e571a6ae..f2aa5cee 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -16,11 +16,6 @@ IF(NOT CMAKE_BUILD_TYPE)
          FORCE)
 ENDIF(NOT CMAKE_BUILD_TYPE)
 
-IF(MSVC)
-    add_definitions(-D_CRT_SECURE_NO_WARNINGS -D_SCL_SECURE_NO_DEPRECATE)
-    SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /MP")  # parallel build with MSVC
-ENDIF(MSVC)
-
 LIST(APPEND CMAKE_MODULE_PATH "${PROJECT_SOURCE_DIR}/CMake")
 
 # -- GENERAL OPTIONS --
@@ -46,15 +41,32 @@ OPTION(WAVES_USE_WAVES       "Compile waves module"            ON)
 INCLUDE(fwkMacros)
 
 # -- C++11
+# Check if C++11 in supported
+include(CheckCXXCompilerFlag)
+CHECK_CXX_COMPILER_FLAG("-std=c++11" COMPILER_SUPPORTS_CXX11)
+CHECK_CXX_COMPILER_FLAG("-std=c++0x" COMPILER_SUPPORTS_CXX0X)
+IF(COMPILER_SUPPORTS_CXX11)
+    set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11")
+ELSEIF(COMPILER_SUPPORTS_CXX0X)
+    set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++0x")
+ELSE()
+    message(STATUS "The compiler ${CMAKE_CXX_COMPILER} has no C++11 support. Please use a different C++ compiler.")
+ENDIF()
+# Set specific languages flags
 MESSAGE(STATUS "CMAKE_CXX_COMPILER_ID=${CMAKE_CXX_COMPILER_ID}")
 IF( (CMAKE_CXX_COMPILER_ID MATCHES "GNU") OR (CMAKE_CXX_COMPILER_ID MATCHES "Intel"))
-	ADD_DEFINITIONS(
-	    -std=gnu++0x #c++0x # =c++11 # Or -std=c++0x
-	)
-	SET(CMAKE_SHARED_LINKER_FLAGS "-Wl,--no-as-needed")
-ENDIF()
-IF( CMAKE_CXX_COMPILER_ID MATCHES "Clang")
-    ADD_DEFINITIONS(-std=c++11 -Wno-deprecated-register)
+    #ADD_DEFINITIONS( -std=gnu++0x ) #c++0x # =c++11 # Or -std=c++0x
+    #set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11") # add verbosity
+    SET(CMAKE_SHARED_LINKER_FLAGS "-Wl,--no-as-needed")
+    set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall") # add verbosity
+ELSEIF (CMAKE_CXX_COMPILER_ID MATCHES "MSVC")
+    add_definitions(-D_CRT_SECURE_NO_WARNINGS -D_SCL_SECURE_NO_DEPRECATE)
+    SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /MP")  # parallel build with MSVC
+    set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /W4")  # add verbosity
+ELSEIF( CMAKE_CXX_COMPILER_ID MATCHES "Clang")
+    #ADD_DEFINITIONS(-std=c++11 -Wno-deprecated-register)
+    #set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11")
+    set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Weverything") # add verbosity
 ENDIF()
 
 # -- OS related (from Kim)
diff --git a/flow/src/wBoundary.cpp b/flow/src/wBoundary.cpp
index 0ff7bd7e..e658b23b 100644
--- a/flow/src/wBoundary.cpp
+++ b/flow/src/wBoundary.cpp
@@ -42,7 +42,7 @@ void Boundary::create()
 std::vector<double> Boundary::integrate(std::vector<double> const &u, Fct0 const &f) const
 {
 	std::vector<double> vI(tag->elems.size());
-	for (int i = 0; i < vI.size(); ++i)
+	for (size_t i = 0; i < vI.size(); ++i)
 		vI[i] = tag->elems[i]->computeV(u, f);
 	return vI;
 }
@@ -55,12 +55,12 @@ std::vector<std::vector<double>> Boundary::interpolate(std::vector<double> const
 {
 	// Map each element to its value
 	std::map<Element *, double> euMap;
-	for (int i = 0; i < tag->elems.size(); i++)
+	for (size_t i = 0; i < tag->elems.size(); i++)
 		euMap[tag->elems[i]] = u[i];
 	
 	// Return a vector (x, y, z) of interpolated values for each node
 	std::vector<std::vector<double>> vN(nodes.size());
-    for (int i = 0; i < vN.size(); ++i) {
+    for (size_t i = 0; i < vN.size(); ++i) {
         std::vector<double> vInt(3, 0.);
         for (auto e : neMap.at(nodes[i])) {
             vInt[0] += euMap.at(e) * e->normal().x[0];
diff --git a/flow/src/wKutta.cpp b/flow/src/wKutta.cpp
index 75801edb..36a0d279 100644
--- a/flow/src/wKutta.cpp
+++ b/flow/src/wKutta.cpp
@@ -41,7 +41,7 @@ Kutta::Kutta(std::shared_ptr<MshData> _msh, std::vector<std::string> const &name
 
 Kutta::~Kutta()
 {
-    for (int i = 0; i < kEle.size(); ++i) {
+    for (size_t i = 0; i < kEle.size(); ++i) {
         delete kEle[i];
     }
     std::cout << "~Kutta()\n";
@@ -100,7 +100,7 @@ void Kutta::createElements()
 
     // Create the Kutta elements
     kEle.resize(suslE.size());
-    for (int i = 0; i < kEle.size(); i++) {
+    for (size_t i = 0; i < kEle.size(); i++) {
         KuttaElement* ke = new KuttaElement(i+1, suslE[i].first, suslE[i].second, suvuE[i].second, slvlE[i].second, nodMap[i].first);
         kEle[i] = ke;
     }
@@ -151,7 +151,7 @@ void Kutta::connectVolElements(std::vector<std::pair<Element *, Element *>> &sur
     int i = 0;
     for (auto sP : surPair) {
         for (auto vE : tags[3]->elems) {
-            int cnt = 0;
+            size_t cnt = 0;
             for (auto sN : sP.first->nodes) {
                 for (auto vN : vE->nodes) {
                     if (sN->no == vN->no) {
@@ -175,7 +175,7 @@ void Kutta::connectVolElements(std::vector<std::pair<Element *, Element *>> &sur
     i = 0;
     for (auto sP : surPair) {
         for (auto vE : tags[3]->elems) {
-            int cnt = 0;
+            size_t cnt = 0;
             for (auto sN : sP.second->nodes) {
                 for (auto vN : vE->nodes) {
                     if (sN->no == vN->no) {
diff --git a/flow/src/wKuttaElement.cpp b/flow/src/wKuttaElement.cpp
index 9a51a64a..093494be 100644
--- a/flow/src/wKuttaElement.cpp
+++ b/flow/src/wKuttaElement.cpp
@@ -205,8 +205,8 @@ void KuttaElement::buildSurF(Element * const &elem)
     GaussLine2 gauss(nGP);
     SfLine2 sf;
     // Find index of TE node
-    int idx;
-    for (int i = 0; i < elem->nodes.size(); i++) {
+    size_t idx = 0;
+    for (size_t i = 0; i < elem->nodes.size(); i++) {
         if (elem->nodes[i]->no == upN->no) {
             idx = i;
             break;
@@ -217,7 +217,7 @@ void KuttaElement::buildSurF(Element * const &elem)
     ffSur.resize(gauss.p.size());
     std::vector<std::vector<double>> ffSurTmp;
     ffSurTmp.resize(gauss.p.size());
-    for (int k = 0; k < gauss.p.size(); ++k)
+    for (size_t k = 0; k < gauss.p.size(); ++k)
     {
         Pt ksi(gauss.p[k]);
         ffSurTmp[k].resize(2);
@@ -228,7 +228,7 @@ void KuttaElement::buildSurF(Element * const &elem)
     // dff = [vA vB]
     // v = [dxiN'1 dxiN'2]
     dffSur.resize(gauss.p.size());
-    for (int k = 0; k < gauss.p.size(); ++k)
+    for (size_t k = 0; k < gauss.p.size(); ++k)
     {
         Pt ksi(gauss.p[k]);
         dffSur[k].resize(2);
@@ -270,7 +270,7 @@ void KuttaElement::buildVolF(Element * const &elem, std::vector<std::vector<std:
     // v = [dxiN1 dxiN2 dxiN3]
     //     [detN1 detN2 detN3]
     dffVol.resize(gaussPt.size());
-    for (int k = 0; k < gaussPt.size(); ++k)
+    for (size_t k = 0; k < gaussPt.size(); ++k)
     {
         Pt ksi(gaussPt[k]);
         dffVol[k].resize(SfTri3::nbno);
diff --git a/flow/src/wMedium.cpp b/flow/src/wMedium.cpp
index 7b5d63eb..e9be7023 100644
--- a/flow/src/wMedium.cpp
+++ b/flow/src/wMedium.cpp
@@ -64,7 +64,7 @@ void Medium::createMap()
         auto iterator = std::unique(vAdjE.begin(), vAdjE.end());
         vAdjE.resize(std::distance(vAdjE.begin(),iterator));
         // Remove self
-        for (int j = 0; j < vAdjE.size(); ++j) {
+        for (size_t j = 0; j < vAdjE.size(); ++j) {
             if (vAdjE[j] == e)
                 vAdjE.erase(vAdjE.begin() + j);
         }
@@ -81,7 +81,7 @@ void Medium::write(std::ostream &out) const
     out << "Adjencency map:\n";
     for (auto p : adjMap) {
         out << "\t" << p.first->no << ':';
-        for (int j = 0; j < p.second.size(); j++)
+        for (size_t j = 0; j < p.second.size(); j++)
             out << p.second[j]->no << ',';
         out << ";\n";
     }
diff --git a/flow/src/wSolver.cpp b/flow/src/wSolver.cpp
index a41ea11a..8d48df54 100644
--- a/flow/src/wSolver.cpp
+++ b/flow/src/wSolver.cpp
@@ -218,7 +218,7 @@ bool Solver::execute()
         for (auto sur : pbl->bnd) {
             double Cx = 0., Cy = 0.;
             std::vector<double> Cf = sur->integrate(phi, pbl->medium->cP);
-            for (int i = 0; i < Cf.size(); ++i) {
+            for (size_t i = 0; i < Cf.size(); ++i) {
                 Cx += Cf[i] * sur->tag->elems[i]->normal().x[0] / pbl->S_ref;
                 Cy += Cf[i] * sur->tag->elems[i]->normal().x[1] / pbl->S_ref;
             }
@@ -294,7 +294,7 @@ void Solver::buildJac(gmm::csr_matrix<double> &J)
         // -> find (cgU-cgE) \dot vel_ closest to one
         double SPbest = -1;
         int idx = 0;
-        for (int i = 0; i < p.second.size(); ++i) {
+        for (size_t i = 0; i < p.second.size(); ++i) {
             double SP = (fluid->cgE[p.second[i]] - fluid->cgE[p.first]).normalized() * vel_;
             if (fabs(SP-1) < fabs(SPbest-1)) {
                 idx = i;
@@ -320,7 +320,7 @@ void Solver::buildJac(gmm::csr_matrix<double> &J)
         std::vector<double> phiPlu = phi;
         std::vector<double> phiMin = phi;
         double phiTmp;
-        for (int jj = 0; jj < nodeU.size(); ++jj) {
+        for (size_t jj = 0; jj < nodeU.size(); ++jj) {
             Node * nodj = nodeU[jj];
             // Perturb the solution
             phiTmp = phi[nodj->row];
@@ -343,7 +343,7 @@ void Solver::buildJac(gmm::csr_matrix<double> &J)
 
             // Assembly
             tbb::spin_mutex::scoped_lock lock(mutex);
-            for(auto ii=0; ii<e->nodes.size(); ++ii)
+            for(size_t ii = 0; ii < e->nodes.size(); ++ii)
             {
                 Node *nodi = e->nodes[ii];
                 A(nodi->row, nodj->row) += (bePlu[ii] - beMin[ii]) / (2*epsNR);
@@ -387,13 +387,13 @@ void Solver::buildJac(gmm::csr_matrix<double> &J)
             we->buildNK(Aue, Ale, phi);
             // Assembly
             tbb::spin_mutex::scoped_lock lock(mutex);
-            for(int ii = 0; ii < we->surUpE->nodes.size(); ++ii) {
+            for(size_t ii = 0; ii < we->surUpE->nodes.size(); ++ii) {
 	    		Node *nodi = we->surUpE->nodes[ii];
-	    		for(int jj = 0; jj < we->volUpE->nodes.size(); ++jj) {
+	    		for(size_t jj = 0; jj < we->volUpE->nodes.size(); ++jj) {
 	    			Node *nodj = we->volUpE->nodes[jj];
 	    			A(nodi->row,nodj->row) += Aue(ii,jj);
 	    		}
-	    		for(int jj = 0; jj < we->volLwE->nodes.size(); ++jj) {
+	    		for(size_t jj = 0; jj < we->volLwE->nodes.size(); ++jj) {
 	    			Node *nodj = we->volLwE->nodes[jj];
 	    			A(nodi->row,nodj->row) -= Ale(ii,jj);
 	    		}
@@ -412,11 +412,11 @@ void Solver::buildJac(gmm::csr_matrix<double> &J)
             // Assembly
             tbb::spin_mutex::scoped_lock lock(mutex);
 	    	Node *nodi = ke->upN;
-	    	for(int jj = 0; jj < ke->volUpE->nodes.size(); ++jj) {
+	    	for(size_t jj = 0; jj < ke->volUpE->nodes.size(); ++jj) {
 	    		Node *nodj = ke->volUpE->nodes[jj];
 	    		A(nodi->row,nodj->row) += Aue(0,jj);
 	    	}
-	    	for(int jj = 0; jj < ke->volLwE->nodes.size(); ++jj) {
+	    	for(size_t jj = 0; jj < ke->volLwE->nodes.size(); ++jj) {
 	    		Node *nodj = ke->volLwE->nodes[jj];
 	    		A(nodi->row,nodj->row) -= Ale(0,jj);
 	    	}
@@ -424,7 +424,7 @@ void Solver::buildJac(gmm::csr_matrix<double> &J)
     }
 
     gmm::copy(A,J);
-    if(verbose>1)
+    if(verbose)
         std::cout << "J (" << gmm::mat_nrows(J) << "," << gmm::mat_ncols(J) << ") nnz=" << gmm::nnz(J) << "\n";
 }
 
@@ -456,7 +456,7 @@ void Solver::buildRes(std::vector<double> &R)
         // -> find (cgU-cgE) \dot vel_ closest to one
         double SPbest = -1;
         int idx = 0;
-        for (int i = 0; i < p.second.size(); ++i) {
+        for (size_t i = 0; i < p.second.size(); ++i) {
             double SP = (fluid->cgE[p.second[i]] - fluid->cgE[p.first]).normalized() * vel_;
             if (fabs(SP-1) < fabs(SPbest-1)) {
                 idx = i;
@@ -478,7 +478,7 @@ void Solver::buildRes(std::vector<double> &R)
 
         // Assembly
         tbb::spin_mutex::scoped_lock lock(mutex);
-        for(auto ii=0; ii<e->nodes.size(); ++ii)
+        for(size_t ii = 0; ii < e->nodes.size(); ++ii)
         {
             Node *nodi = e->nodes[ii];
             R[nodi->row] -= be[ii];
@@ -498,7 +498,7 @@ void Solver::buildRes(std::vector<double> &R)
 
             // Assembly
             tbb::spin_mutex::scoped_lock lock(mutex);
-            for(auto ii=0; ii<e->nodes.size(); ++ii)
+            for(size_t ii = 0; ii < e->nodes.size(); ++ii)
             {
                 Node *nodi = e->nodes[ii];
                 R[nodi->row] += be[ii];
@@ -534,7 +534,7 @@ void Solver::buildRes(std::vector<double> &R)
             we->buildNs(bue, ble, phi);
             // Assembly
             tbb::spin_mutex::scoped_lock lock(mutex);
-            for(int ii = 0; ii < we->surUpE->nodes.size(); ++ii) {
+            for(size_t ii = 0; ii < we->surUpE->nodes.size(); ++ii) {
 	    		Node *nodi = we->surUpE->nodes[ii];
                 R[nodi->row] -= bue[ii];
                 R[nodi->row] += ble[ii];
@@ -558,7 +558,7 @@ void Solver::buildRes(std::vector<double> &R)
         });
     }
 
-    if(verbose>1)
+    if(verbose)
         std::cout << "R (" << gmm::vect_size(R) << ")\n";
 }
 
diff --git a/flow/src/wWake.cpp b/flow/src/wWake.cpp
index 74a5a71a..f3e9dea7 100644
--- a/flow/src/wWake.cpp
+++ b/flow/src/wWake.cpp
@@ -41,7 +41,7 @@ Wake::Wake(std::shared_ptr<MshData> _msh, std::vector<std::string> const &names)
 
 Wake::~Wake()
 {
-    for (int i = 0; i < wEle.size(); ++i) {
+    for (size_t i = 0; i < wEle.size(); ++i) {
         delete wEle[i];
     }
     std::cout << "~Wake()\n";
@@ -100,7 +100,7 @@ void Wake::createElements()
 
     // Create the Wake elements
     wEle.resize(tags[0]->elems.size());
-    for (int i = 0; i < wEle.size(); i++) {
+    for (size_t i = 0; i < wEle.size(); i++) {
         WakeElement* we = new WakeElement(i+1, suslE[i].first, suslE[i].second, suvuE[i].second, slvlE[i].second);
         wEle[i] = we;
     }
@@ -116,7 +116,7 @@ void Wake::connectElements(bool sFlag, Tag * tagA, Tag * tagB, std::vector<std::
 	int i = 0;
 	for (auto taE : tagA->elems) {
 		for (auto tbE : tagB->elems) {
-			int cnt = 0;
+			size_t cnt = 0;
 			for (auto taN : taE->nodes) {
 				for (auto tbN : tbE->nodes) {
 					if (sFlag && taN->pos.compare(tbN->pos)) { // for surface elements (same pos, diff no)
diff --git a/flow/src/wWakeElement.cpp b/flow/src/wWakeElement.cpp
index e413dc6a..5c7b6dd3 100644
--- a/flow/src/wWakeElement.cpp
+++ b/flow/src/wWakeElement.cpp
@@ -206,7 +206,7 @@ void WakeElement::buildSurF(Element * const &elem)
     // ff = [N'1_A N'1_B]
     //      [N'2_A N'2_B]
     ffSur.resize(gauss.p.size());
-    for (int k = 0; k < gauss.p.size(); ++k)
+    for (size_t k = 0; k < gauss.p.size(); ++k)
     {
         Pt ksi(gauss.p[k]);
         ffSur[k].resize(2);
@@ -215,7 +215,7 @@ void WakeElement::buildSurF(Element * const &elem)
     // dff = [vA vB]
     // v = [dxiN'1 dxiN'2]
     dffSur.resize(gauss.p.size());
-    for (int k = 0; k < gauss.p.size(); ++k)
+    for (size_t k = 0; k < gauss.p.size(); ++k)
     {
         Pt ksi(gauss.p[k]);
         dffSur[k].resize(2);
@@ -257,7 +257,7 @@ void WakeElement::buildVolF(Element * const &elem, std::vector<std::vector<std::
     // v = [dxiN1 dxiN2 dxiN3]
     //     [detN1 detN2 detN3]
     dffVol.resize(gaussPt.size());
-    for (int k = 0; k < gaussPt.size(); ++k)
+    for (size_t k = 0; k < gaussPt.size(); ++k)
     {
         Pt ksi(gaussPt[k]);
         dffVol[k].resize(SfTri3::nbno);
diff --git a/flow/tests/meshDef.py b/flow/tests/meshDef.py
index 0b7078e0..961fda1a 100644
--- a/flow/tests/meshDef.py
+++ b/flow/tests/meshDef.py
@@ -25,10 +25,10 @@ def main():
     M_crit = 5 # Squared critical Mach number (above which density is modified)
     c_ref = 1
     # parameters for mesh deformation
-    alfa = 3*np.pi/180
+    alfa = 10*np.pi/180
     xc = 0.25
-    dx = 0.0
-    dy = 0.0
+    dx = 0.2
+    dy = 0.5
 
     # mesh an airfoil
     print ccolors.ANSI_BLUE + 'PyMeshing...' + ccolors.ANSI_RESET
diff --git a/heat/src/wSolver.cpp b/heat/src/wSolver.cpp
index ff7ef503..4c06a071 100644
--- a/heat/src/wSolver.cpp
+++ b/heat/src/wSolver.cpp
@@ -336,12 +336,8 @@ Solver::buildK(gmm::csr_matrix<double> &K2, std::vector<double> &rhs)
     // (on va sommer les lignes des noeuds "d" sur celles des noeuds "n")
 
     std::vector<int> rows(msh->nodes.size());
-    int i=0;
-    for(auto n : msh->nodes)
-    {
+    for (size_t i = 0; i < msh->nodes.size(); ++i)
         rows[i] = i;
-        i++;
-    }
 
 
     if(pbl->pdic)
@@ -374,10 +370,10 @@ Solver::buildK(gmm::csr_matrix<double> &K2, std::vector<double> &rhs)
 
 					// assembly
 					tbb::spin_mutex::scoped_lock lock(mutex);
-					for(auto ii=0; ii<e->nodes.size(); ++ii)
+					for(size_t ii=0; ii<e->nodes.size(); ++ii)
 					{
 						Node *nodi = e->nodes[ii];
-						for(int jj=0; jj<e->nodes.size(); ++jj)
+						for(size_t jj=0; jj<e->nodes.size(); ++jj)
 						{
 							Node *nodj = e->nodes[jj];
 							K(rows[nodi->row],nodj->row) += Ke(ii,jj);
@@ -430,10 +426,10 @@ Solver::buildK(gmm::csr_matrix<double> &K2, std::vector<double> &rhs)
 
 				// assembly
 				//tbb::spin_mutex::scoped_lock lock(mutex);
-				for(auto ii=0; ii<e->nodes.size(); ++ii)
+				for(size_t ii=0; ii<e->nodes.size(); ++ii)
 				{
 					Node *nodi = e->nodes[ii];
-					for(int jj=0; jj<e->nodes.size(); ++jj)
+					for(size_t jj=0; jj<e->nodes.size(); ++jj)
 					{
 						Node *nodj = e->nodes[jj];
 						K(rows[nodi->row],nodj->row) += Ke(ii,jj);
@@ -518,7 +514,7 @@ Solver::buildK(gmm::csr_matrix<double> &K2, std::vector<double> &rhs)
 
                     // assembly
                     tbb::spin_mutex::scoped_lock lock(mutex);
-                    for(int jj=0; jj<e->nodes.size(); ++jj)
+                    for(size_t jj=0; jj<e->nodes.size(); ++jj)
                     {
                         Node *nodj = e->nodes[jj];
                         K(n1->row,nodj->row) += (mat->rhoc) * Ce[jj];
@@ -581,7 +577,7 @@ Solver::buildqint(std::vector<double> &qint)
 
                 // assembly
                 tbb::spin_mutex::scoped_lock lock(mutex);
-                for(auto ii=0; ii<e->nodes.size(); ++ii)
+                for(size_t ii=0; ii<e->nodes.size(); ++ii)
                 {
                     Node *nodi = e->nodes[ii];
                     qint[nodi->row] += qe[ii];
@@ -633,7 +629,7 @@ Solver::builds(std::vector<double> &s)
                 // assembly
                 tbb::spin_mutex::scoped_lock lock(mutex);
 
-                for(auto ii=0; ii<e->nodes.size(); ++ii)
+                for(size_t ii=0; ii<e->nodes.size(); ++ii)
                 {
                     Node *nodi = e->nodes[ii];
                     s[nodi->row] += se[ii];
@@ -675,7 +671,7 @@ Solver::buildq(std::vector<double> &q)
                 // assembly
                 tbb::spin_mutex::scoped_lock lock(mutex);
 
-                for(auto ii=0; ii<e->nodes.size(); ++ii)
+                for(size_t ii=0; ii<e->nodes.size(); ++ii)
                 {
                     Node *nodi = e->nodes[ii];
                     q[nodi->row] += qe[ii];
diff --git a/mirrors/src/wANSYSSolution.cpp b/mirrors/src/wANSYSSolution.cpp
index 32c733a7..fcf8bfaa 100644
--- a/mirrors/src/wANSYSSolution.cpp
+++ b/mirrors/src/wANSYSSolution.cpp
@@ -2,7 +2,12 @@
 #include "wProblem.h"
 using namespace mirrors;
 
-ANSYSSolution::ANSYSSolution(mirrors::Problem &pbl, std::string _solution_type, std::string _solution_name, std::string _solution_file) : solution_type(_solution_type), solution_name(_solution_name), solution_file(_solution_file)
+ANSYSSolution::ANSYSSolution(mirrors::Problem &pbl, std::string _solution_type,
+                             std::string _solution_name,
+                             std::string _solution_file) :
+                             solution_type(_solution_type),
+                             solution_file(_solution_file),
+                             solution_name(_solution_name)
 {
 
     //std::cout << "\n" << solution_type << "\n" << solution_name << "\n" << solution_file << "\n";
diff --git a/mirrors/src/wSolver.cpp b/mirrors/src/wSolver.cpp
index bf4a306a..b8630866 100644
--- a/mirrors/src/wSolver.cpp
+++ b/mirrors/src/wSolver.cpp
@@ -180,10 +180,10 @@ Solver::start()
 
                       e->buildK_mechanic(K_e,H);
 
-		      for ( auto ii = 0; ii < e->nodes.size() ; ++ii)
+		      for ( size_t ii = 0; ii < e->nodes.size() ; ++ii)
                          {
                             Node *nodi = e->nodes[ii];
-                            for ( auto jj = 0; jj < e->nodes.size() ; ++jj)
+                            for ( size_t jj = 0; jj < e->nodes.size() ; ++jj)
                                {
                                   Node *nodj = e->nodes[jj];
                                   //=====================================//
@@ -319,11 +319,11 @@ Solver::start()
 
                       e->buildM(N_e);
 
-		      for ( auto ii = 0; ii < e->nodes.size() ; ++ii)
+		      for ( size_t ii = 0; ii < e->nodes.size() ; ++ii)
                          {
                             //double tmp_value = 0;
                             Node *nodi = e->nodes[ii];
-                            for ( auto jj = 0; jj < e->nodes.size() ; ++jj)
+                            for ( size_t jj = 0; jj < e->nodes.size() ; ++jj)
                                if ( N_e(ii,jj)!= 0)
                                   {
                                      rhs[T_first_index+(nodi->row)] += (b->values)*N_e(ii,jj);
@@ -367,10 +367,10 @@ Solver::start()
 
                       e->buildS(N_e);
 
-		      for ( auto ii = 0; ii < e->nodes.size() ; ++ii)
+		      for ( size_t ii = 0; ii < e->nodes.size() ; ++ii)
                          {
                             Node *nodi = e->nodes[ii];
-                            for ( auto jj = 0; jj < e->nodes.size() ; ++jj)
+                            for ( size_t jj = 0; jj < e->nodes.size() ; ++jj)
                                if ( N_e(ii,jj)!= 0)
                                   for ( auto iii = 0; iii < 3 ; ++iii)
 		                     if(b->which_dof.x[iii] == 1)
@@ -400,10 +400,10 @@ Solver::start()
 
                       e->buildS(N_e);
 
-		      for ( auto ii = 0; ii < e->nodes.size() ; ++ii)
+		      for ( size_t ii = 0; ii < e->nodes.size() ; ++ii)
                          {
                             Node *nodi = e->nodes[ii];
-                            for ( auto jj = 0; jj < e->nodes.size() ; ++jj)
+                            for ( size_t jj = 0; jj < e->nodes.size() ; ++jj)
                                if ( N_e(ii,jj)!= 0)
                                   {
                                      rhs[T_first_index+(nodi->row)] += (b->values)*N_e(ii,jj);
@@ -438,7 +438,7 @@ Solver::start()
                       else
                          continue; //if the element is not a triangle or a quadrangle, it is not treated
 
-	              for ( auto ii = 0; ii < e->nodes.size() ; ++ii)
+	              for ( size_t ii = 0; ii < e->nodes.size() ; ++ii)
                          for ( auto iii = 0; iii < 3 ; ++iii)
 		            if(b->which_dof.x[iii] == 1)
                                {
@@ -465,7 +465,7 @@ Solver::start()
                       else
                          continue; //if the element is not a triangle or a quadrangle, it is not treated
 
-	              for ( auto ii = 0; ii < e->nodes.size() ; ++ii)
+	              for ( size_t ii = 0; ii < e->nodes.size() ; ++ii)
                          {
                             Node *nodi = e->nodes[ii];
                             Tmp_1.row(T_first_index+(nodi->row)) = gmm::wsvector<double>(pbl_size); // clears related row
@@ -591,7 +591,7 @@ Solver::start()
           results.tensors_at_elems["Strain[tensor]"] = &Strain_vector;
           results.tensors_at_elems["Stress[tensor]"] = &Stress_vector;
 
-          for(auto i=0; i<msh->nodes.size(); ++i)
+          for(size_t i=0; i<msh->nodes.size(); ++i)
              {
                 displacement_x[i] = u[i*3];
                 if(x_max < fabs(displacement_x[i]))
@@ -654,7 +654,7 @@ Solver::start()
 
                       e->buildS(N_e);
 
-	              for ( auto ii = 0; ii < e->nodes.size() ; ++ii)
+	              for ( size_t ii = 0; ii < e->nodes.size() ; ++ii)
                          {
                             Node *nodi = e->nodes[ii];
                             n_displacement[nodi->row] = displacement[nodi->row] * normal;
@@ -680,12 +680,12 @@ Solver::start()
                             else
                                theta[nodi->row] = atan(y_mirror[nodi->row] /x_mirror[nodi->row]) + 2*M_PI;
 
-                            for ( auto jj = 0; jj < e->nodes.size() ; ++jj)
+                            for ( size_t jj = 0; jj < e->nodes.size() ; ++jj)
                                surface[nodi->row] += N_e(ii,jj);
                          }
                    }
 
-                for ( auto ii = 0; ii < msh->nodes.size() ; ++ii)
+                for ( size_t ii = 0; ii < msh->nodes.size() ; ++ii)
                    {
                       rho[ii] /= max_distance;
 
@@ -707,7 +707,7 @@ Solver::start()
                 std::vector<double> rhs_Z(10);    // RHS
                 std::vector<double> c_Z(10);
 
-                for ( auto ii = 0; ii < msh->nodes.size() ; ++ii)
+                for ( size_t ii = 0; ii < msh->nodes.size() ; ++ii)
                    {
                       W(ii, ii) = surface[ii];
 
@@ -731,7 +731,7 @@ Solver::start()
 
                 std::cout << c_Z;
 
-                for ( auto ii = 0; ii < msh->nodes.size() ; ++ii)
+                for ( size_t ii = 0; ii < msh->nodes.size() ; ++ii)
                    for ( auto jj = 0; jj < 10 ; ++jj)
                       r_displacement[ii] -= c_Z[jj]*Z(ii, jj);
              }
@@ -808,7 +808,7 @@ Solver::start()
        {
           results.scalars_at_nodes["T"] = &T;
 
-          for(auto i=0; i<msh->nodes.size(); ++i)
+          for(size_t i=0; i<msh->nodes.size(); ++i)
              {
                 T[i] = u[T_first_index+i]+T_ref;
                 if(T_max < T[i])
diff --git a/output.txt b/output.txt
deleted file mode 100644
index 8cb24945..00000000
--- a/output.txt
+++ /dev/null
@@ -1,594 +0,0 @@
-==50918== Memcheck, a memory error detector
-==50918== Copyright (C) 2002-2017, and GNU GPL'd, by Julian Seward et al.
-==50918== Using Valgrind-3.13.0 and LibVEX; rerun with -h for copyright info
-==50918== Command: python mpirun.py mrstlnos/tests/cylinder.py
-==50918== 
-==50918== Syscall param msg->desc.port.name points to uninitialised byte(s)
-==50918==    at 0x100D1734A: mach_msg_trap (in /usr/lib/system/libsystem_kernel.dylib)
-==50918==    by 0x100D16796: mach_msg (in /usr/lib/system/libsystem_kernel.dylib)
-==50918==    by 0x100D10485: task_set_special_port (in /usr/lib/system/libsystem_kernel.dylib)
-==50918==    by 0x100EAC10E: _os_trace_create_debug_control_port (in /usr/lib/system/libsystem_trace.dylib)
-==50918==    by 0x100EAC458: _libtrace_init (in /usr/lib/system/libsystem_trace.dylib)
-==50918==    by 0x1002DD9DF: libSystem_initializer (in /usr/lib/libSystem.B.dylib)
-==50918==    by 0x100018A1A: ImageLoaderMachO::doModInitFunctions(ImageLoader::LinkContext const&) (in /usr/lib/dyld)
-==50918==    by 0x100018C1D: ImageLoaderMachO::doInitialization(ImageLoader::LinkContext const&) (in /usr/lib/dyld)
-==50918==    by 0x1000144A9: ImageLoader::recursiveInitialization(ImageLoader::LinkContext const&, unsigned int, char const*, ImageLoader::InitializerTimingList&, ImageLoader::UninitedUpwards&) (in /usr/lib/dyld)
-==50918==    by 0x100014440: ImageLoader::recursiveInitialization(ImageLoader::LinkContext const&, unsigned int, char const*, ImageLoader::InitializerTimingList&, ImageLoader::UninitedUpwards&) (in /usr/lib/dyld)
-==50918==    by 0x100013523: ImageLoader::processInitializers(ImageLoader::LinkContext const&, unsigned int, ImageLoader::InitializerTimingList&, ImageLoader::UninitedUpwards&) (in /usr/lib/dyld)
-==50918==    by 0x1000135B8: ImageLoader::runInitializers(ImageLoader::LinkContext const&, ImageLoader::InitializerTimingList&) (in /usr/lib/dyld)
-==50918==  Address 0x7fff5fbfd92c is on thread 1's stack
-==50918==  in frame #2, created by task_set_special_port (???:)
-==50918== 
-==50918== Invalid read of size 4
-==50918==    at 0x1000F92F8: PyObject_Free (in /opt/intel/intelpython2/lib/libpython2.7.dylib)
-==50918==    by 0x10010AE46: tupledealloc (in /opt/intel/intelpython2/lib/libpython2.7.dylib)
-==50918==    by 0x1000C55E3: code_dealloc (in /opt/intel/intelpython2/lib/libpython2.7.dylib)
-==50918==    by 0x100175265: load_source_module (in /opt/intel/intelpython2/lib/libpython2.7.dylib)
-==50918==    by 0x100174CCE: import_submodule (in /opt/intel/intelpython2/lib/libpython2.7.dylib)
-==50918==    by 0x100174757: load_next (in /opt/intel/intelpython2/lib/libpython2.7.dylib)
-==50918==    by 0x100173791: PyImport_ImportModuleLevel (in /opt/intel/intelpython2/lib/libpython2.7.dylib)
-==50918==    by 0x10014C6E6: builtin___import__ (in /opt/intel/intelpython2/lib/libpython2.7.dylib)
-==50918==    by 0x1000B34A2: PyObject_Call (in /opt/intel/intelpython2/lib/libpython2.7.dylib)
-==50918==    by 0x100157570: PyEval_EvalFrameEx (in /opt/intel/intelpython2/lib/libpython2.7.dylib)
-==50918==    by 0x100151853: PyEval_EvalCodeEx (in /opt/intel/intelpython2/lib/libpython2.7.dylib)
-==50918==    by 0x100151015: PyEval_EvalCode (in /opt/intel/intelpython2/lib/libpython2.7.dylib)
-==50918==  Address 0x10188b020 is 1,264 bytes inside a block of size 3,191 free'd
-==50918==    at 0x1000989F3: free (in /usr/local/Cellar/valgrind/3.13.0/lib/valgrind/vgpreload_memcheck-amd64-darwin.so)
-==50918==    by 0x100178EB7: PyMarshal_ReadLastObjectFromFile (in /opt/intel/intelpython2/lib/libpython2.7.dylib)
-==50918==    by 0x100174F9E: load_source_module (in /opt/intel/intelpython2/lib/libpython2.7.dylib)
-==50918==    by 0x100174CCE: import_submodule (in /opt/intel/intelpython2/lib/libpython2.7.dylib)
-==50918==    by 0x100174757: load_next (in /opt/intel/intelpython2/lib/libpython2.7.dylib)
-==50918==    by 0x100173791: PyImport_ImportModuleLevel (in /opt/intel/intelpython2/lib/libpython2.7.dylib)
-==50918==    by 0x10014C6E6: builtin___import__ (in /opt/intel/intelpython2/lib/libpython2.7.dylib)
-==50918==    by 0x1000B34A2: PyObject_Call (in /opt/intel/intelpython2/lib/libpython2.7.dylib)
-==50918==    by 0x100157570: PyEval_EvalFrameEx (in /opt/intel/intelpython2/lib/libpython2.7.dylib)
-==50918==    by 0x100151853: PyEval_EvalCodeEx (in /opt/intel/intelpython2/lib/libpython2.7.dylib)
-==50918==    by 0x100151015: PyEval_EvalCode (in /opt/intel/intelpython2/lib/libpython2.7.dylib)
-==50918==    by 0x100172180: PyImport_ExecCodeModuleEx (in /opt/intel/intelpython2/lib/libpython2.7.dylib)
-==50918==  Block was alloc'd at
-==50918==    at 0x100098616: malloc (in /usr/local/Cellar/valgrind/3.13.0/lib/valgrind/vgpreload_memcheck-amd64-darwin.so)
-==50918==    by 0x100178E3A: PyMarshal_ReadLastObjectFromFile (in /opt/intel/intelpython2/lib/libpython2.7.dylib)
-==50918==    by 0x100174F9E: load_source_module (in /opt/intel/intelpython2/lib/libpython2.7.dylib)
-==50918==    by 0x100174CCE: import_submodule (in /opt/intel/intelpython2/lib/libpython2.7.dylib)
-==50918==    by 0x100174757: load_next (in /opt/intel/intelpython2/lib/libpython2.7.dylib)
-==50918==    by 0x100173791: PyImport_ImportModuleLevel (in /opt/intel/intelpython2/lib/libpython2.7.dylib)
-==50918==    by 0x10014C6E6: builtin___import__ (in /opt/intel/intelpython2/lib/libpython2.7.dylib)
-==50918==    by 0x1000B34A2: PyObject_Call (in /opt/intel/intelpython2/lib/libpython2.7.dylib)
-==50918==    by 0x100157570: PyEval_EvalFrameEx (in /opt/intel/intelpython2/lib/libpython2.7.dylib)
-==50918==    by 0x100151853: PyEval_EvalCodeEx (in /opt/intel/intelpython2/lib/libpython2.7.dylib)
-==50918==    by 0x100151015: PyEval_EvalCode (in /opt/intel/intelpython2/lib/libpython2.7.dylib)
-==50918==    by 0x100172180: PyImport_ExecCodeModuleEx (in /opt/intel/intelpython2/lib/libpython2.7.dylib)
-==50918== 
-==50918== Invalid read of size 4
-==50918==    at 0x1000F92F8: PyObject_Free (in /opt/intel/intelpython2/lib/libpython2.7.dylib)
-==50918==    by 0x1000C55B1: code_dealloc (in /opt/intel/intelpython2/lib/libpython2.7.dylib)
-==50918==    by 0x100175265: load_source_module (in /opt/intel/intelpython2/lib/libpython2.7.dylib)
-==50918==    by 0x100174CCE: import_submodule (in /opt/intel/intelpython2/lib/libpython2.7.dylib)
-==50918==    by 0x100174757: load_next (in /opt/intel/intelpython2/lib/libpython2.7.dylib)
-==50918==    by 0x100173791: PyImport_ImportModuleLevel (in /opt/intel/intelpython2/lib/libpython2.7.dylib)
-==50918==    by 0x10014C6E6: builtin___import__ (in /opt/intel/intelpython2/lib/libpython2.7.dylib)
-==50918==    by 0x1000B34A2: PyObject_Call (in /opt/intel/intelpython2/lib/libpython2.7.dylib)
-==50918==    by 0x100157570: PyEval_EvalFrameEx (in /opt/intel/intelpython2/lib/libpython2.7.dylib)
-==50918==    by 0x100151853: PyEval_EvalCodeEx (in /opt/intel/intelpython2/lib/libpython2.7.dylib)
-==50918==    by 0x100151015: PyEval_EvalCode (in /opt/intel/intelpython2/lib/libpython2.7.dylib)
-==50918==    by 0x100172180: PyImport_ExecCodeModuleEx (in /opt/intel/intelpython2/lib/libpython2.7.dylib)
-==50918==  Address 0x1018d6020 is 2,480 bytes inside a block of size 3,033 free'd
-==50918==    at 0x1000989F3: free (in /usr/local/Cellar/valgrind/3.13.0/lib/valgrind/vgpreload_memcheck-amd64-darwin.so)
-==50918==    by 0x100178EB7: PyMarshal_ReadLastObjectFromFile (in /opt/intel/intelpython2/lib/libpython2.7.dylib)
-==50918==    by 0x100174F9E: load_source_module (in /opt/intel/intelpython2/lib/libpython2.7.dylib)
-==50918==    by 0x100174CCE: import_submodule (in /opt/intel/intelpython2/lib/libpython2.7.dylib)
-==50918==    by 0x100174757: load_next (in /opt/intel/intelpython2/lib/libpython2.7.dylib)
-==50918==    by 0x100173791: PyImport_ImportModuleLevel (in /opt/intel/intelpython2/lib/libpython2.7.dylib)
-==50918==    by 0x10014C6E6: builtin___import__ (in /opt/intel/intelpython2/lib/libpython2.7.dylib)
-==50918==    by 0x1000B34A2: PyObject_Call (in /opt/intel/intelpython2/lib/libpython2.7.dylib)
-==50918==    by 0x100157570: PyEval_EvalFrameEx (in /opt/intel/intelpython2/lib/libpython2.7.dylib)
-==50918==    by 0x100151853: PyEval_EvalCodeEx (in /opt/intel/intelpython2/lib/libpython2.7.dylib)
-==50918==    by 0x100151015: PyEval_EvalCode (in /opt/intel/intelpython2/lib/libpython2.7.dylib)
-==50918==    by 0x100172180: PyImport_ExecCodeModuleEx (in /opt/intel/intelpython2/lib/libpython2.7.dylib)
-==50918==  Block was alloc'd at
-==50918==    at 0x100098616: malloc (in /usr/local/Cellar/valgrind/3.13.0/lib/valgrind/vgpreload_memcheck-amd64-darwin.so)
-==50918==    by 0x100178E3A: PyMarshal_ReadLastObjectFromFile (in /opt/intel/intelpython2/lib/libpython2.7.dylib)
-==50918==    by 0x100174F9E: load_source_module (in /opt/intel/intelpython2/lib/libpython2.7.dylib)
-==50918==    by 0x100174CCE: import_submodule (in /opt/intel/intelpython2/lib/libpython2.7.dylib)
-==50918==    by 0x100174757: load_next (in /opt/intel/intelpython2/lib/libpython2.7.dylib)
-==50918==    by 0x100173791: PyImport_ImportModuleLevel (in /opt/intel/intelpython2/lib/libpython2.7.dylib)
-==50918==    by 0x10014C6E6: builtin___import__ (in /opt/intel/intelpython2/lib/libpython2.7.dylib)
-==50918==    by 0x1000B34A2: PyObject_Call (in /opt/intel/intelpython2/lib/libpython2.7.dylib)
-==50918==    by 0x100157570: PyEval_EvalFrameEx (in /opt/intel/intelpython2/lib/libpython2.7.dylib)
-==50918==    by 0x100151853: PyEval_EvalCodeEx (in /opt/intel/intelpython2/lib/libpython2.7.dylib)
-==50918==    by 0x100151015: PyEval_EvalCode (in /opt/intel/intelpython2/lib/libpython2.7.dylib)
-==50918==    by 0x100172180: PyImport_ExecCodeModuleEx (in /opt/intel/intelpython2/lib/libpython2.7.dylib)
-==50918== 
-==50918== Invalid read of size 4
-==50918==    at 0x1000F92F8: PyObject_Free (in /opt/intel/intelpython2/lib/libpython2.7.dylib)
-==50918==    by 0x1000C55B1: code_dealloc (in /opt/intel/intelpython2/lib/libpython2.7.dylib)
-==50918==    by 0x10010ADFB: tupledealloc (in /opt/intel/intelpython2/lib/libpython2.7.dylib)
-==50918==    by 0x1000C55CA: code_dealloc (in /opt/intel/intelpython2/lib/libpython2.7.dylib)
-==50918==    by 0x100175265: load_source_module (in /opt/intel/intelpython2/lib/libpython2.7.dylib)
-==50918==    by 0x100174CCE: import_submodule (in /opt/intel/intelpython2/lib/libpython2.7.dylib)
-==50918==    by 0x100174757: load_next (in /opt/intel/intelpython2/lib/libpython2.7.dylib)
-==50918==    by 0x100173791: PyImport_ImportModuleLevel (in /opt/intel/intelpython2/lib/libpython2.7.dylib)
-==50918==    by 0x10014C6E6: builtin___import__ (in /opt/intel/intelpython2/lib/libpython2.7.dylib)
-==50918==    by 0x1000B34A2: PyObject_Call (in /opt/intel/intelpython2/lib/libpython2.7.dylib)
-==50918==    by 0x100157570: PyEval_EvalFrameEx (in /opt/intel/intelpython2/lib/libpython2.7.dylib)
-==50918==    by 0x100151853: PyEval_EvalCodeEx (in /opt/intel/intelpython2/lib/libpython2.7.dylib)
-==50918==  Address 0x10189b020 is 288 bytes inside a block of size 1,008 free'd
-==50918==    at 0x100098FC4: realloc (in /usr/local/Cellar/valgrind/3.13.0/lib/valgrind/vgpreload_memcheck-amd64-darwin.so)
-==50918==    by 0x1000DEE32: PyList_Append (in /opt/intel/intelpython2/lib/libpython2.7.dylib)
-==50918==    by 0x100179E17: r_object (in /opt/intel/intelpython2/lib/libpython2.7.dylib)
-==50918==    by 0x1001794EC: r_object (in /opt/intel/intelpython2/lib/libpython2.7.dylib)
-==50918==    by 0x1001796AB: r_object (in /opt/intel/intelpython2/lib/libpython2.7.dylib)
-==50918==    by 0x1001794EC: r_object (in /opt/intel/intelpython2/lib/libpython2.7.dylib)
-==50918==    by 0x100179661: r_object (in /opt/intel/intelpython2/lib/libpython2.7.dylib)
-==50918==    by 0x1001794EC: r_object (in /opt/intel/intelpython2/lib/libpython2.7.dylib)
-==50918==    by 0x100179661: r_object (in /opt/intel/intelpython2/lib/libpython2.7.dylib)
-==50918==    by 0x100178E92: PyMarshal_ReadLastObjectFromFile (in /opt/intel/intelpython2/lib/libpython2.7.dylib)
-==50918==    by 0x100174F9E: load_source_module (in /opt/intel/intelpython2/lib/libpython2.7.dylib)
-==50918==    by 0x100174CCE: import_submodule (in /opt/intel/intelpython2/lib/libpython2.7.dylib)
-==50918==  Block was alloc'd at
-==50918==    at 0x100098FC4: realloc (in /usr/local/Cellar/valgrind/3.13.0/lib/valgrind/vgpreload_memcheck-amd64-darwin.so)
-==50918==    by 0x1000DEE32: PyList_Append (in /opt/intel/intelpython2/lib/libpython2.7.dylib)
-==50918==    by 0x100179E17: r_object (in /opt/intel/intelpython2/lib/libpython2.7.dylib)
-==50918==    by 0x1001794EC: r_object (in /opt/intel/intelpython2/lib/libpython2.7.dylib)
-==50918==    by 0x1001796AB: r_object (in /opt/intel/intelpython2/lib/libpython2.7.dylib)
-==50918==    by 0x1001794EC: r_object (in /opt/intel/intelpython2/lib/libpython2.7.dylib)
-==50918==    by 0x100179661: r_object (in /opt/intel/intelpython2/lib/libpython2.7.dylib)
-==50918==    by 0x100178E92: PyMarshal_ReadLastObjectFromFile (in /opt/intel/intelpython2/lib/libpython2.7.dylib)
-==50918==    by 0x100174F9E: load_source_module (in /opt/intel/intelpython2/lib/libpython2.7.dylib)
-==50918==    by 0x100174CCE: import_submodule (in /opt/intel/intelpython2/lib/libpython2.7.dylib)
-==50918==    by 0x100174757: load_next (in /opt/intel/intelpython2/lib/libpython2.7.dylib)
-==50918==    by 0x100173791: PyImport_ImportModuleLevel (in /opt/intel/intelpython2/lib/libpython2.7.dylib)
-==50918== 
-==50918== Invalid read of size 4
-==50918==    at 0x1000F92F8: PyObject_Free (in /opt/intel/intelpython2/lib/libpython2.7.dylib)
-==50918==    by 0x10010AE46: tupledealloc (in /opt/intel/intelpython2/lib/libpython2.7.dylib)
-==50918==    by 0x1000C55CA: code_dealloc (in /opt/intel/intelpython2/lib/libpython2.7.dylib)
-==50918==    by 0x100175265: load_source_module (in /opt/intel/intelpython2/lib/libpython2.7.dylib)
-==50918==    by 0x100174CCE: import_submodule (in /opt/intel/intelpython2/lib/libpython2.7.dylib)
-==50918==    by 0x100174757: load_next (in /opt/intel/intelpython2/lib/libpython2.7.dylib)
-==50918==    by 0x100173791: PyImport_ImportModuleLevel (in /opt/intel/intelpython2/lib/libpython2.7.dylib)
-==50918==    by 0x10014C6E6: builtin___import__ (in /opt/intel/intelpython2/lib/libpython2.7.dylib)
-==50918==    by 0x1000B34A2: PyObject_Call (in /opt/intel/intelpython2/lib/libpython2.7.dylib)
-==50918==    by 0x100157570: PyEval_EvalFrameEx (in /opt/intel/intelpython2/lib/libpython2.7.dylib)
-==50918==    by 0x100151853: PyEval_EvalCodeEx (in /opt/intel/intelpython2/lib/libpython2.7.dylib)
-==50918==    by 0x100151015: PyEval_EvalCode (in /opt/intel/intelpython2/lib/libpython2.7.dylib)
-==50918==  Address 0x101883020 is 9,264 bytes inside a block of size 12,443 free'd
-==50918==    at 0x1000989F3: free (in /usr/local/Cellar/valgrind/3.13.0/lib/valgrind/vgpreload_memcheck-amd64-darwin.so)
-==50918==    by 0x100178EB7: PyMarshal_ReadLastObjectFromFile (in /opt/intel/intelpython2/lib/libpython2.7.dylib)
-==50918==    by 0x100174F9E: load_source_module (in /opt/intel/intelpython2/lib/libpython2.7.dylib)
-==50918==    by 0x100174CCE: import_submodule (in /opt/intel/intelpython2/lib/libpython2.7.dylib)
-==50918==    by 0x100174757: load_next (in /opt/intel/intelpython2/lib/libpython2.7.dylib)
-==50918==    by 0x100173791: PyImport_ImportModuleLevel (in /opt/intel/intelpython2/lib/libpython2.7.dylib)
-==50918==    by 0x10014C6E6: builtin___import__ (in /opt/intel/intelpython2/lib/libpython2.7.dylib)
-==50918==    by 0x1000B34A2: PyObject_Call (in /opt/intel/intelpython2/lib/libpython2.7.dylib)
-==50918==    by 0x100157570: PyEval_EvalFrameEx (in /opt/intel/intelpython2/lib/libpython2.7.dylib)
-==50918==    by 0x100151853: PyEval_EvalCodeEx (in /opt/intel/intelpython2/lib/libpython2.7.dylib)
-==50918==    by 0x100151015: PyEval_EvalCode (in /opt/intel/intelpython2/lib/libpython2.7.dylib)
-==50918==    by 0x100172180: PyImport_ExecCodeModuleEx (in /opt/intel/intelpython2/lib/libpython2.7.dylib)
-==50918==  Block was alloc'd at
-==50918==    at 0x100098616: malloc (in /usr/local/Cellar/valgrind/3.13.0/lib/valgrind/vgpreload_memcheck-amd64-darwin.so)
-==50918==    by 0x100178E3A: PyMarshal_ReadLastObjectFromFile (in /opt/intel/intelpython2/lib/libpython2.7.dylib)
-==50918==    by 0x100174F9E: load_source_module (in /opt/intel/intelpython2/lib/libpython2.7.dylib)
-==50918==    by 0x100174CCE: import_submodule (in /opt/intel/intelpython2/lib/libpython2.7.dylib)
-==50918==    by 0x100174757: load_next (in /opt/intel/intelpython2/lib/libpython2.7.dylib)
-==50918==    by 0x100173791: PyImport_ImportModuleLevel (in /opt/intel/intelpython2/lib/libpython2.7.dylib)
-==50918==    by 0x10014C6E6: builtin___import__ (in /opt/intel/intelpython2/lib/libpython2.7.dylib)
-==50918==    by 0x1000B34A2: PyObject_Call (in /opt/intel/intelpython2/lib/libpython2.7.dylib)
-==50918==    by 0x100157570: PyEval_EvalFrameEx (in /opt/intel/intelpython2/lib/libpython2.7.dylib)
-==50918==    by 0x100151853: PyEval_EvalCodeEx (in /opt/intel/intelpython2/lib/libpython2.7.dylib)
-==50918==    by 0x100151015: PyEval_EvalCode (in /opt/intel/intelpython2/lib/libpython2.7.dylib)
-==50918==    by 0x100172180: PyImport_ExecCodeModuleEx (in /opt/intel/intelpython2/lib/libpython2.7.dylib)
-==50918== 
-==50918== Invalid read of size 4
-==50918==    at 0x1000F92F8: PyObject_Free (in /opt/intel/intelpython2/lib/libpython2.7.dylib)
-==50918==    by 0x1000C5687: code_dealloc (in /opt/intel/intelpython2/lib/libpython2.7.dylib)
-==50918==    by 0x100175265: load_source_module (in /opt/intel/intelpython2/lib/libpython2.7.dylib)
-==50918==    by 0x100174CCE: import_submodule (in /opt/intel/intelpython2/lib/libpython2.7.dylib)
-==50918==    by 0x100174757: load_next (in /opt/intel/intelpython2/lib/libpython2.7.dylib)
-==50918==    by 0x100173791: PyImport_ImportModuleLevel (in /opt/intel/intelpython2/lib/libpython2.7.dylib)
-==50918==    by 0x10014C6E6: builtin___import__ (in /opt/intel/intelpython2/lib/libpython2.7.dylib)
-==50918==    by 0x1000B34A2: PyObject_Call (in /opt/intel/intelpython2/lib/libpython2.7.dylib)
-==50918==    by 0x100157570: PyEval_EvalFrameEx (in /opt/intel/intelpython2/lib/libpython2.7.dylib)
-==50918==    by 0x100151853: PyEval_EvalCodeEx (in /opt/intel/intelpython2/lib/libpython2.7.dylib)
-==50918==    by 0x100151015: PyEval_EvalCode (in /opt/intel/intelpython2/lib/libpython2.7.dylib)
-==50918==    by 0x100172180: PyImport_ExecCodeModuleEx (in /opt/intel/intelpython2/lib/libpython2.7.dylib)
-==50918==  Address 0x101886020 is 384 bytes inside a block of size 1,184 free'd
-==50918==    at 0x100098FC4: realloc (in /usr/local/Cellar/valgrind/3.13.0/lib/valgrind/vgpreload_memcheck-amd64-darwin.so)
-==50918==    by 0x1000DEE32: PyList_Append (in /opt/intel/intelpython2/lib/libpython2.7.dylib)
-==50918==    by 0x100179E17: r_object (in /opt/intel/intelpython2/lib/libpython2.7.dylib)
-==50918==    by 0x1001794EC: r_object (in /opt/intel/intelpython2/lib/libpython2.7.dylib)
-==50918==    by 0x1001796F8: r_object (in /opt/intel/intelpython2/lib/libpython2.7.dylib)
-==50918==    by 0x1001794EC: r_object (in /opt/intel/intelpython2/lib/libpython2.7.dylib)
-==50918==    by 0x100179661: r_object (in /opt/intel/intelpython2/lib/libpython2.7.dylib)
-==50918==    by 0x100178E92: PyMarshal_ReadLastObjectFromFile (in /opt/intel/intelpython2/lib/libpython2.7.dylib)
-==50918==    by 0x100174F9E: load_source_module (in /opt/intel/intelpython2/lib/libpython2.7.dylib)
-==50918==    by 0x100174CCE: import_submodule (in /opt/intel/intelpython2/lib/libpython2.7.dylib)
-==50918==    by 0x100174757: load_next (in /opt/intel/intelpython2/lib/libpython2.7.dylib)
-==50918==    by 0x100173791: PyImport_ImportModuleLevel (in /opt/intel/intelpython2/lib/libpython2.7.dylib)
-==50918==  Block was alloc'd at
-==50918==    at 0x100098FC4: realloc (in /usr/local/Cellar/valgrind/3.13.0/lib/valgrind/vgpreload_memcheck-amd64-darwin.so)
-==50918==    by 0x1000DEE32: PyList_Append (in /opt/intel/intelpython2/lib/libpython2.7.dylib)
-==50918==    by 0x100179E17: r_object (in /opt/intel/intelpython2/lib/libpython2.7.dylib)
-==50918==    by 0x1001794EC: r_object (in /opt/intel/intelpython2/lib/libpython2.7.dylib)
-==50918==    by 0x1001796AB: r_object (in /opt/intel/intelpython2/lib/libpython2.7.dylib)
-==50918==    by 0x1001794EC: r_object (in /opt/intel/intelpython2/lib/libpython2.7.dylib)
-==50918==    by 0x100179661: r_object (in /opt/intel/intelpython2/lib/libpython2.7.dylib)
-==50918==    by 0x100178E92: PyMarshal_ReadLastObjectFromFile (in /opt/intel/intelpython2/lib/libpython2.7.dylib)
-==50918==    by 0x100174F9E: load_source_module (in /opt/intel/intelpython2/lib/libpython2.7.dylib)
-==50918==    by 0x100174CCE: import_submodule (in /opt/intel/intelpython2/lib/libpython2.7.dylib)
-==50918==    by 0x100174757: load_next (in /opt/intel/intelpython2/lib/libpython2.7.dylib)
-==50918==    by 0x100173791: PyImport_ImportModuleLevel (in /opt/intel/intelpython2/lib/libpython2.7.dylib)
-==50918== 
-==50918== Invalid read of size 8
-==50918==    at 0x1000F94FA: PyObject_Realloc (in /opt/intel/intelpython2/lib/libpython2.7.dylib)
-==50918==    by 0x100197174: _PyObject_GC_Resize (in /opt/intel/intelpython2/lib/libpython2.7.dylib)
-==50918==    by 0x1000D90A3: PyFrame_New (in /opt/intel/intelpython2/lib/libpython2.7.dylib)
-==50918==    by 0x10015DAE3: fast_function (in /opt/intel/intelpython2/lib/libpython2.7.dylib)
-==50918==    by 0x100158D83: PyEval_EvalFrameEx (in /opt/intel/intelpython2/lib/libpython2.7.dylib)
-==50918==    by 0x10015DB71: fast_function (in /opt/intel/intelpython2/lib/libpython2.7.dylib)
-==50918==    by 0x100158D83: PyEval_EvalFrameEx (in /opt/intel/intelpython2/lib/libpython2.7.dylib)
-==50918==    by 0x10015DB71: fast_function (in /opt/intel/intelpython2/lib/libpython2.7.dylib)
-==50918==    by 0x100158D83: PyEval_EvalFrameEx (in /opt/intel/intelpython2/lib/libpython2.7.dylib)
-==50918==    by 0x10015DB71: fast_function (in /opt/intel/intelpython2/lib/libpython2.7.dylib)
-==50918==    by 0x100158D83: PyEval_EvalFrameEx (in /opt/intel/intelpython2/lib/libpython2.7.dylib)
-==50918==    by 0x100151853: PyEval_EvalCodeEx (in /opt/intel/intelpython2/lib/libpython2.7.dylib)
-==50918==  Address 0x101999020 is 0 bytes after a block of size 32 alloc'd
-==50918==    at 0x100098616: malloc (in /usr/local/Cellar/valgrind/3.13.0/lib/valgrind/vgpreload_memcheck-amd64-darwin.so)
-==50918==    by 0x1000E36DF: listappend (in /opt/intel/intelpython2/lib/libpython2.7.dylib)
-==50918==    by 0x100158EB1: PyEval_EvalFrameEx (in /opt/intel/intelpython2/lib/libpython2.7.dylib)
-==50918==    by 0x10015DB71: fast_function (in /opt/intel/intelpython2/lib/libpython2.7.dylib)
-==50918==    by 0x100158D83: PyEval_EvalFrameEx (in /opt/intel/intelpython2/lib/libpython2.7.dylib)
-==50918==    by 0x10015DB71: fast_function (in /opt/intel/intelpython2/lib/libpython2.7.dylib)
-==50918==    by 0x100158D83: PyEval_EvalFrameEx (in /opt/intel/intelpython2/lib/libpython2.7.dylib)
-==50918==    by 0x100151853: PyEval_EvalCodeEx (in /opt/intel/intelpython2/lib/libpython2.7.dylib)
-==50918==    by 0x10015DA95: fast_function (in /opt/intel/intelpython2/lib/libpython2.7.dylib)
-==50918==    by 0x100158D83: PyEval_EvalFrameEx (in /opt/intel/intelpython2/lib/libpython2.7.dylib)
-==50918==    by 0x10015DB71: fast_function (in /opt/intel/intelpython2/lib/libpython2.7.dylib)
-==50918==    by 0x100158D83: PyEval_EvalFrameEx (in /opt/intel/intelpython2/lib/libpython2.7.dylib)
-==50918== 
-==50918== Conditional jump or move depends on uninitialised value(s)
-==50918==    at 0x1000F9505: PyObject_Realloc (in /opt/intel/intelpython2/lib/libpython2.7.dylib)
-==50918==    by 0x100197174: _PyObject_GC_Resize (in /opt/intel/intelpython2/lib/libpython2.7.dylib)
-==50918==    by 0x1000D90A3: PyFrame_New (in /opt/intel/intelpython2/lib/libpython2.7.dylib)
-==50918==    by 0x10015DAE3: fast_function (in /opt/intel/intelpython2/lib/libpython2.7.dylib)
-==50918==    by 0x100158D83: PyEval_EvalFrameEx (in /opt/intel/intelpython2/lib/libpython2.7.dylib)
-==50918==    by 0x100151853: PyEval_EvalCodeEx (in /opt/intel/intelpython2/lib/libpython2.7.dylib)
-==50918==    by 0x10015DA95: fast_function (in /opt/intel/intelpython2/lib/libpython2.7.dylib)
-==50918==    by 0x100158D83: PyEval_EvalFrameEx (in /opt/intel/intelpython2/lib/libpython2.7.dylib)
-==50918==    by 0x10015DB71: fast_function (in /opt/intel/intelpython2/lib/libpython2.7.dylib)
-==50918==    by 0x100158D83: PyEval_EvalFrameEx (in /opt/intel/intelpython2/lib/libpython2.7.dylib)
-==50918==    by 0x100151853: PyEval_EvalCodeEx (in /opt/intel/intelpython2/lib/libpython2.7.dylib)
-==50918==    by 0x10015DA95: fast_function (in /opt/intel/intelpython2/lib/libpython2.7.dylib)
-==50918== 
-==50918== Use of uninitialised value of size 8
-==50918==    at 0x1000F951D: PyObject_Realloc (in /opt/intel/intelpython2/lib/libpython2.7.dylib)
-==50918==    by 0x100197174: _PyObject_GC_Resize (in /opt/intel/intelpython2/lib/libpython2.7.dylib)
-==50918==    by 0x1000D90A3: PyFrame_New (in /opt/intel/intelpython2/lib/libpython2.7.dylib)
-==50918==    by 0x10015DAE3: fast_function (in /opt/intel/intelpython2/lib/libpython2.7.dylib)
-==50918==    by 0x100158D83: PyEval_EvalFrameEx (in /opt/intel/intelpython2/lib/libpython2.7.dylib)
-==50918==    by 0x100151853: PyEval_EvalCodeEx (in /opt/intel/intelpython2/lib/libpython2.7.dylib)
-==50918==    by 0x10015DA95: fast_function (in /opt/intel/intelpython2/lib/libpython2.7.dylib)
-==50918==    by 0x100158D83: PyEval_EvalFrameEx (in /opt/intel/intelpython2/lib/libpython2.7.dylib)
-==50918==    by 0x10015DB71: fast_function (in /opt/intel/intelpython2/lib/libpython2.7.dylib)
-==50918==    by 0x100158D83: PyEval_EvalFrameEx (in /opt/intel/intelpython2/lib/libpython2.7.dylib)
-==50918==    by 0x100151853: PyEval_EvalCodeEx (in /opt/intel/intelpython2/lib/libpython2.7.dylib)
-==50918==    by 0x10015DA95: fast_function (in /opt/intel/intelpython2/lib/libpython2.7.dylib)
-==50918== 
-==50918== Invalid read of size 4
-==50918==    at 0x1000F92F8: PyObject_Free (in /opt/intel/intelpython2/lib/libpython2.7.dylib)
-==50918==    by 0x1000C5679: code_dealloc (in /opt/intel/intelpython2/lib/libpython2.7.dylib)
-==50918==    by 0x100175265: load_source_module (in /opt/intel/intelpython2/lib/libpython2.7.dylib)
-==50918==    by 0x100174CCE: import_submodule (in /opt/intel/intelpython2/lib/libpython2.7.dylib)
-==50918==    by 0x100174757: load_next (in /opt/intel/intelpython2/lib/libpython2.7.dylib)
-==50918==    by 0x100173791: PyImport_ImportModuleLevel (in /opt/intel/intelpython2/lib/libpython2.7.dylib)
-==50918==    by 0x10014C6E6: builtin___import__ (in /opt/intel/intelpython2/lib/libpython2.7.dylib)
-==50918==    by 0x1000B34A2: PyObject_Call (in /opt/intel/intelpython2/lib/libpython2.7.dylib)
-==50918==    by 0x100157570: PyEval_EvalFrameEx (in /opt/intel/intelpython2/lib/libpython2.7.dylib)
-==50918==    by 0x10015DB71: fast_function (in /opt/intel/intelpython2/lib/libpython2.7.dylib)
-==50918==    by 0x100158D83: PyEval_EvalFrameEx (in /opt/intel/intelpython2/lib/libpython2.7.dylib)
-==50918==    by 0x100151853: PyEval_EvalCodeEx (in /opt/intel/intelpython2/lib/libpython2.7.dylib)
-==50918==  Address 0x1019ee020 is 960 bytes inside a block of size 4,784 free'd
-==50918==    at 0x1000989F3: free (in /usr/local/Cellar/valgrind/3.13.0/lib/valgrind/vgpreload_memcheck-amd64-darwin.so)
-==50918==    by 0x1000E0963: list_dealloc (in /opt/intel/intelpython2/lib/libpython2.7.dylib)
-==50918==    by 0x100178EAF: PyMarshal_ReadLastObjectFromFile (in /opt/intel/intelpython2/lib/libpython2.7.dylib)
-==50918==    by 0x100174F9E: load_source_module (in /opt/intel/intelpython2/lib/libpython2.7.dylib)
-==50918==    by 0x100174CCE: import_submodule (in /opt/intel/intelpython2/lib/libpython2.7.dylib)
-==50918==    by 0x100174757: load_next (in /opt/intel/intelpython2/lib/libpython2.7.dylib)
-==50918==    by 0x100173791: PyImport_ImportModuleLevel (in /opt/intel/intelpython2/lib/libpython2.7.dylib)
-==50918==    by 0x10014C6E6: builtin___import__ (in /opt/intel/intelpython2/lib/libpython2.7.dylib)
-==50918==    by 0x1000B34A2: PyObject_Call (in /opt/intel/intelpython2/lib/libpython2.7.dylib)
-==50918==    by 0x100157570: PyEval_EvalFrameEx (in /opt/intel/intelpython2/lib/libpython2.7.dylib)
-==50918==    by 0x10015DB71: fast_function (in /opt/intel/intelpython2/lib/libpython2.7.dylib)
-==50918==    by 0x100158D83: PyEval_EvalFrameEx (in /opt/intel/intelpython2/lib/libpython2.7.dylib)
-==50918==  Block was alloc'd at
-==50918==    at 0x100098FC4: realloc (in /usr/local/Cellar/valgrind/3.13.0/lib/valgrind/vgpreload_memcheck-amd64-darwin.so)
-==50918==    by 0x1000DEE32: PyList_Append (in /opt/intel/intelpython2/lib/libpython2.7.dylib)
-==50918==    by 0x100179E17: r_object (in /opt/intel/intelpython2/lib/libpython2.7.dylib)
-==50918==    by 0x1001794EC: r_object (in /opt/intel/intelpython2/lib/libpython2.7.dylib)
-==50918==    by 0x100179661: r_object (in /opt/intel/intelpython2/lib/libpython2.7.dylib)
-==50918==    by 0x100178E92: PyMarshal_ReadLastObjectFromFile (in /opt/intel/intelpython2/lib/libpython2.7.dylib)
-==50918==    by 0x100174F9E: load_source_module (in /opt/intel/intelpython2/lib/libpython2.7.dylib)
-==50918==    by 0x100174CCE: import_submodule (in /opt/intel/intelpython2/lib/libpython2.7.dylib)
-==50918==    by 0x100174757: load_next (in /opt/intel/intelpython2/lib/libpython2.7.dylib)
-==50918==    by 0x100173791: PyImport_ImportModuleLevel (in /opt/intel/intelpython2/lib/libpython2.7.dylib)
-==50918==    by 0x10014C6E6: builtin___import__ (in /opt/intel/intelpython2/lib/libpython2.7.dylib)
-==50918==    by 0x1000B34A2: PyObject_Call (in /opt/intel/intelpython2/lib/libpython2.7.dylib)
-==50918== 
-==50918== Invalid read of size 4
-==50918==    at 0x1000F92F8: PyObject_Free (in /opt/intel/intelpython2/lib/libpython2.7.dylib)
-==50918==    by 0x1001A9A4A: match_dealloc (in /opt/intel/intelpython2/lib/libpython2.7.dylib)
-==50918==    by 0x1000D8AF3: frame_dealloc (in /opt/intel/intelpython2/lib/libpython2.7.dylib)
-==50918==    by 0x10015DB87: fast_function (in /opt/intel/intelpython2/lib/libpython2.7.dylib)
-==50918==    by 0x100158D83: PyEval_EvalFrameEx (in /opt/intel/intelpython2/lib/libpython2.7.dylib)
-==50918==    by 0x10015DB71: fast_function (in /opt/intel/intelpython2/lib/libpython2.7.dylib)
-==50918==    by 0x100158D83: PyEval_EvalFrameEx (in /opt/intel/intelpython2/lib/libpython2.7.dylib)
-==50918==    by 0x10015DB71: fast_function (in /opt/intel/intelpython2/lib/libpython2.7.dylib)
-==50918==    by 0x100158D83: PyEval_EvalFrameEx (in /opt/intel/intelpython2/lib/libpython2.7.dylib)
-==50918==    by 0x100151853: PyEval_EvalCodeEx (in /opt/intel/intelpython2/lib/libpython2.7.dylib)
-==50918==    by 0x10015DA95: fast_function (in /opt/intel/intelpython2/lib/libpython2.7.dylib)
-==50918==    by 0x100158D83: PyEval_EvalFrameEx (in /opt/intel/intelpython2/lib/libpython2.7.dylib)
-==50918==  Address 0x101a0d020 is 1,648 bytes inside a block of size 4,096 free'd
-==50918==    at 0x1000989F3: free (in /usr/local/Cellar/valgrind/3.13.0/lib/valgrind/vgpreload_memcheck-amd64-darwin.so)
-==50918==    by 0x100C0AA62: fclose (in /usr/lib/system/libsystem_c.dylib)
-==50918==    by 0x1000D1B26: close_the_file (in /opt/intel/intelpython2/lib/libpython2.7.dylib)
-==50918==    by 0x1000D346E: file_close (in /opt/intel/intelpython2/lib/libpython2.7.dylib)
-==50918==    by 0x100158E7F: PyEval_EvalFrameEx (in /opt/intel/intelpython2/lib/libpython2.7.dylib)
-==50918==    by 0x10015DB71: fast_function (in /opt/intel/intelpython2/lib/libpython2.7.dylib)
-==50918==    by 0x100158D83: PyEval_EvalFrameEx (in /opt/intel/intelpython2/lib/libpython2.7.dylib)
-==50918==    by 0x10015DB71: fast_function (in /opt/intel/intelpython2/lib/libpython2.7.dylib)
-==50918==    by 0x100158D83: PyEval_EvalFrameEx (in /opt/intel/intelpython2/lib/libpython2.7.dylib)
-==50918==    by 0x10015DB71: fast_function (in /opt/intel/intelpython2/lib/libpython2.7.dylib)
-==50918==    by 0x100158D83: PyEval_EvalFrameEx (in /opt/intel/intelpython2/lib/libpython2.7.dylib)
-==50918==    by 0x100151853: PyEval_EvalCodeEx (in /opt/intel/intelpython2/lib/libpython2.7.dylib)
-==50918==  Block was alloc'd at
-==50918==    at 0x100098616: malloc (in /usr/local/Cellar/valgrind/3.13.0/lib/valgrind/vgpreload_memcheck-amd64-darwin.so)
-==50918==    by 0x100C0DFD8: __smakebuf (in /usr/lib/system/libsystem_c.dylib)
-==50918==    by 0x100C116EE: __srefill0 (in /usr/lib/system/libsystem_c.dylib)
-==50918==    by 0x100C0C440: __fread (in /usr/lib/system/libsystem_c.dylib)
-==50918==    by 0x100C0C37F: fread (in /usr/lib/system/libsystem_c.dylib)
-==50918==    by 0x1000D1FD2: file_read (in /opt/intel/intelpython2/lib/libpython2.7.dylib)
-==50918==    by 0x10015917F: PyEval_EvalFrameEx (in /opt/intel/intelpython2/lib/libpython2.7.dylib)
-==50918==    by 0x10015DB71: fast_function (in /opt/intel/intelpython2/lib/libpython2.7.dylib)
-==50918==    by 0x100158D83: PyEval_EvalFrameEx (in /opt/intel/intelpython2/lib/libpython2.7.dylib)
-==50918==    by 0x10015DB71: fast_function (in /opt/intel/intelpython2/lib/libpython2.7.dylib)
-==50918==    by 0x100158D83: PyEval_EvalFrameEx (in /opt/intel/intelpython2/lib/libpython2.7.dylib)
-==50918==    by 0x10015DB71: fast_function (in /opt/intel/intelpython2/lib/libpython2.7.dylib)
-==50918== 
-==50918== Invalid read of size 4
-==50918==    at 0x1000F92F8: PyObject_Free (in /opt/intel/intelpython2/lib/libpython2.7.dylib)
-==50918==    by 0x1000C5687: code_dealloc (in /opt/intel/intelpython2/lib/libpython2.7.dylib)
-==50918==    by 0x10010ADFB: tupledealloc (in /opt/intel/intelpython2/lib/libpython2.7.dylib)
-==50918==    by 0x1000C55CA: code_dealloc (in /opt/intel/intelpython2/lib/libpython2.7.dylib)
-==50918==    by 0x100175265: load_source_module (in /opt/intel/intelpython2/lib/libpython2.7.dylib)
-==50918==    by 0x100174CCE: import_submodule (in /opt/intel/intelpython2/lib/libpython2.7.dylib)
-==50918==    by 0x100174757: load_next (in /opt/intel/intelpython2/lib/libpython2.7.dylib)
-==50918==    by 0x100173791: PyImport_ImportModuleLevel (in /opt/intel/intelpython2/lib/libpython2.7.dylib)
-==50918==    by 0x10014C6E6: builtin___import__ (in /opt/intel/intelpython2/lib/libpython2.7.dylib)
-==50918==    by 0x1000B34A2: PyObject_Call (in /opt/intel/intelpython2/lib/libpython2.7.dylib)
-==50918==    by 0x1000B3605: PyObject_CallFunction (in /opt/intel/intelpython2/lib/libpython2.7.dylib)
-==50918==    by 0x1001731E1: PyImport_Import (in /opt/intel/intelpython2/lib/libpython2.7.dylib)
-==50918==  Address 0x1019aa020 is 560 bytes inside a block of size 704 free'd
-==50918==    at 0x1000989F3: free (in /usr/local/Cellar/valgrind/3.13.0/lib/valgrind/vgpreload_memcheck-amd64-darwin.so)
-==50918==    by 0x1000E0963: list_dealloc (in /opt/intel/intelpython2/lib/libpython2.7.dylib)
-==50918==    by 0x1000D8AF3: frame_dealloc (in /opt/intel/intelpython2/lib/libpython2.7.dylib)
-==50918==    by 0x100151BB3: PyEval_EvalCodeEx (in /opt/intel/intelpython2/lib/libpython2.7.dylib)
-==50918==    by 0x10015DA95: fast_function (in /opt/intel/intelpython2/lib/libpython2.7.dylib)
-==50918==    by 0x100158D83: PyEval_EvalFrameEx (in /opt/intel/intelpython2/lib/libpython2.7.dylib)
-==50918==    by 0x100151853: PyEval_EvalCodeEx (in /opt/intel/intelpython2/lib/libpython2.7.dylib)
-==50918==    by 0x10015DA95: fast_function (in /opt/intel/intelpython2/lib/libpython2.7.dylib)
-==50918==    by 0x100158D83: PyEval_EvalFrameEx (in /opt/intel/intelpython2/lib/libpython2.7.dylib)
-==50918==    by 0x100151853: PyEval_EvalCodeEx (in /opt/intel/intelpython2/lib/libpython2.7.dylib)
-==50918==    by 0x10015DA95: fast_function (in /opt/intel/intelpython2/lib/libpython2.7.dylib)
-==50918==    by 0x100158D83: PyEval_EvalFrameEx (in /opt/intel/intelpython2/lib/libpython2.7.dylib)
-==50918==  Block was alloc'd at
-==50918==    at 0x100098FC4: realloc (in /usr/local/Cellar/valgrind/3.13.0/lib/valgrind/vgpreload_memcheck-amd64-darwin.so)
-==50918==    by 0x1000E36DF: listappend (in /opt/intel/intelpython2/lib/libpython2.7.dylib)
-==50918==    by 0x100158EB1: PyEval_EvalFrameEx (in /opt/intel/intelpython2/lib/libpython2.7.dylib)
-==50918==    by 0x10015DB71: fast_function (in /opt/intel/intelpython2/lib/libpython2.7.dylib)
-==50918==    by 0x100158D83: PyEval_EvalFrameEx (in /opt/intel/intelpython2/lib/libpython2.7.dylib)
-==50918==    by 0x10015DB71: fast_function (in /opt/intel/intelpython2/lib/libpython2.7.dylib)
-==50918==    by 0x100158D83: PyEval_EvalFrameEx (in /opt/intel/intelpython2/lib/libpython2.7.dylib)
-==50918==    by 0x10015DB71: fast_function (in /opt/intel/intelpython2/lib/libpython2.7.dylib)
-==50918==    by 0x100158D83: PyEval_EvalFrameEx (in /opt/intel/intelpython2/lib/libpython2.7.dylib)
-==50918==    by 0x10015DB71: fast_function (in /opt/intel/intelpython2/lib/libpython2.7.dylib)
-==50918==    by 0x100158D83: PyEval_EvalFrameEx (in /opt/intel/intelpython2/lib/libpython2.7.dylib)
-==50918==    by 0x100151853: PyEval_EvalCodeEx (in /opt/intel/intelpython2/lib/libpython2.7.dylib)
-==50918== 
-==50918== Conditional jump or move depends on uninitialised value(s)
-==50918==    at 0x1000F9301: PyObject_Free (in /opt/intel/intelpython2/lib/libpython2.7.dylib)
-==50918==    by 0x1000A6317: PyGrammar_AddAccelerators (in /opt/intel/intelpython2/lib/libpython2.7.dylib)
-==50918==    by 0x1000A697E: PyParser_New (in /opt/intel/intelpython2/lib/libpython2.7.dylib)
-==50918==    by 0x1000A730B: parsetok (in /opt/intel/intelpython2/lib/libpython2.7.dylib)
-==50918==    by 0x10017FCDF: PyParser_ASTFromFile (in /opt/intel/intelpython2/lib/libpython2.7.dylib)
-==50918==    by 0x10017FDE2: PyRun_FileExFlags (in /opt/intel/intelpython2/lib/libpython2.7.dylib)
-==50918==    by 0x10017F95D: PyRun_SimpleFileExFlags (in /opt/intel/intelpython2/lib/libpython2.7.dylib)
-==50918==    by 0x100195DB7: Py_Main (in /opt/intel/intelpython2/lib/libpython2.7.dylib)
-==50918==    by 0x100000F23: (below main) (in /opt/intel/intelpython2/bin//python)
-==50918== 
-==50918== Use of uninitialised value of size 8
-==50918==    at 0x1000F9316: PyObject_Free (in /opt/intel/intelpython2/lib/libpython2.7.dylib)
-==50918==    by 0x1000A6317: PyGrammar_AddAccelerators (in /opt/intel/intelpython2/lib/libpython2.7.dylib)
-==50918==    by 0x1000A697E: PyParser_New (in /opt/intel/intelpython2/lib/libpython2.7.dylib)
-==50918==    by 0x1000A730B: parsetok (in /opt/intel/intelpython2/lib/libpython2.7.dylib)
-==50918==    by 0x10017FCDF: PyParser_ASTFromFile (in /opt/intel/intelpython2/lib/libpython2.7.dylib)
-==50918==    by 0x10017FDE2: PyRun_FileExFlags (in /opt/intel/intelpython2/lib/libpython2.7.dylib)
-==50918==    by 0x10017F95D: PyRun_SimpleFileExFlags (in /opt/intel/intelpython2/lib/libpython2.7.dylib)
-==50918==    by 0x100195DB7: Py_Main (in /opt/intel/intelpython2/lib/libpython2.7.dylib)
-==50918==    by 0x100000F23: (below main) (in /opt/intel/intelpython2/bin//python)
-==50918== 
-==50918== Invalid read of size 4
-==50918==    at 0x1000F92F8: PyObject_Free (in /opt/intel/intelpython2/lib/libpython2.7.dylib)
-==50918==    by 0x1000A6317: PyGrammar_AddAccelerators (in /opt/intel/intelpython2/lib/libpython2.7.dylib)
-==50918==    by 0x1000A697E: PyParser_New (in /opt/intel/intelpython2/lib/libpython2.7.dylib)
-==50918==    by 0x1000A730B: parsetok (in /opt/intel/intelpython2/lib/libpython2.7.dylib)
-==50918==    by 0x10017FCDF: PyParser_ASTFromFile (in /opt/intel/intelpython2/lib/libpython2.7.dylib)
-==50918==    by 0x10017FDE2: PyRun_FileExFlags (in /opt/intel/intelpython2/lib/libpython2.7.dylib)
-==50918==    by 0x10017F95D: PyRun_SimpleFileExFlags (in /opt/intel/intelpython2/lib/libpython2.7.dylib)
-==50918==    by 0x100195DB7: Py_Main (in /opt/intel/intelpython2/lib/libpython2.7.dylib)
-==50918==    by 0x100000F23: (below main) (in /opt/intel/intelpython2/bin//python)
-==50918==  Address 0x101a9c020 is 16 bytes after a block of size 688 in arena "client"
-==50918== 
-==50918== Invalid read of size 8
-==50918==    at 0x1000F94FA: PyObject_Realloc (in /opt/intel/intelpython2/lib/libpython2.7.dylib)
-==50918==    by 0x100165C5C: compiler_next_instr (in /opt/intel/intelpython2/lib/libpython2.7.dylib)
-==50918==    by 0x100165A41: compiler_nameop (in /opt/intel/intelpython2/lib/libpython2.7.dylib)
-==50918==    by 0x100163548: compiler_visit_expr (in /opt/intel/intelpython2/lib/libpython2.7.dylib)
-==50918==    by 0x10015EE04: compiler_visit_stmt (in /opt/intel/intelpython2/lib/libpython2.7.dylib)
-==50918==    by 0x10015E8C7: compiler_visit_stmt (in /opt/intel/intelpython2/lib/libpython2.7.dylib)
-==50918==    by 0x10015E6CF: compiler_body (in /opt/intel/intelpython2/lib/libpython2.7.dylib)
-==50918==    by 0x10015EB8E: compiler_visit_stmt (in /opt/intel/intelpython2/lib/libpython2.7.dylib)
-==50918==    by 0x10015E6CF: compiler_body (in /opt/intel/intelpython2/lib/libpython2.7.dylib)
-==50918==    by 0x10015E07F: PyAST_Compile (in /opt/intel/intelpython2/lib/libpython2.7.dylib)
-==50918==    by 0x10017FE09: PyRun_FileExFlags (in /opt/intel/intelpython2/lib/libpython2.7.dylib)
-==50918==    by 0x10017F95D: PyRun_SimpleFileExFlags (in /opt/intel/intelpython2/lib/libpython2.7.dylib)
-==50918==  Address 0x101aff020 is 96 bytes inside a block of size 128 free'd
-==50918==    at 0x1000989F3: free (in /usr/local/Cellar/valgrind/3.13.0/lib/valgrind/vgpreload_memcheck-amd64-darwin.so)
-==50918==    by 0x1000E0963: list_dealloc (in /opt/intel/intelpython2/lib/libpython2.7.dylib)
-==50918==    by 0x10016576D: dictbytype (in /opt/intel/intelpython2/lib/libpython2.7.dylib)
-==50918==    by 0x10015E4DF: compiler_enter_scope (in /opt/intel/intelpython2/lib/libpython2.7.dylib)
-==50918==    by 0x10015E049: PyAST_Compile (in /opt/intel/intelpython2/lib/libpython2.7.dylib)
-==50918==    by 0x10017FE09: PyRun_FileExFlags (in /opt/intel/intelpython2/lib/libpython2.7.dylib)
-==50918==    by 0x10017F95D: PyRun_SimpleFileExFlags (in /opt/intel/intelpython2/lib/libpython2.7.dylib)
-==50918==    by 0x100195DB7: Py_Main (in /opt/intel/intelpython2/lib/libpython2.7.dylib)
-==50918==    by 0x100000F23: (below main) (in /opt/intel/intelpython2/bin//python)
-==50918==  Block was alloc'd at
-==50918==    at 0x100098616: malloc (in /usr/local/Cellar/valgrind/3.13.0/lib/valgrind/vgpreload_memcheck-amd64-darwin.so)
-==50918==    by 0x1000DE9AC: PyList_New (in /opt/intel/intelpython2/lib/libpython2.7.dylib)
-==50918==    by 0x1000F060C: PyDict_Keys (in /opt/intel/intelpython2/lib/libpython2.7.dylib)
-==50918==    by 0x100165637: dictbytype (in /opt/intel/intelpython2/lib/libpython2.7.dylib)
-==50918==    by 0x10015E4DF: compiler_enter_scope (in /opt/intel/intelpython2/lib/libpython2.7.dylib)
-==50918==    by 0x10015E049: PyAST_Compile (in /opt/intel/intelpython2/lib/libpython2.7.dylib)
-==50918==    by 0x10017FE09: PyRun_FileExFlags (in /opt/intel/intelpython2/lib/libpython2.7.dylib)
-==50918==    by 0x10017F95D: PyRun_SimpleFileExFlags (in /opt/intel/intelpython2/lib/libpython2.7.dylib)
-==50918==    by 0x100195DB7: Py_Main (in /opt/intel/intelpython2/lib/libpython2.7.dylib)
-==50918==    by 0x100000F23: (below main) (in /opt/intel/intelpython2/bin//python)
-==50918== 
-==50918== Invalid read of size 4
-==50918==    at 0x1000F92F8: PyObject_Free (in /opt/intel/intelpython2/lib/libpython2.7.dylib)
-==50918==    by 0x1001654ED: compiler_unit_free (in /opt/intel/intelpython2/lib/libpython2.7.dylib)
-==50918==    by 0x100160C9F: compiler_visit_stmt (in /opt/intel/intelpython2/lib/libpython2.7.dylib)
-==50918==    by 0x10015E6CF: compiler_body (in /opt/intel/intelpython2/lib/libpython2.7.dylib)
-==50918==    by 0x10015EB8E: compiler_visit_stmt (in /opt/intel/intelpython2/lib/libpython2.7.dylib)
-==50918==    by 0x10015E6CF: compiler_body (in /opt/intel/intelpython2/lib/libpython2.7.dylib)
-==50918==    by 0x10015E07F: PyAST_Compile (in /opt/intel/intelpython2/lib/libpython2.7.dylib)
-==50918==    by 0x10017FE09: PyRun_FileExFlags (in /opt/intel/intelpython2/lib/libpython2.7.dylib)
-==50918==    by 0x10017F95D: PyRun_SimpleFileExFlags (in /opt/intel/intelpython2/lib/libpython2.7.dylib)
-==50918==    by 0x100195DB7: Py_Main (in /opt/intel/intelpython2/lib/libpython2.7.dylib)
-==50918==    by 0x100000F23: (below main) (in /opt/intel/intelpython2/bin//python)
-==50918==  Address 0x101b00020 is 192 bytes inside a block of size 768 free'd
-==50918==    at 0x100098FC4: realloc (in /usr/local/Cellar/valgrind/3.13.0/lib/valgrind/vgpreload_memcheck-amd64-darwin.so)
-==50918==    by 0x100165C5C: compiler_next_instr (in /opt/intel/intelpython2/lib/libpython2.7.dylib)
-==50918==    by 0x100165A41: compiler_nameop (in /opt/intel/intelpython2/lib/libpython2.7.dylib)
-==50918==    by 0x100163548: compiler_visit_expr (in /opt/intel/intelpython2/lib/libpython2.7.dylib)
-==50918==    by 0x10015EE04: compiler_visit_stmt (in /opt/intel/intelpython2/lib/libpython2.7.dylib)
-==50918==    by 0x10015E8C7: compiler_visit_stmt (in /opt/intel/intelpython2/lib/libpython2.7.dylib)
-==50918==    by 0x10015E6CF: compiler_body (in /opt/intel/intelpython2/lib/libpython2.7.dylib)
-==50918==    by 0x10015EB8E: compiler_visit_stmt (in /opt/intel/intelpython2/lib/libpython2.7.dylib)
-==50918==    by 0x10015E6CF: compiler_body (in /opt/intel/intelpython2/lib/libpython2.7.dylib)
-==50918==    by 0x10015E07F: PyAST_Compile (in /opt/intel/intelpython2/lib/libpython2.7.dylib)
-==50918==    by 0x10017FE09: PyRun_FileExFlags (in /opt/intel/intelpython2/lib/libpython2.7.dylib)
-==50918==    by 0x10017F95D: PyRun_SimpleFileExFlags (in /opt/intel/intelpython2/lib/libpython2.7.dylib)
-==50918==  Block was alloc'd at
-==50918==    at 0x100098616: malloc (in /usr/local/Cellar/valgrind/3.13.0/lib/valgrind/vgpreload_memcheck-amd64-darwin.so)
-==50918==    by 0x1000F9561: PyObject_Realloc (in /opt/intel/intelpython2/lib/libpython2.7.dylib)
-==50918==    by 0x100165C5C: compiler_next_instr (in /opt/intel/intelpython2/lib/libpython2.7.dylib)
-==50918==    by 0x100165A41: compiler_nameop (in /opt/intel/intelpython2/lib/libpython2.7.dylib)
-==50918==    by 0x100163548: compiler_visit_expr (in /opt/intel/intelpython2/lib/libpython2.7.dylib)
-==50918==    by 0x10015EE04: compiler_visit_stmt (in /opt/intel/intelpython2/lib/libpython2.7.dylib)
-==50918==    by 0x10015E8C7: compiler_visit_stmt (in /opt/intel/intelpython2/lib/libpython2.7.dylib)
-==50918==    by 0x10015E6CF: compiler_body (in /opt/intel/intelpython2/lib/libpython2.7.dylib)
-==50918==    by 0x10015EB8E: compiler_visit_stmt (in /opt/intel/intelpython2/lib/libpython2.7.dylib)
-==50918==    by 0x10015E6CF: compiler_body (in /opt/intel/intelpython2/lib/libpython2.7.dylib)
-==50918==    by 0x10015E07F: PyAST_Compile (in /opt/intel/intelpython2/lib/libpython2.7.dylib)
-==50918==    by 0x10017FE09: PyRun_FileExFlags (in /opt/intel/intelpython2/lib/libpython2.7.dylib)
-==50918== 
-==50918== Invalid read of size 8
-==50918==    at 0x1000F94FA: PyObject_Realloc (in /opt/intel/intelpython2/lib/libpython2.7.dylib)
-==50918==    by 0x100165C5C: compiler_next_instr (in /opt/intel/intelpython2/lib/libpython2.7.dylib)
-==50918==    by 0x100163DEC: compiler_visit_expr (in /opt/intel/intelpython2/lib/libpython2.7.dylib)
-==50918==    by 0x100163619: compiler_visit_expr (in /opt/intel/intelpython2/lib/libpython2.7.dylib)
-==50918==    by 0x10015ED5A: compiler_visit_stmt (in /opt/intel/intelpython2/lib/libpython2.7.dylib)
-==50918==    by 0x100160E30: compiler_visit_stmt (in /opt/intel/intelpython2/lib/libpython2.7.dylib)
-==50918==    by 0x10015E6CF: compiler_body (in /opt/intel/intelpython2/lib/libpython2.7.dylib)
-==50918==    by 0x10015E07F: PyAST_Compile (in /opt/intel/intelpython2/lib/libpython2.7.dylib)
-==50918==    by 0x10017FE09: PyRun_FileExFlags (in /opt/intel/intelpython2/lib/libpython2.7.dylib)
-==50918==    by 0x10017F95D: PyRun_SimpleFileExFlags (in /opt/intel/intelpython2/lib/libpython2.7.dylib)
-==50918==    by 0x100195DB7: Py_Main (in /opt/intel/intelpython2/lib/libpython2.7.dylib)
-==50918==    by 0x100000F23: (below main) (in /opt/intel/intelpython2/bin//python)
-==50918==  Address 0x101b01020 is 320 bytes inside a block of size 768 free'd
-==50918==    at 0x1000989F3: free (in /usr/local/Cellar/valgrind/3.13.0/lib/valgrind/vgpreload_memcheck-amd64-darwin.so)
-==50918==    by 0x1000F0B46: dict_dealloc (in /opt/intel/intelpython2/lib/libpython2.7.dylib)
-==50918==    by 0x100165572: compiler_unit_free (in /opt/intel/intelpython2/lib/libpython2.7.dylib)
-==50918==    by 0x100160C9F: compiler_visit_stmt (in /opt/intel/intelpython2/lib/libpython2.7.dylib)
-==50918==    by 0x10015E6CF: compiler_body (in /opt/intel/intelpython2/lib/libpython2.7.dylib)
-==50918==    by 0x10015EB8E: compiler_visit_stmt (in /opt/intel/intelpython2/lib/libpython2.7.dylib)
-==50918==    by 0x10015E6CF: compiler_body (in /opt/intel/intelpython2/lib/libpython2.7.dylib)
-==50918==    by 0x10015E07F: PyAST_Compile (in /opt/intel/intelpython2/lib/libpython2.7.dylib)
-==50918==    by 0x10017FE09: PyRun_FileExFlags (in /opt/intel/intelpython2/lib/libpython2.7.dylib)
-==50918==    by 0x10017F95D: PyRun_SimpleFileExFlags (in /opt/intel/intelpython2/lib/libpython2.7.dylib)
-==50918==    by 0x100195DB7: Py_Main (in /opt/intel/intelpython2/lib/libpython2.7.dylib)
-==50918==    by 0x100000F23: (below main) (in /opt/intel/intelpython2/bin//python)
-==50918==  Block was alloc'd at
-==50918==    at 0x100098616: malloc (in /usr/local/Cellar/valgrind/3.13.0/lib/valgrind/vgpreload_memcheck-amd64-darwin.so)
-==50918==    by 0x1000EF545: dictresize (in /opt/intel/intelpython2/lib/libpython2.7.dylib)
-==50918==    by 0x100165BBE: compiler_add_o (in /opt/intel/intelpython2/lib/libpython2.7.dylib)
-==50918==    by 0x100164186: compiler_visit_expr (in /opt/intel/intelpython2/lib/libpython2.7.dylib)
-==50918==    by 0x100163548: compiler_visit_expr (in /opt/intel/intelpython2/lib/libpython2.7.dylib)
-==50918==    by 0x10016349D: compiler_visit_expr (in /opt/intel/intelpython2/lib/libpython2.7.dylib)
-==50918==    by 0x10015F905: compiler_visit_stmt (in /opt/intel/intelpython2/lib/libpython2.7.dylib)
-==50918==    by 0x10015E8C7: compiler_visit_stmt (in /opt/intel/intelpython2/lib/libpython2.7.dylib)
-==50918==    by 0x10015E6CF: compiler_body (in /opt/intel/intelpython2/lib/libpython2.7.dylib)
-==50918==    by 0x10015EB8E: compiler_visit_stmt (in /opt/intel/intelpython2/lib/libpython2.7.dylib)
-==50918==    by 0x10015E6CF: compiler_body (in /opt/intel/intelpython2/lib/libpython2.7.dylib)
-==50918==    by 0x10015E07F: PyAST_Compile (in /opt/intel/intelpython2/lib/libpython2.7.dylib)
-==50918== 
---50918-- UNKNOWN task message [id 3445, to mach_task_self(), reply 0x707]
---50918-- UNKNOWN task message [id 3445, to mach_task_self(), reply 0x707] (repeated 2 times)
---50918-- UNKNOWN task message [id 3445, to mach_task_self(), reply 0x707] (repeated 4 times)
-==50918== Thread 2:
-==50918== Invalid read of size 4
-==50918==    at 0x100E7490D: _pthread_body (in /usr/lib/system/libsystem_pthread.dylib)
-==50918==    by 0x100E748FA: _pthread_start (in /usr/lib/system/libsystem_pthread.dylib)
-==50918==    by 0x100E74100: thread_start (in /usr/lib/system/libsystem_pthread.dylib)
-==50918==  Address 0x18 is not stack'd, malloc'd or (recently) free'd
-==50918== 
-==50918== Invalid read of size 8
-==50918==    at 0x100E72A4A: pthread_getspecific (in /usr/lib/system/libsystem_pthread.dylib)
-==50918==    by 0x100C5321A: __snprintf_chk (in /usr/lib/system/libsystem_c.dylib)
-==50918==    by 0x102594475: show_stackframe (in /usr/local/Cellar/open-mpi/2.0.1/lib/libopen-pal.20.dylib)
-==50918==    by 0x25805BBB1: ???
-==50918==    by 0x100E748FA: _pthread_start (in /usr/lib/system/libsystem_pthread.dylib)
-==50918==    by 0x100E74100: thread_start (in /usr/lib/system/libsystem_pthread.dylib)
-==50918==  Address 0x50 is not stack'd, malloc'd or (recently) free'd
-==50918== 
-==50918== 
-==50918== Process terminating with default action of signal 11 (SIGSEGV)
-==50918==  Access not within mapped region at address 0x50
-==50918==    at 0x100E72A4A: pthread_getspecific (in /usr/lib/system/libsystem_pthread.dylib)
-==50918==    by 0x100C5321A: __snprintf_chk (in /usr/lib/system/libsystem_c.dylib)
-==50918==    by 0x102594475: show_stackframe (in /usr/local/Cellar/open-mpi/2.0.1/lib/libopen-pal.20.dylib)
-==50918==    by 0x25805BBB1: ???
-==50918==    by 0x100E748FA: _pthread_start (in /usr/lib/system/libsystem_pthread.dylib)
-==50918==    by 0x100E74100: thread_start (in /usr/lib/system/libsystem_pthread.dylib)
-==50918==  If you believe this happened as a result of a stack
-==50918==  overflow in your program's main thread (unlikely but
-==50918==  possible), you can try to increase the size of the
-==50918==  main thread stack using the --main-stacksize= flag.
-==50918==  The main thread stack size used in this run was 8388608.
---50918:0:schedule VG_(sema_down): read returned -4
-==50918== 
-==50918== HEAP SUMMARY:
-==50918==     in use at exit: 2,540,668 bytes in 4,163 blocks
-==50918==   total heap usage: 11,646 allocs, 7,483 frees, 6,045,431 bytes allocated
-==50918== 
-==50918== LEAK SUMMARY:
-==50918==    definitely lost: 0 bytes in 0 blocks
-==50918==    indirectly lost: 0 bytes in 0 blocks
-==50918==      possibly lost: 27,816 bytes in 53 blocks
-==50918==    still reachable: 2,459,010 bytes in 3,955 blocks
-==50918==         suppressed: 53,842 bytes in 155 blocks
-==50918== Rerun with --leak-check=full to see details of leaked memory
-==50918== 
-==50918== For counts of detected and suppressed errors, rerun with: -v
-==50918== Use --track-origins=yes to see where uninitialised values come from
-==50918== ERROR SUMMARY: 378 errors from 20 contexts (suppressed: 1 from 1)
diff --git a/params/CVT/src/cvt.cpp b/params/CVT/src/cvt.cpp
index afdc9557..04aba272 100644
--- a/params/CVT/src/cvt.cpp
+++ b/params/CVT/src/cvt.cpp
@@ -237,7 +237,7 @@ void cvt ( int dim_num, int n, int batch, int init, int sample, int sample_num,
 //
 {
   bool DEBUG = true;
-  int i;
+  //int i; // unused
   bool initialize;
   int seed_base;
   int seed_init;
@@ -533,7 +533,7 @@ void cvt_iterate ( int dim_num, int n, int batch, int sample, bool initialize,
   int *nearest;
   double *r2;
   double *s;
-  bool success;
+  //bool success; //unused
   double term;
 //
 //  Take each generator as the first sample point for its region.
@@ -707,7 +707,7 @@ void cvt_sample ( int dim_num, int n, int n_now, int sample, bool initialize,
   int halton_step;
   int i;
   int j;
-  int k;
+  //int k; // unused
   static int ngrid;
   static int rank;
   int rank_max;
@@ -1086,7 +1086,7 @@ int get_seed ( void )
 # define I_MAX 2147483647
 
   time_t clock;
-  int i;
+  //int i; // unused
   int ihour;
   int imin;
   int isec;
@@ -1366,7 +1366,7 @@ bool halham_step_check ( int step )
 //    Output, bool HALHAM_STEP_CHECK, is true if STEP is legal.
 //
 {
-  int i;
+  //int i; // unused
   bool value;
 
   if ( step < 0 ) 
@@ -2978,7 +2978,7 @@ bool s_to_r8vec ( char *s, int n, double rvec[] )
   bool error;
   int i;
   int lchar;
-  double x;
+  //double x; // unused
 
   for ( i = 0; i < n; i++ )
   {
@@ -3030,13 +3030,14 @@ void timestamp ( void )
 
   static char time_buffer[TIME_SIZE];
   const struct tm *tm;
-  size_t len;
+  //size_t len; // unused
   time_t now;
 
   now = time ( NULL );
   tm = localtime ( &now );
 
-  len = strftime ( time_buffer, TIME_SIZE, "%d %B %Y %I:%M:%S %p", tm );
+  //len = strftime ( time_buffer, TIME_SIZE, "%d %B %Y %I:%M:%S %p", tm );
+  strftime ( time_buffer, TIME_SIZE, "%d %B %Y %I:%M:%S %p", tm );
 
   cout << time_buffer << "\n";
 
diff --git a/tbox/src/gmm_extra.cpp b/tbox/src/gmm_extra.cpp
index ac31fcf0..48b6ff17 100644
--- a/tbox/src/gmm_extra.cpp
+++ b/tbox/src/gmm_extra.cpp
@@ -12,8 +12,8 @@ tomatlab(std::string const &fname, gmm::csr_matrix<double> const &A)
 {
     std::ofstream f(fname.c_str());
 
-    for (auto i = 0; i < mat_nrows(A); ++i)
-        for (auto j = 0; j < mat_ncols(A); ++j)
+    for (size_t i = 0; i < mat_nrows(A); ++i)
+        for (size_t j = 0; j < mat_ncols(A); ++j)
         {
             double v = A(i, j);
             if (v != 0.0)
diff --git a/tbox/src/wCacheHex8.cpp b/tbox/src/wCacheHex8.cpp
index 07bdccc6..c43a0c21 100644
--- a/tbox/src/wCacheHex8.cpp
+++ b/tbox/src/wCacheHex8.cpp
@@ -4,7 +4,7 @@ CacheHex8::CacheHex8(int _npg) : Cache(_npg), gauss(_npg)
 {
     // pre-compute dff
     dff.resize(gauss.p.size());
-    for (auto k = 0; k < gauss.p.size(); ++k)
+    for (size_t k = 0; k < gauss.p.size(); ++k)
     {
         Pt ksi(gauss.p[k]);
         dff[k].resize(8);
@@ -17,7 +17,7 @@ CacheHex8::CacheHex8(int _npg) : Cache(_npg), gauss(_npg)
 
     // pre-compute ff
     ff.resize(gauss.p.size());
-    for (auto k = 0; k < gauss.p.size(); ++k)
+    for (size_t k = 0; k < gauss.p.size(); ++k)
     {
         Pt ksi(gauss.p[k]);
         ff[k].resize(8);
diff --git a/tbox/src/wCacheLine2.cpp b/tbox/src/wCacheLine2.cpp
index a259f5c6..cc6e8a4c 100644
--- a/tbox/src/wCacheLine2.cpp
+++ b/tbox/src/wCacheLine2.cpp
@@ -4,7 +4,7 @@ CacheLine2::CacheLine2(int _npg) : Cache(_npg), gauss(_npg)
 {
     // pre-compute dff
     dff.resize(gauss.p.size());
-    for (auto k = 0; k < gauss.p.size(); ++k)
+    for (size_t k = 0; k < gauss.p.size(); ++k)
     {
         Pt ksi(gauss.p[k]);
         dff[k].resize(2);
@@ -17,7 +17,7 @@ CacheLine2::CacheLine2(int _npg) : Cache(_npg), gauss(_npg)
 
     // pre-compute ff
     ff.resize(gauss.p.size());
-    for (auto k = 0; k < gauss.p.size(); ++k)
+    for (size_t k = 0; k < gauss.p.size(); ++k)
     {
         Pt ksi(gauss.p[k]);
         ff[k].resize(2);
diff --git a/tbox/src/wCacheQuad4.cpp b/tbox/src/wCacheQuad4.cpp
index e803088e..ac4e1329 100644
--- a/tbox/src/wCacheQuad4.cpp
+++ b/tbox/src/wCacheQuad4.cpp
@@ -4,7 +4,7 @@ CacheQuad4::CacheQuad4(int _npg) : Cache(_npg), gauss(_npg)
 {
     // pre-compute dff
     dff.resize(gauss.p.size());
-    for (auto k = 0; k < gauss.p.size(); ++k)
+    for (size_t k = 0; k < gauss.p.size(); ++k)
     {
         Pt ksi(gauss.p[k]);
         dff[k].resize(4);
@@ -17,7 +17,7 @@ CacheQuad4::CacheQuad4(int _npg) : Cache(_npg), gauss(_npg)
 
     // pre-compute ff
     ff.resize(gauss.p.size());
-    for (auto k = 0; k < gauss.p.size(); ++k)
+    for (size_t k = 0; k < gauss.p.size(); ++k)
     {
         Pt ksi(gauss.p[k]);
         ff[k].resize(4);
diff --git a/tbox/src/wCacheTetra4.cpp b/tbox/src/wCacheTetra4.cpp
index 13b533ab..c39db868 100644
--- a/tbox/src/wCacheTetra4.cpp
+++ b/tbox/src/wCacheTetra4.cpp
@@ -4,7 +4,7 @@ CacheTetra4::CacheTetra4(int _npg) : Cache(_npg), gauss(_npg)
 {
     // pre-compute dff
     dff.resize(gauss.p.size());
-    for (auto k = 0; k < gauss.p.size(); ++k)
+    for (size_t k = 0; k < gauss.p.size(); ++k)
     {
         Pt ksi(gauss.p[k]);
         dff[k].resize(SfTetra4::nbno);
@@ -17,7 +17,7 @@ CacheTetra4::CacheTetra4(int _npg) : Cache(_npg), gauss(_npg)
 
     // pre-compute ff
     ff.resize(gauss.p.size());
-    for (auto k = 0; k < gauss.p.size(); ++k)
+    for (size_t k = 0; k < gauss.p.size(); ++k)
     {
         Pt ksi(gauss.p[k]);
         ff[k].resize(SfTetra4::nbno);
diff --git a/tbox/src/wCacheTri3.cpp b/tbox/src/wCacheTri3.cpp
index 8e8507f1..bf74e477 100644
--- a/tbox/src/wCacheTri3.cpp
+++ b/tbox/src/wCacheTri3.cpp
@@ -4,7 +4,7 @@ CacheTri3::CacheTri3(int _npg) : Cache(_npg), gauss(_npg)
 {
     // pre-compute dff
     dff.resize(gauss.p.size());
-    for (auto k = 0; k < gauss.p.size(); ++k)
+    for (size_t k = 0; k < gauss.p.size(); ++k)
     {
         Pt ksi(gauss.p[k]);
         dff[k].resize(SfTri3::nbno);
@@ -17,7 +17,7 @@ CacheTri3::CacheTri3(int _npg) : Cache(_npg), gauss(_npg)
 
     // pre-compute ff
     ff.resize(gauss.p.size());
-    for (auto k = 0; k < gauss.p.size(); ++k)
+    for (size_t k = 0; k < gauss.p.size(); ++k)
     {
         Pt ksi(gauss.p[k]);
         ff[k].resize(SfTri3::nbno);
diff --git a/tbox/src/wFct0.cpp b/tbox/src/wFct0.cpp
index 27f223a3..87ad29bc 100644
--- a/tbox/src/wFct0.cpp
+++ b/tbox/src/wFct0.cpp
@@ -71,7 +71,7 @@ Fct0XYZ::eval(Element &e, std::vector<double> const &u, int k) const
 
     // position pg en x,y
     Pt xpg;
-    for (int i = 0; i < e.nodes.size(); ++i)
+    for (size_t i = 0; i < e.nodes.size(); ++i)
         xpg += ff[k][i] * e.nodes[i]->pos;
 
     return this->eval(xpg);
@@ -92,7 +92,7 @@ Fct0U::eval(Element &e, std::vector<double> const &u, int k) const
 
     // u au pg
     double upg = 0.0;
-    for (int i = 0; i < e.nodes.size(); ++i)
+    for (size_t i = 0; i < e.nodes.size(); ++i)
         upg += ff[k][i] * u[e.nodes[i]->row];
 
     return this->eval(upg);
diff --git a/tbox/src/wFct2.cpp b/tbox/src/wFct2.cpp
index 1deaf7a1..993ef770 100644
--- a/tbox/src/wFct2.cpp
+++ b/tbox/src/wFct2.cpp
@@ -40,7 +40,7 @@ void Fct2XYZ::eval(Element &e,
 
     // position pg en x,y
     Pt xpg;
-    for (int i = 0; i < e.nodes.size(); ++i)
+    for (size_t i = 0; i < e.nodes.size(); ++i)
         xpg += ff[k][i] * e.nodes[i]->pos;
 
     this->eval(xpg, out, fake);
@@ -62,7 +62,7 @@ void Fct2U::eval(Element &e,
 
     // u au pg
     double upg = 0.0;
-    for (int i = 0; i < e.nodes.size(); ++i)
+    for (size_t i = 0; i < e.nodes.size(); ++i)
         upg += ff[k][i] * u[e.nodes[i]->row];
 
     this->eval(upg, out, fake);
@@ -84,7 +84,7 @@ void Fct2UdU::eval(Element &e,
 
     // u au pg => upg
     double upg = 0.0;
-    for (int i = 0; i < e.nodes.size(); ++i)
+    for (size_t i = 0; i < e.nodes.size(); ++i)
         upg += ff[k][i] * u[e.nodes[i]->row];
 
     //gradU au pg => gradupg
diff --git a/tbox/src/wHex8.cpp b/tbox/src/wHex8.cpp
index 01e91cbc..00a2dceb 100644
--- a/tbox/src/wHex8.cpp
+++ b/tbox/src/wHex8.cpp
@@ -37,7 +37,7 @@ Hex8::buildJ(int k, gmm::dense_matrix<double> &J) const
     gmm::dense_matrix<double> Jn(3, 3);
     gmm::clear(J);
 
-    int i = 0;
+    size_t i = 0;
     for (auto it = nodes.begin(); it != nodes.end(); ++it, ++i)
     {
         std::vector<double> &dff = cache.dff[k][i];
@@ -57,7 +57,7 @@ void Hex8::buildK(gmm::dense_matrix<double> &K, std::vector<double> const &u, Fc
     std::vector<double> factor1(3);
     std::vector<double> factor2(3);
 
-    for (int k = 0; k < gauss.p.size(); ++k)
+    for (size_t k = 0; k < gauss.p.size(); ++k)
     {
         //Pt ksi(gauss.p[k]);
 
@@ -71,12 +71,12 @@ void Hex8::buildK(gmm::dense_matrix<double> &K, std::vector<double> const &u, Fc
 
         // calcul de K (au point de Gauss "ksi")
 
-        for (int i = 0; i < nodes.size(); ++i)
+        for (size_t i = 0; i < nodes.size(); ++i)
         {
             std::vector<double> &dffi = cache.dff[k][i];
             gmm::mult(J, gmm::col_vector(dffi), gmm::col_vector(factor1));
 
-            for (int j = 0; j < nodes.size(); ++j)
+            for (size_t j = 0; j < nodes.size(); ++j)
             {
                 std::vector<double> &dffj = cache.dff[k][j];
 
@@ -103,7 +103,7 @@ void Hex8::buildK_mechanic(gmm::dense_matrix<double> &K_e, gmm::dense_matrix<dou
 
     double epsilon = 2e-16;
 
-    for (int a = 0; a < gauss.p.size(); ++a)
+    for (size_t a = 0; a < gauss.p.size(); ++a)
     {
         //Pt ksi(gauss.p[a]);
 
@@ -217,7 +217,7 @@ void Hex8::buildS_thermomechanic(gmm::dense_matrix<double> &S_e, gmm::dense_matr
 
     double epsilon = 2e-16;
 
-    for (int a = 0; a < gauss.p.size(); ++a)
+    for (size_t a = 0; a < gauss.p.size(); ++a)
     {
         //Pt ksi(gauss.p[a]);
 
@@ -261,7 +261,7 @@ void Hex8::buildL_thermic(gmm::dense_matrix<double> &L_e, gmm::dense_matrix<doub
 
     double epsilon = 2e-16;
 
-    for (int a = 0; a < gauss.p.size(); ++a)
+    for (size_t a = 0; a < gauss.p.size(); ++a)
     {
         //Pt ksi(gauss.p[a]);
 
@@ -309,7 +309,7 @@ void Hex8::strain_stress(gmm::dense_matrix<double> &Strain, gmm::dense_matrix<do
     gmm::dense_matrix<double> du_d_Phi(3, 3);
     gmm::dense_matrix<double> u_e(3, nodes.size());
 
-    for (auto i = 0; i < nodes.size(); ++i)
+    for (size_t i = 0; i < nodes.size(); ++i)
     {
         u_e(0, i) = u[3 * (nodes[i]->row)];
         u_e(1, i) = u[3 * (nodes[i]->row) + 1];
@@ -320,16 +320,16 @@ void Hex8::strain_stress(gmm::dense_matrix<double> &Strain, gmm::dense_matrix<do
 
     double epsilon = 2e-16;
 
-    for (int a = 0; a < gauss.p.size(); ++a)
+    for (size_t a = 0; a < gauss.p.size(); ++a)
     {
         // calcul de la matrice jacobienne (au point de Gauss "ksi")
         gmm::dense_matrix<double> J(3, 3);
-        double detJ = buildJ(a, J);
+        buildJ(a, J);
         gmm::lu_inverse(J); // J contient maintenant Jinv!
 
         gmm::clear(du_d_Phi);
 
-        for (auto i = 0; i < nodes.size(); ++i)
+        for (size_t i = 0; i < nodes.size(); ++i)
         {
             std::vector<double> &dffi = cache.dff[a][i];
             for (auto k = 0; k < 3; ++k)
@@ -378,7 +378,7 @@ void Hex8::strain_stress_x_y_z( gmm::dense_matrix<double> &Strain, gmm::dense_ma
     gmm::dense_matrix<double> du_d_Phi( 3 , 3 );
     gmm::dense_matrix<double> u_e( 3 , nodes.size() );
 
-    for  ( auto i = 0; i < nodes.size(); ++i )
+    for  ( size_t i = 0; i < nodes.size(); ++i )
       {
         u_e(0,i) = x[i];
         u_e(1,i) = y[i];
@@ -389,16 +389,16 @@ void Hex8::strain_stress_x_y_z( gmm::dense_matrix<double> &Strain, gmm::dense_ma
   
     double epsilon = 2e-16;
 
-    for(int a=0; a<gauss.p.size(); ++a)
+    for(size_t a=0; a<gauss.p.size(); ++a)
     {
         // calcul de la matrice jacobienne (au point de Gauss "ksi")
         gmm::dense_matrix<double> J(3,3);
-        double detJ = buildJ(a, J);
+        buildJ(a, J);
         gmm::lu_inverse(J);                 // J contient maintenant Jinv!
 
         gmm::clear(du_d_Phi);
       
-        for ( auto i = 0; i < nodes.size(); ++i )
+        for ( size_t i = 0; i < nodes.size(); ++i )
            {
               std::vector<double> &dffi = cache.dff[a][i];
               for  ( auto k = 0; k < 3; ++k )
@@ -448,7 +448,7 @@ void Hex8::strain_stress_x_y_z_T( gmm::dense_matrix<double> &Strain, gmm::dense_
     gmm::dense_matrix<double> du_d_Phi( 3 , 3 );
     gmm::dense_matrix<double> u_e( 3 , nodes.size() );
 
-    for  ( auto i = 0; i < nodes.size(); ++i )
+    for  ( size_t i = 0; i < nodes.size(); ++i )
       {
         u_e(0,i) = x[i];
         u_e(1,i) = y[i];
@@ -459,16 +459,16 @@ void Hex8::strain_stress_x_y_z_T( gmm::dense_matrix<double> &Strain, gmm::dense_
   
     double epsilon = 2e-16;
 
-    for(int a=0; a<gauss.p.size(); ++a)
+    for(size_t a=0; a<gauss.p.size(); ++a)
     {
         // calcul de la matrice jacobienne (au point de Gauss "ksi")
         gmm::dense_matrix<double> J(3,3);
-        double detJ = buildJ(a, J);
+        buildJ(a, J);
         gmm::lu_inverse(J);                 // J contient maintenant Jinv!
 
         gmm::clear(du_d_Phi);
       
-        for ( auto i = 0; i < nodes.size(); ++i )
+        for ( size_t i = 0; i < nodes.size(); ++i )
            {
               std::vector<double> &dffi = cache.dff[a][i];
               for  ( auto k = 0; k < 3; ++k )
@@ -501,7 +501,7 @@ void Hex8::strain_stress_x_y_z_T( gmm::dense_matrix<double> &Strain, gmm::dense_
        for ( size_t j = 0; j < 3; ++j )
        {
           double tmp = 0.;
-          for ( auto k = 0; k < nodes.size(); ++k )
+          for ( size_t k = 0; k < nodes.size(); ++k )
             tmp += D(i,j)*T[k];
           tmp/=nodes.size();
           Stress(i,j) += tmp;
@@ -525,7 +525,7 @@ Hex8::buildM(gmm::dense_matrix<double> &M)
     gmm::dense_matrix<double> Mk(nodes.size(), nodes.size());
     gmm::dense_matrix<double> J(3, 3);
 
-    for (int k = 0; k < gauss.p.size(); ++k)
+    for (size_t k = 0; k < gauss.p.size(); ++k)
     {
         //Pt ksi(gauss.p[k]);
 
diff --git a/tbox/src/wLine2.cpp b/tbox/src/wLine2.cpp
index f9737f87..a5e1b5fa 100644
--- a/tbox/src/wLine2.cpp
+++ b/tbox/src/wLine2.cpp
@@ -49,7 +49,7 @@ Line2::buildJ(int k) const
     std::vector<double> tg1(3);
     gmm::clear(tg1);
 
-    int i = 0;
+    size_t i = 0;
     for (auto it = nodes.begin(); it != nodes.end(); ++it, ++i)
     {
         std::vector<double> &dff = cache.dff[k][i];
@@ -74,7 +74,7 @@ void Line2::builds(std::vector<double> &s, std::vector<double> const &u, Fct0 co
 
     gmm::clear(s);
 
-    for (int k = 0; k < gauss.p.size(); ++k)
+    for (size_t k = 0; k < gauss.p.size(); ++k)
     {
         //std::cout << "\tk=" << k << "\n";
 
@@ -100,7 +100,7 @@ void Line2::builds(std::vector<double> &s, std::vector<double> const &u, Fct1 co
     GaussLine2 &gauss = cache.gauss;
     gmm::clear(s);
 
-    for (int k = 0; k < gauss.p.size(); ++k)
+    for (size_t k = 0; k < gauss.p.size(); ++k)
     {
         double sk = f.eval(*this, u, k) * normal();
         double detJ = buildJ(k);
@@ -129,7 +129,7 @@ double Line2::computeV(std::vector<double> const &u, Fct0 const &fct)
     CacheLine2 &cache = getCache();
     GaussLine2 &gauss = cache.gauss;
     double V = 0.0;
-    for (int k = 0; k < gauss.p.size(); ++k)
+    for (size_t k = 0; k < gauss.p.size(); ++k)
     {
         // evaluation de la fct a intégrer
         double fk = fct.eval(*this, u, k);
diff --git a/tbox/src/wLinesearch.h b/tbox/src/wLinesearch.h
index dd047ea5..00608e6b 100644
--- a/tbox/src/wLinesearch.h
+++ b/tbox/src/wLinesearch.h
@@ -35,25 +35,25 @@ class TBOX_API Linesearch
 {
 private:
     LSFunction &fct;    ///< function
-    int maxLsIt;        ///< max. number of iterations for linesearch
+    size_t maxLsIt;        ///< max. number of iterations for linesearch
     double tol;         ///< tolerance for linesearch
     double hU;          ///< upper bound value for bracketing
     double hS;          ///< current value for bracketing
 
-    double hL;          ///< lower bound value for bracketing
     double h0;          ///< initial value for bracketing
+    double hL;          ///< lower bound value for bracketing
     bool revAllowed;    ///< allow bracketing in reverse direction
     bool verbose;       ///< display more info
 
 public:
-    int brckIt;         ///< bracketing iteration count
-    int lsIt;           ///< linesearch iteration count
-    int fevalIt;        ///< function evaluation count
+    size_t brckIt;         ///< bracketing iteration count
+    size_t lsIt;           ///< linesearch iteration count
+    size_t fevalIt;        ///< function evaluation count
 
     Linesearch(LSFunction &_fct, double _h0 = 1, double _hL = 1e-10, bool _revAllowed = true);
 
     void set(int _maxLSIt, double _lSTol, bool _verbose);
-	double backtrack();
+    double backtrack();
     double execute();
 };
 
diff --git a/tbox/src/wMemTri3.cpp b/tbox/src/wMemTri3.cpp
index b3550024..cf852446 100644
--- a/tbox/src/wMemTri3.cpp
+++ b/tbox/src/wMemTri3.cpp
@@ -56,7 +56,7 @@ void MemTri3::update()
     CacheTri3 &cache = e.getCache();
     GaussTri3 &gauss = cache.gauss;
 
-    for (int k = 0; k < gauss.p.size(); ++k)
+    for (size_t k = 0; k < gauss.p.size(); ++k)
     {
         // detJ, J
         detJs[k] = e.buildJ(k, Js[k]);
diff --git a/tbox/src/wMemTri3.h b/tbox/src/wMemTri3.h
index a71793fb..e504df13 100644
--- a/tbox/src/wMemTri3.h
+++ b/tbox/src/wMemTri3.h
@@ -15,9 +15,9 @@ class TBOX_API MemTri3 : public wObject
     Tri3 &e;
 
     // GP values
+    std::vector<double> detJs;
     std::vector<gmm::dense_matrix<double>> Js;
     std::vector<gmm::dense_matrix<double>> Jinvs;
-    std::vector<double> detJs;
 
     // Element value
     double vol;
diff --git a/tbox/src/wMshData.cpp b/tbox/src/wMshData.cpp
index 2b3208cb..26decf50 100644
--- a/tbox/src/wMshData.cpp
+++ b/tbox/src/wMshData.cpp
@@ -44,7 +44,7 @@
 #include "vtkMPIController.h"
 #endif
 
-MshData::MshData() : wSharedObject(), name("unnamed"), verb(false)
+MshData::MshData() : wSharedObject(), verb(false), name("unnamed")
 {
 }
 
@@ -269,7 +269,7 @@ void MshData::readMshElements(FILE *file, size_t const myrank)
     for(int i=0; i<nbelm; ++i)
     {
         // read number, type and nb of tags
-        int no=0, type=0, nbtags=0, part = 0;
+        int no=0, type=0, nbtags=0;
         if(fscanf(file, "%d %d %d", &no, &type, &nbtags) !=3)
             throw std::runtime_error("Error reading &no, &type, &nbtags (readMshElements)");
         if(verb) std::cout << no << ( (i==nbelm-1)? ".\n" : ",");
@@ -299,7 +299,7 @@ void MshData::readMshElements(FILE *file, size_t const myrank)
                 prts.push_back(tag);
                 //std::cout << "  " << tag->no << "  " << myrank+1<< std::endl;
 
-                if(myrank+1 == tag->no)
+                if(static_cast<int>(myrank+1) == tag->no)
                     isNotOneOfMyElems = false;
             }
         }
@@ -620,7 +620,7 @@ void MshData::convert(std::string const &fname1, std::string const &fname2)
 
             int ii = 0;
             for (int i = 0; i <= set_index; ++i)
-                for (int j = 0; j < sets_elems[i].size(); ++j)
+                for (size_t j = 0; j < sets_elems[i].size(); ++j)
                     written_file << ++ii << " 2 2 " << 271 + i << " " << 41 + i << " " << sets_elems[i][j] << "\n";
         }
         else if (line[0] == '!' && comment_element_line == true)
@@ -974,7 +974,7 @@ void MshData::convert2(std::string const &fname1, std::string const &fname2)
 
             //int ii = 0;
             for (int i = 0; i <= set_index; ++i)
-                for (int j = 0; j < sets_elems[i].size(); ++j)
+                for (size_t j = 0; j < sets_elems[i].size(); ++j)
                     written_file << sets_elems[i][j] << "\n";
             //written_file << ++ii << " 2 2 " << 271 + i << " " << 41 + i << " " << sets_elems[i][j] << "\n";
         }
@@ -1243,7 +1243,7 @@ void MshData::save(std::string const &fname, Results const &r) const
         fprintf(file, "%d\n", r.nt);                //   1. time step index
         fprintf(file, "%d\n", 1);                   //   2. nb of field component (1, 3 or 9)
         fprintf(file, "%lu\n", nodes.size());       //   3. nb of entities in the view
-        for (int ii = 0; ii < nodes.size(); ++ii)
+        for (size_t ii = 0; ii < nodes.size(); ++ii)
         {
             if (binary)
             {
@@ -1269,7 +1269,7 @@ void MshData::save(std::string const &fname, Results const &r) const
         fprintf(file, "%d\n", r.nt);                //   1. time step index
         fprintf(file, "%d\n", 1);                   //   2. nb of field component (1, 3 or 9)
         fprintf(file, "%lu\n", elems.size());       //   3. nb of entities in the view
-        for (int ii = 0; ii < elems.size(); ++ii)
+        for (size_t ii = 0; ii < elems.size(); ++ii)
         {
             if (binary)
             {
@@ -1295,7 +1295,7 @@ void MshData::save(std::string const &fname, Results const &r) const
         fprintf(file, "%d\n", r.nt);                //   1. time step index
         fprintf(file, "%d\n", 3);                   //   2. nb of field component (1, 3 or 9)
         fprintf(file, "%lu\n", nodes.size());       //   3. nb of entities in the view
-        for (int ii = 0; ii < nodes.size(); ++ii)
+        for (size_t ii = 0; ii < nodes.size(); ++ii)
         {
             Pt const &v = (*(p.second))[ii];
             if (binary)
@@ -1322,7 +1322,7 @@ void MshData::save(std::string const &fname, Results const &r) const
         fprintf(file, "%d\n", r.nt);                //   1. time step index
         fprintf(file, "%d\n", 3);                   //   2. nb of field component (1, 3 or 9)
         fprintf(file, "%lu\n", elems.size());       //   3. nb of entities in the view
-        for (int ii = 0; ii < elems.size(); ++ii)
+        for (size_t ii = 0; ii < elems.size(); ++ii)
         {
             Pt const &v = (*(p.second))[ii];
             if (binary)
@@ -1349,7 +1349,7 @@ void MshData::save(std::string const &fname, Results const &r) const
         fprintf(file, "%d\n", r.nt);                //   1. time step index
         fprintf(file, "%d\n", 9);                   //   2. nb of field component (1, 3 or 9)
         fprintf(file, "%lu\n", nodes.size());       //   3. nb of entities in the view
-        for (int ii = 0; ii < nodes.size(); ++ii)
+        for (size_t ii = 0; ii < nodes.size(); ++ii)
         {
             gmm::dense_matrix<double> const &v = (*(p.second))[ii];
             if (binary)
@@ -1382,7 +1382,7 @@ void MshData::save(std::string const &fname, Results const &r) const
         fprintf(file, "%d\n", r.nt);                //   1. time step index
         fprintf(file, "%d\n", 9);                   //   2. nb of field component (1, 3 or 9)
         fprintf(file, "%lu\n", elems.size());       //   3. nb of entities in the view
-        for (int ii = 0; ii < elems.size(); ++ii)
+        for (size_t ii = 0; ii < elems.size(); ++ii)
         {
             gmm::dense_matrix<double> const &v = (*(p.second))[ii];
             if (binary)
diff --git a/tbox/src/wMshDeformation.cpp b/tbox/src/wMshDeformation.cpp
index d24dd9d8..313648ea 100644
--- a/tbox/src/wMshDeformation.cpp
+++ b/tbox/src/wMshDeformation.cpp
@@ -19,6 +19,8 @@ MshDeformation::MshDeformation(std::shared_ptr<MshData> _msh, int fldNo,
                                std::vector<int> const &movBndNo):
                                wSharedObject(), msh(_msh)
 {
+    // Initialize multithreading
+    nthreads = 1;
     // Get mesh size and dimension
     mshSize = msh->nodes.size();
     nDim = 2;
@@ -27,22 +29,22 @@ MshDeformation::MshDeformation(std::shared_ptr<MshData> _msh, int fldNo,
     initializeField(fldGrp);
     // Create temporary boundary groups and initialize data structure
     std::vector<Group *> fxdBndGrp(fxdBndNo.size());
-    for (int i = 0; i < fxdBndGrp.size(); ++i) {
+    for (size_t i = 0; i < fxdBndGrp.size(); ++i) {
         Group * g = new Group(msh, fxdBndNo[i]);
         fxdBndGrp[i] = g;
     }
     initializeFixed(fxdBndGrp);
     std::vector<Group *> movBndGrp(movBndNo.size());
-    for (int i = 0; i < movBndGrp.size(); ++i) {
+    for (size_t i = 0; i < movBndGrp.size(); ++i) {
         Group * g = new Group(msh, movBndNo[i]);
         movBndGrp[i] = g;
     }
     initializeMoving(movBndGrp);
     // Delete temporary group
     delete fldGrp;
-    for (int i = 0; i < fxdBndGrp.size(); ++i)
+    for (size_t i = 0; i < fxdBndGrp.size(); ++i)
         delete fxdBndGrp[i];
-    for (int i = 0; i < movBndGrp.size(); ++i)
+    for (size_t i = 0; i < movBndGrp.size(); ++i)
         delete movBndGrp[i];
 }
 MshDeformation::MshDeformation(std::shared_ptr<MshData> _msh,
@@ -51,6 +53,8 @@ MshDeformation::MshDeformation(std::shared_ptr<MshData> _msh,
                                std::vector<std::string> const &movBndName):
                                wSharedObject(), msh(_msh)
 {
+    // Initialize multithreading
+    nthreads = 1;
     // Get mesh size and dimension
     mshSize = msh->nodes.size();
     nDim = 2;
@@ -59,22 +63,22 @@ MshDeformation::MshDeformation(std::shared_ptr<MshData> _msh,
     initializeField(fldGrp);
     // Create temporary boundary groups and initialize data structure
     std::vector<Group *> fxdBndGrp(fxdBndName.size());
-    for (int i = 0; i < fxdBndGrp.size(); ++i) {
+    for (size_t i = 0; i < fxdBndGrp.size(); ++i) {
         Group * g = new Group(msh, fxdBndName[i]);
         fxdBndGrp[i] = g;
     }
     initializeFixed(fxdBndGrp);
     std::vector<Group *> movBndGrp(movBndName.size());
-    for (int i = 0; i < movBndGrp.size(); ++i) {
+    for (size_t i = 0; i < movBndGrp.size(); ++i) {
         Group * g = new Group(msh, movBndName[i]);
         movBndGrp[i] = g;
     }
     initializeMoving(movBndGrp);
     // Delete temporary group
     delete fldGrp;
-    for (int i = 0; i < fxdBndGrp.size(); ++i)
+    for (size_t i = 0; i < fxdBndGrp.size(); ++i)
         delete fxdBndGrp[i];
-    for (int i = 0; i < movBndGrp.size(); ++i)
+    for (size_t i = 0; i < movBndGrp.size(); ++i)
         delete movBndGrp[i];
 }
 MshDeformation::MshDeformation(std::shared_ptr<MshData> _msh, int fldNo,
@@ -83,6 +87,8 @@ MshDeformation::MshDeformation(std::shared_ptr<MshData> _msh, int fldNo,
                                std::vector<int> const &intBndNo):
                                wSharedObject(), msh(_msh)
 {
+    // Initialize multithreading
+    nthreads = 1;
     // Get mesh size and dimension
     mshSize = msh->nodes.size();
     nDim = 2;
@@ -91,13 +97,13 @@ MshDeformation::MshDeformation(std::shared_ptr<MshData> _msh, int fldNo,
     initializeField(fldGrp);
     // Create temporary boundary groups and initialize data structure
     std::vector<Group *> fxdBndGrp(fxdBndNo.size());
-    for (int i = 0; i < fxdBndGrp.size(); ++i) {
+    for (size_t i = 0; i < fxdBndGrp.size(); ++i) {
         Group * g = new Group(msh, fxdBndNo[i]);
         fxdBndGrp[i] = g;
     }
     initializeFixed(fxdBndGrp);
     std::vector<Group *> movBndGrp(movBndNo.size());
-    for (int i = 0; i < movBndGrp.size(); ++i) {
+    for (size_t i = 0; i < movBndGrp.size(); ++i) {
         Group * g = new Group(msh, movBndNo[i]);
         movBndGrp[i] = g;
     }
@@ -109,9 +115,9 @@ MshDeformation::MshDeformation(std::shared_ptr<MshData> _msh, int fldNo,
     initializeInternal(intBndLnk);
     // Delete temporary groups and link
     delete fldGrp;
-    for (int i = 0; i < fxdBndGrp.size(); ++i)
+    for (size_t i = 0; i < fxdBndGrp.size(); ++i)
         delete fxdBndGrp[i];
-    for (int i = 0; i < movBndGrp.size(); ++i)
+    for (size_t i = 0; i < movBndGrp.size(); ++i)
         delete movBndGrp[i];
     delete intBndLnk;
 }
@@ -122,6 +128,8 @@ MshDeformation::MshDeformation(std::shared_ptr<MshData> _msh,
                                std::vector<std::string> const &intBndName):
                                wSharedObject(), msh(_msh)
 {
+    // Initialize multithreading
+    nthreads = 1;
     // Get mesh size and dimension
     mshSize = msh->nodes.size();
     nDim = 2;
@@ -130,13 +138,13 @@ MshDeformation::MshDeformation(std::shared_ptr<MshData> _msh,
     initializeField(fldGrp);
     // Create temporary boundary groups and initialize data structure
     std::vector<Group *> fxdBndGrp(fxdBndName.size());
-    for (int i = 0; i < fxdBndGrp.size(); ++i) {
+    for (size_t i = 0; i < fxdBndGrp.size(); ++i) {
         Group * g = new Group(msh, fxdBndName[i]);
         fxdBndGrp[i] = g;
     }
     initializeFixed(fxdBndGrp);
     std::vector<Group *> movBndGrp(movBndName.size());
-    for (int i = 0; i < movBndGrp.size(); ++i) {
+    for (size_t i = 0; i < movBndGrp.size(); ++i) {
         Group * g = new Group(msh, movBndName[i]);
         movBndGrp[i] = g;
     }
@@ -148,9 +156,9 @@ MshDeformation::MshDeformation(std::shared_ptr<MshData> _msh,
     initializeInternal(intBndLnk);
     // Delete temporary groups and link
     delete fldGrp;
-    for (int i = 0; i < fxdBndGrp.size(); ++i)
+    for (size_t i = 0; i < fxdBndGrp.size(); ++i)
         delete fxdBndGrp[i];
-    for (int i = 0; i < movBndGrp.size(); ++i)
+    for (size_t i = 0; i < movBndGrp.size(); ++i)
         delete movBndGrp[i];
     delete intBndLnk;
 }
@@ -244,7 +252,7 @@ void MshDeformation::initializeInternal(Link * intBndLnk)
 void MshDeformation::savePos()
 {
     initPos.resize(nDim*movBndNodes.size());
-    for (int i = 0; i < movBndNodes.size(); ++i)
+    for (size_t i = 0; i < movBndNodes.size(); ++i)
         for (int m = 0; m < nDim; ++m)
             initPos[nDim*i+m] = movBndNodes[i]->pos.x[m];
 }
@@ -252,6 +260,8 @@ void MshDeformation::savePos()
 /**
  * @brief Deform the mesh following linear elasticity law
  * @authors Adrien Crovato
+ * Dwight RP, Robust Mesh Deformation using the Linear Elasticity Equations.
+ * Journal of Computational Fluid Dynamics 12: 401-406, 2009
  */
 void MshDeformation::deform()
 {
@@ -284,10 +294,10 @@ void MshDeformation::deform()
 
         // Assembly
         tbb::spin_mutex::scoped_lock lock(mutex);
-        for (int i = 0; i < e->nodes.size(); ++i) {
+        for (size_t i = 0; i < e->nodes.size(); ++i) {
             for (int m = 0; m < nDim; ++m) {
                 int rowi = nDim*(e->nodes[i]->row)+m;
-                for (int j = 0; j < e->nodes.size(); ++j) {
+                for (size_t j = 0; j < e->nodes.size(); ++j) {
                     for (int n = 0; n < nDim; ++n) {
                         int rowj = nDim*(e->nodes[j]->row)+n;
                         Kt(rowi, rowj) += Ke(nDim*i+m, nDim*j+n);
@@ -303,7 +313,7 @@ void MshDeformation::deform()
             int row0 = nDim*(p.first->row)+m;
             int row1 = nDim*(p.second->row)+m;
             // -> Add the lines a and b on b, and reset a line
-            for (int j = 0; j < Kt.ncols(); j++) {
+            for (size_t j = 0; j < Kt.ncols(); j++) {
                 Kt(row1, j) = Kt(row1, j) + Kt(row0, j);
                 Kt(row0, j) = 0.;
             }
@@ -315,7 +325,7 @@ void MshDeformation::deform()
         }
     }
     // Apply Dirichlet condition on fixed boundaries
-    for (int i = 0; i < fxdBndNodes.size(); i++) {
+    for (size_t i = 0; i < fxdBndNodes.size(); i++) {
         for (int m = 0; m < nDim; ++m) {
             int rowi = nDim*(fxdBndNodes[i]->row)+m;
             Kt.row(rowi) = gmm::wsvector<double>(nDim*mshSize); // clear row
@@ -324,7 +334,7 @@ void MshDeformation::deform()
         }
     }
     // Apply Dirichlet condition on fixed boundaries
-    for (int i = 0; i < movBndNodes.size(); i++) {
+    for (size_t i = 0; i < movBndNodes.size(); i++) {
         for (int m = 0; m < nDim; ++m) {
             int rowi = nDim*(movBndNodes[i]->row)+m;
             Kt.row(rowi) = gmm::wsvector<double>(nDim*mshSize); // clear row
diff --git a/tbox/src/wQuad4.cpp b/tbox/src/wQuad4.cpp
index a4b7be28..d2a6f6ed 100644
--- a/tbox/src/wQuad4.cpp
+++ b/tbox/src/wQuad4.cpp
@@ -72,7 +72,7 @@ void Quad4::buildS(gmm::dense_matrix<double> &S)
 
     gmm::dense_matrix<double> Sk(nodes.size(), nodes.size());
 
-    for (int k = 0; k < gauss.p.size(); ++k)
+    for (size_t k = 0; k < gauss.p.size(); ++k)
     {
         // calcul de la matrice jacobienne (au point de Gauss "ksi")
         double detJ = buildJ(k);
diff --git a/tbox/src/wSfLine2.cpp b/tbox/src/wSfLine2.cpp
index fa6e584e..e52f11be 100644
--- a/tbox/src/wSfLine2.cpp
+++ b/tbox/src/wSfLine2.cpp
@@ -13,7 +13,7 @@ void SfLine2::eval(Pt const &ksi, std::vector<double> &ff) const
 void SfLine2::evalD(int i, Pt const &ksi, std::vector<double> &dff) const
 {
     dff.resize(1);
-    double x = ksi.x[0];
+    //double x = ksi.x[0]; // unused
 
     switch (i)
     {
diff --git a/tbox/src/wSfTetra4.cpp b/tbox/src/wSfTetra4.cpp
index f1382bbd..a79c3cda 100644
--- a/tbox/src/wSfTetra4.cpp
+++ b/tbox/src/wSfTetra4.cpp
@@ -19,9 +19,9 @@ void SfTetra4::eval(Pt const &ksi, std::vector<double> &ff) const
 void SfTetra4::evalD(int i, Pt const &ksi, std::vector<double> &dff) const
 {
     dff.resize(3);
-    double x = ksi.x[0];
-    double y = ksi.x[1];
-    double z = ksi.x[2];
+    //double x = ksi.x[0];  // unused
+    //double y = ksi.x[1];
+    //double z = ksi.x[2];
 
     switch (i)
     {
diff --git a/tbox/src/wSfTri3.cpp b/tbox/src/wSfTri3.cpp
index 83ebe78a..7500ad2a 100644
--- a/tbox/src/wSfTri3.cpp
+++ b/tbox/src/wSfTri3.cpp
@@ -17,8 +17,8 @@ void SfTri3::eval(Pt const &ksi, std::vector<double> &ff) const
 void SfTri3::evalD(int i, Pt const &ksi, std::vector<double> &dff) const
 {
     dff.resize(2);
-    double x = ksi.x[0];
-    double y = ksi.x[1];
+    //double x = ksi.x[0];  // unused
+    //double y = ksi.x[1];
 
     switch (i)
     {
diff --git a/tbox/src/wTag.h b/tbox/src/wTag.h
index 946701ea..0838aca9 100644
--- a/tbox/src/wTag.h
+++ b/tbox/src/wTag.h
@@ -23,7 +23,7 @@ class TBOX_API Tag : public wObject
     std::string name;             ///< name given in gmsh
     std::vector<Element *> elems; ///< list of elements with this tag
 
-    Tag(int _no, std::string const &_name = Tag::defaultName(), int _dim = 0) : wObject(), no(_no), name(_name), dim(_dim) {}
+    Tag(int _no, std::string const &_name = Tag::defaultName(), int _dim = 0) : wObject(), no(_no), dim(_dim), name(_name) {}
     static const std::string &defaultName()
     {
         static const std::string name("---");
diff --git a/tbox/src/wTetra4.cpp b/tbox/src/wTetra4.cpp
index c1ee35dd..5b92d411 100644
--- a/tbox/src/wTetra4.cpp
+++ b/tbox/src/wTetra4.cpp
@@ -63,7 +63,7 @@ void Tetra4::buildK_mechanic(gmm::dense_matrix<double> &K_e, gmm::dense_matrix<d
 
     double epsilon = 2e-16;
 
-    for (int a = 0; a < gauss.p.size(); ++a)
+    for (size_t a = 0; a < gauss.p.size(); ++a)
     {
         //Pt ksi(gauss.p[a]);
 
@@ -178,7 +178,7 @@ void Tetra4::buildS_thermomechanic(gmm::dense_matrix<double> &S_e, gmm::dense_ma
 
     double epsilon = 2e-16;
 
-    for (int a = 0; a < gauss.p.size(); ++a)
+    for (size_t a = 0; a < gauss.p.size(); ++a)
     {
         //Pt ksi(gauss.p[a]);
 
@@ -222,7 +222,7 @@ void Tetra4::buildL_thermic(gmm::dense_matrix<double> &L_e, gmm::dense_matrix<do
 
     double epsilon = 2e-16;
 
-    for (int a = 0; a < gauss.p.size(); ++a)
+    for (size_t a = 0; a < gauss.p.size(); ++a)
     {
         //Pt ksi(gauss.p[a]);
 
@@ -270,7 +270,7 @@ void Tetra4::strain_stress(gmm::dense_matrix<double> &Strain, gmm::dense_matrix<
     gmm::dense_matrix<double> du_d_Phi(3, 3);
     gmm::dense_matrix<double> u_e(3, nodes.size());
 
-    for (auto i = 0; i < nodes.size(); ++i)
+    for (size_t i = 0; i < nodes.size(); ++i)
     {
         u_e(0, i) = u[3 * (nodes[i]->row)];
         u_e(1, i) = u[3 * (nodes[i]->row) + 1];
@@ -281,16 +281,16 @@ void Tetra4::strain_stress(gmm::dense_matrix<double> &Strain, gmm::dense_matrix<
 
     double epsilon = 2e-16;
 
-    for (int a = 0; a < gauss.p.size(); ++a)
+    for (size_t a = 0; a < gauss.p.size(); ++a)
     {
         // calcul de la matrice jacobienne (au point de Gauss "ksi")
         gmm::dense_matrix<double> J(3, 3);
-        double detJ = buildJ(a, J);
+        buildJ(a, J);
         gmm::lu_inverse(J); // J contient maintenant Jinv!
 
         gmm::clear(du_d_Phi);
 
-        for (auto i = 0; i < nodes.size(); ++i)
+        for (size_t i = 0; i < nodes.size(); ++i)
         {
             std::vector<double> &dffi = cache.dff[a][i];
             for (auto k = 0; k < 3; ++k)
@@ -339,27 +339,23 @@ void Tetra4::strain_stress_x_y_z( gmm::dense_matrix<double> &Strain, gmm::dense_
     gmm::dense_matrix<double> du_d_Phi( 3 , 3 );
     gmm::dense_matrix<double> u_e( 3 , nodes.size() );
 
-    for  ( auto i = 0; i < nodes.size(); ++i )
+    for  ( size_t i = 0; i < nodes.size(); ++i )
       {
         u_e(0,i) = x[i];
         u_e(1,i) = y[i];
         u_e(2,i) = z[i];
       }
 
-    // Machine epsilon
-  
-    double epsilon = 2e-16;
-
-    for(int a=0; a<gauss.p.size(); ++a)
+    for(size_t a=0; a<gauss.p.size(); ++a)
     {
         // calcul de la matrice jacobienne (au point de Gauss "ksi")
         gmm::dense_matrix<double> J(3,3);
-        double detJ = buildJ(a, J);
+        buildJ(a, J);
         gmm::lu_inverse(J);                 // J contient maintenant Jinv!
 
         gmm::clear(du_d_Phi);
       
-        for ( auto i = 0; i < nodes.size(); ++i )
+        for ( size_t i = 0; i < nodes.size(); ++i )
            {
               std::vector<double> &dffi = cache.dff[a][i];
               for  ( auto k = 0; k < 3; ++k )
@@ -410,27 +406,23 @@ Tetra4::strain_stress_x_y_z_T( gmm::dense_matrix<double> &Strain, gmm::dense_mat
     gmm::dense_matrix<double> du_d_Phi( 3 , 3 );
     gmm::dense_matrix<double> u_e( 3 , nodes.size() );
 
-    for  ( auto i = 0; i < nodes.size(); ++i )
+    for  ( size_t i = 0; i < nodes.size(); ++i )
       {
         u_e(0,i) = x[i];
         u_e(1,i) = y[i];
         u_e(2,i) = z[i];
       }
 
-    // Machine epsilon
-  
-    double epsilon = 2e-16;
-
-    for(int a=0; a<gauss.p.size(); ++a)
+    for(size_t a=0; a<gauss.p.size(); ++a)
     {
         // calcul de la matrice jacobienne (au point de Gauss "ksi")
         gmm::dense_matrix<double> J(3,3);
-        double detJ = buildJ(a, J);
+        buildJ(a, J);
         gmm::lu_inverse(J);                 // J contient maintenant Jinv!
 
         gmm::clear(du_d_Phi);
       
-        for ( auto i = 0; i < nodes.size(); ++i )
+        for ( size_t i = 0; i < nodes.size(); ++i )
            {
               std::vector<double> &dffi = cache.dff[a][i];
               for  ( auto k = 0; k < 3; ++k )
@@ -457,7 +449,7 @@ Tetra4::strain_stress_x_y_z_T( gmm::dense_matrix<double> &Strain, gmm::dense_mat
        for ( size_t j = 0; j < 3; ++j )
        {
           double tmp = 0.;
-          for ( auto k = 0; k < nodes.size(); ++k )
+          for ( size_t k = 0; k < nodes.size(); ++k )
             tmp += D(i,j)*T[k];
           tmp/=nodes.size();
           Stress(i,j) += tmp;
@@ -476,7 +468,7 @@ Tetra4::buildM(gmm::dense_matrix<double> &M)
     gmm::dense_matrix<double> Mk(nodes.size(), nodes.size());
     gmm::dense_matrix<double> J(3, 3);
 
-    for (int k = 0; k < gauss.p.size(); ++k)
+    for (size_t k = 0; k < gauss.p.size(); ++k)
     {
         //std::cout << "gp: " << k << " at " << gauss.p[k] << " with weight = " << gauss.w[k] << "\n";
 
diff --git a/tbox/src/wTri3.cpp b/tbox/src/wTri3.cpp
index 96e8b97a..4c0e7377 100644
--- a/tbox/src/wTri3.cpp
+++ b/tbox/src/wTri3.cpp
@@ -131,7 +131,7 @@ void Tri3::buildK(gmm::dense_matrix<double> &K, std::vector<double> const &u, Fc
     std::vector<double> factor1(2);
     std::vector<double> factor2(2);
 
-    for (int k = 0; k < gauss.p.size(); ++k)
+    for (size_t k = 0; k < gauss.p.size(); ++k)
     {
         //std::cout << "\tk=" << k << "\n";
 
@@ -143,12 +143,12 @@ void Tri3::buildK(gmm::dense_matrix<double> &K, std::vector<double> const &u, Fc
 
         // calcul de K (au point de Gauss k)
 
-        for (int i = 0; i < nodes.size(); ++i)
+        for (size_t i = 0; i < nodes.size(); ++i)
         {
             std::vector<double> &dffi = cache.dff[k][i];
             gmm::mult(J, gmm::col_vector(dffi), gmm::col_vector(factor1));
 
-            for (int j = 0; j < nodes.size(); ++j)
+            for (size_t j = 0; j < nodes.size(); ++j)
             {
                 std::vector<double> &dffj = cache.dff[k][j];
 
@@ -168,7 +168,7 @@ void Tri3::buildK(gmm::dense_matrix<double> &K, std::vector<double> const &u, Fc
 
     if (fake) // fake run - fill MPI job list
     {
-        for (int k = 0; k < gauss.p.size(); ++k)
+        for (size_t k = 0; k < gauss.p.size(); ++k)
         {
             gmm::dense_matrix<double> fk(2, 2);
             fct.eval(*this, u, k, fk, fake);
@@ -182,7 +182,7 @@ void Tri3::buildK(gmm::dense_matrix<double> &K, std::vector<double> const &u, Fc
         std::vector<double> factor1(2);
         std::vector<double> factor2(2);
 
-        for (int k = 0; k < gauss.p.size(); ++k)
+        for (size_t k = 0; k < gauss.p.size(); ++k)
         {
             //std::cout << "\tk=" << k << "\n";
 
@@ -195,13 +195,13 @@ void Tri3::buildK(gmm::dense_matrix<double> &K, std::vector<double> const &u, Fc
 
             // calcul de K (au point de Gauss k)
 
-            for (int i = 0; i < nodes.size(); ++i)
+            for (size_t i = 0; i < nodes.size(); ++i)
             {
                 std::vector<double> &dffi = cache.dff[k][i];
                 gmm::mult(J, gmm::col_vector(dffi), gmm::col_vector(factor0));
                 gmm::mult(fk, gmm::col_vector(factor0), gmm::col_vector(factor1));
 
-                for (int j = 0; j < nodes.size(); ++j)
+                for (size_t j = 0; j < nodes.size(); ++j)
                 {
                     std::vector<double> &dffj = cache.dff[k][j];
 
@@ -230,7 +230,7 @@ void Tri3::buildK(gmm::dense_matrix<double> &K, std::vector<double> const &u, Fc
     std::vector<double> factor1(2);
     std::vector<double> factor2(2);
 
-    for (int k = 0; k < gauss.p.size(); ++k)
+    for (size_t k = 0; k < gauss.p.size(); ++k)
     {
         //std::cout << "\tk=" << k << "\n";      
      
@@ -241,12 +241,12 @@ void Tri3::buildK(gmm::dense_matrix<double> &K, std::vector<double> const &u, Fc
 
         // calcul de K (au point de Gauss k)
 
-        for (int i = 0; i < nodes.size(); ++i)
+        for (size_t i = 0; i < nodes.size(); ++i)
         {
             std::vector<double> &dffi = cache.dff[k][i];
             gmm::mult(J, gmm::col_vector(dffi), gmm::col_vector(factor1));
 
-            for (int j = 0; j < nodes.size(); ++j)
+            for (size_t j = 0; j < nodes.size(); ++j)
             {
                 std::vector<double> &dffj = cache.dff[k][j];
 
@@ -270,14 +270,14 @@ void Tri3::buildK_mechanic(gmm::dense_matrix<double> &K, gmm::dense_matrix<doubl
     gmm::clear(K);
     std::vector<double> factori(2);
 
-    for (int k = 0; k < gauss.p.size(); ++k) {
+    for (size_t k = 0; k < gauss.p.size(); ++k) {
         // Determinant and inverse of Jacobian
         double detJ = mem.getDetJ(k);
         gmm::dense_matrix<double> const &invJ = mem.getJinv(k);
 
         // Fill B matrix
         gmm::dense_matrix<double> B(3, 2*nodes.size());
-        for (int i = 0; i < nodes.size(); ++i) {
+        for (size_t i = 0; i < nodes.size(); ++i) {
             // Compute [Ni,x Ni,y]
             std::vector<double> &dffi = cache.dff[k][i];
             gmm::mult(invJ, gmm::col_vector(dffi), gmm::col_vector(factori));
@@ -317,7 +317,7 @@ void Tri3::buildNK(gmm::dense_matrix<double> &K, std::vector<double> const &u, F
     this->buildK(K, u, fct);
 
     // Assembly of first term: df du*dN_j du*dN_i
-    for (int k = 0; k < gauss.p.size(); ++k)
+    for (size_t k = 0; k < gauss.p.size(); ++k)
     {
         //std::cout << "\tk=" << k << "\n";
 
@@ -333,10 +333,10 @@ void Tri3::buildNK(gmm::dense_matrix<double> &K, std::vector<double> const &u, F
         this->computeGrad(u, gradu, k);
 
         // computation of K
-        for (int i = 0; i < nodes.size(); ++i) {
+        for (size_t i = 0; i < nodes.size(); ++i) {
             std::vector<double> &dffi = cache.dff[k][i];
             gmm::mult(J, gmm::col_vector(dffi), gmm::col_vector(factor1));
-            for (int j = 0; j < nodes.size(); ++j) {
+            for (size_t j = 0; j < nodes.size(); ++j) {
                 std::vector<double> &dffj = cache.dff[k][j];
                 gmm::mult(J, gmm::col_vector(dffj), gmm::col_vector(factor2));
                 K(i, j) += gmm::vect_sp(gradu, factor1) * gmm::vect_sp(gradu, factor2) * gauss.w[k] * detJ * dfk;
@@ -360,7 +360,7 @@ void Tri3::builds(std::vector<double> &s, std::vector<double> const &u, Fct0 con
 
     gmm::clear(s);
 
-    for (int k = 0; k < gauss.p.size(); ++k)
+    for (size_t k = 0; k < gauss.p.size(); ++k)
     {
         double sk = f.eval(*this, u, k);
         double detJ = mem.getDetJ(k);
@@ -383,7 +383,7 @@ void Tri3::buildNs(std::vector<double> &s, std::vector<double> const &u, Fct0 co
     std::vector<double> factor1(2);
     gmm::clear(s);
 
-    for (int k = 0; k < gauss.p.size(); ++k) {
+    for (size_t k = 0; k < gauss.p.size(); ++k) {
         std::vector<double> gradu(2, 0.);
         this->computeGrad(u, gradu, k);
         double fk = f.eval(*this, u, k);
@@ -391,7 +391,7 @@ void Tri3::buildNs(std::vector<double> &s, std::vector<double> const &u, Fct0 co
         gmm::dense_matrix<double> const &J = mem.getJinv(k);
 
         // s(i) = f * gradu * gradN(i)
-        for (int i = 0; i < nodes.size(); ++i) {
+        for (size_t i = 0; i < nodes.size(); ++i) {
             std::vector<double> &dffi = cache.dff[k][i];
             gmm::mult(J, gmm::col_vector(dffi), gmm::col_vector(factor1));
             s[i] += gmm::vect_sp(gradu, factor1) * gauss.w[k] * detJ * fk;
@@ -414,7 +414,7 @@ void Tri3::buildNs(std::vector<double> &s, std::vector<double> const &u, Fct0 co
     std::vector<double> factor1(2);
     gmm::clear(s);
 
-    for (int k = 0; k < gauss.p.size(); ++k) {
+    for (size_t k = 0; k < gauss.p.size(); ++k) {
         std::vector<double> gradu(2, 0.);
         this->computeGrad(u, gradu, k);
         double fk = f.eval(*this, u, k) - fu; // fkTilda = fk - fu
@@ -422,7 +422,7 @@ void Tri3::buildNs(std::vector<double> &s, std::vector<double> const &u, Fct0 co
         gmm::dense_matrix<double> const &J = mem.getJinv(k);
 
         // s(i) = f * gradu * gradN(i)
-        for (int i = 0; i < nodes.size(); ++i) {
+        for (size_t i = 0; i < nodes.size(); ++i) {
             std::vector<double> &dffi = cache.dff[k][i];
             gmm::mult(J, gmm::col_vector(dffi), gmm::col_vector(factor1));
             s[i] += gmm::vect_sp(gradu, factor1) * gauss.w[k] * detJ * fk;
@@ -485,7 +485,7 @@ void Tri3::buildS(gmm::dense_matrix<double> &S)
 
     gmm::dense_matrix<double> Sk(nodes.size(), nodes.size());
 
-    for (int k = 0; k < gauss.p.size(); ++k)
+    for (size_t k = 0; k < gauss.p.size(); ++k)
     {
         // calcul de la matrice jacobienne (au point de Gauss "ksi")
         double detJ = buildJ(k);
@@ -560,7 +560,7 @@ void Tri3::computeGrad2(std::vector<double> const &u, double &grad2, int k)
 {
     std::vector<double> grad(2);
     computeGrad(u, grad, k);
-    for (int i = 0; i < grad.size(); ++i)
+    for (size_t i = 0; i < grad.size(); ++i)
         grad2 += grad[i]*grad[i];
 
     //std::cout << "grad2=" << grad2 << '\n';
@@ -578,7 +578,7 @@ void Tri3::computeqV(std::vector<double> const &u, std::vector<double> &qV, Fct0
 
     gmm::clear(qV);
 
-    for (int k = 0; k < gauss.p.size(); ++k)
+    for (size_t k = 0; k < gauss.p.size(); ++k)
     {
         // evaluation du gradient
         std::vector<double> gradk(2);
@@ -603,7 +603,7 @@ void Tri3::computeqint(std::vector<double> const &u, std::vector<double> &qV, Fc
 
     gmm::clear(qV);
 
-    for (int k = 0; k < gauss.p.size(); ++k)
+    for (size_t k = 0; k < gauss.p.size(); ++k)
     {
         // evaluation du gradient
         std::vector<double> gradk(2);
@@ -620,7 +620,7 @@ void Tri3::computeqint(std::vector<double> const &u, std::vector<double> &qV, Fc
         std::vector<double> factor1(2);
         gmm::dense_matrix<double> const &J = mem.getJinv(k);
 
-        for (int i = 0; i < nodes.size(); ++i)
+        for (size_t i = 0; i < nodes.size(); ++i)
         {
             std::vector<double> &dffi = cache.dff[k][i];
             gmm::mult(J, gmm::col_vector(dffi), gmm::col_vector(factor1));
@@ -642,7 +642,7 @@ void Tri3::computeqV(std::vector<double> const &u, std::vector<double> &qV, Fct2
 
     gmm::clear(qV);
 
-    for (int k = 0; k < gauss.p.size(); ++k)
+    for (size_t k = 0; k < gauss.p.size(); ++k)
     {
         // evaluation du gradient
         std::vector<double> gradk(2);
@@ -673,7 +673,7 @@ Tri3::computeV(std::vector<double> const &u, Fct0 const &fct)
 
     double V = 0.0;
 
-    for (int k = 0; k < gauss.p.size(); ++k)
+    for (size_t k = 0; k < gauss.p.size(); ++k)
     {
         // evaluation de la fct a intégrer
         double fk = fct.eval(*this, u, k);
@@ -691,7 +691,7 @@ void Tri3::computeV(std::vector<double> const &u, gmm::dense_matrix<double> &out
 
     gmm::clear(out);
 
-    for (int k = 0; k < gauss.p.size(); ++k)
+    for (size_t k = 0; k < gauss.p.size(); ++k)
     {
         // evaluation de la fct a intégrer
         gmm::dense_matrix<double> fk(2, 2);
diff --git a/chkencoding.py b/utilities_to_be_sorted/chkencoding.py
similarity index 100%
rename from chkencoding.py
rename to utilities_to_be_sorted/chkencoding.py
diff --git a/cppcheck.py b/utilities_to_be_sorted/cppcheck.py
similarity index 100%
rename from cppcheck.py
rename to utilities_to_be_sorted/cppcheck.py
diff --git a/devenv-mingw.bat b/utilities_to_be_sorted/devenv-mingw.bat
similarity index 100%
rename from devenv-mingw.bat
rename to utilities_to_be_sorted/devenv-mingw.bat
diff --git a/devenv-vs2015.bat b/utilities_to_be_sorted/devenv-vs2015.bat
similarity index 100%
rename from devenv-vs2015.bat
rename to utilities_to_be_sorted/devenv-vs2015.bat
diff --git a/receive_workspace.sh b/utilities_to_be_sorted/receive_workspace.sh
similarity index 100%
rename from receive_workspace.sh
rename to utilities_to_be_sorted/receive_workspace.sh
diff --git a/send_workspace.sh b/utilities_to_be_sorted/send_workspace.sh
similarity index 100%
rename from send_workspace.sh
rename to utilities_to_be_sorted/send_workspace.sh
diff --git a/waves/src/wForwardEuler.cpp b/waves/src/wForwardEuler.cpp
index 4fdf639a..4293ace7 100644
--- a/waves/src/wForwardEuler.cpp
+++ b/waves/src/wForwardEuler.cpp
@@ -77,7 +77,7 @@ void ForwardEuler::start()
         // equation #2
         gmm::mult(K, u1, tmp1);
         gmm::mult(S, v1, tmp2);
-        for (int i = 0; i < gmm::vect_size(Md); ++i)
+        for (size_t i = 0; i < gmm::vect_size(Md); ++i)
             v1[i] = v1[i] - dt / Md[i] * (tmp1[i] + tmp2[i]);
 
         if (nt % savefreq == 0)
diff --git a/waves/src/wNewmark.cpp b/waves/src/wNewmark.cpp
index 8eee05f5..5581f07b 100644
--- a/waves/src/wNewmark.cpp
+++ b/waves/src/wNewmark.cpp
@@ -76,7 +76,7 @@ void Newmark::start()
         // equation #2
         gmm::mult(K, u1, tmp1);
         gmm::mult(S, v1, tmp2);
-        for (int i = 0; i < gmm::vect_size(Md); ++i)
+        for (size_t i = 0; i < gmm::vect_size(Md); ++i)
             v1[i] = v1[i] - dt / Md[i] * (tmp1[i] + tmp2[i]);
 
         if (nt % savefreq == 0)
diff --git a/waves/src/wRungeKutta.cpp b/waves/src/wRungeKutta.cpp
index 409b9ca0..a156130f 100644
--- a/waves/src/wRungeKutta.cpp
+++ b/waves/src/wRungeKutta.cpp
@@ -127,6 +127,6 @@ void RungeKutta::predictor(std::vector<double> &up2, std::vector<double> &vp2, /
     // equation #2
     gmm::mult(K, up1, tmp1);
     gmm::mult(S, vp1, tmp2);
-    for (int i = 0; i < gmm::vect_size(Md); ++i)
+    for (size_t i = 0; i < gmm::vect_size(Md); ++i)
         vp2[i] = v0[i] - ak * dt / Md[i] * (tmp1[i] + tmp2[i]);
 }
diff --git a/waves/src/wTimeIntegration.cpp b/waves/src/wTimeIntegration.cpp
index e436a4c3..f8f3125c 100644
--- a/waves/src/wTimeIntegration.cpp
+++ b/waves/src/wTimeIntegration.cpp
@@ -94,10 +94,10 @@ void TimeIntegration::buildS(gmm::csr_matrix<double> &S2)
                              // assembly
                              tbb::spin_mutex::scoped_lock lock(mutex);
 
-                             for (int ii = 0; ii < e->nodes.size(); ++ii)
+                             for (size_t ii = 0; ii < e->nodes.size(); ++ii)
                              {
                                  Node *nodi = e->nodes[ii];
-                                 for (int jj = 0; jj < e->nodes.size(); ++jj)
+                                 for (size_t jj = 0; jj < e->nodes.size(); ++jj)
                                  {
                                      Node *nodj = e->nodes[jj];
                                      S(nodi->row, nodj->row) += bnd->c * Se(ii, jj);
@@ -156,10 +156,10 @@ void TimeIntegration::buildKM_tbb_lambda(gmm::csr_matrix<double> &K2,
                              // assembly
                              tbb::spin_mutex::scoped_lock lock(mutex);
 
-                             for (auto ii = 0; ii < e->nodes.size(); ++ii)
+                             for (size_t ii = 0; ii < e->nodes.size(); ++ii)
                              {
                                  Node *nodi = e->nodes[ii];
-                                 for (int jj = 0; jj < e->nodes.size(); ++jj)
+                                 for (size_t jj = 0; jj < e->nodes.size(); ++jj)
                                  {
                                      Node *nodj = e->nodes[jj];
                                      K(nodi->row, nodj->row) += (mat->c * mat->c) * Ke(ii, jj);
@@ -199,10 +199,10 @@ void TimeIntegration::build(MATTYPE type, gmm::csr_matrix<double> &A2)
 
                              // assembly
                              tbb::spin_mutex::scoped_lock lock(mutex);
-                             for (auto ii = 0; ii < e->nodes.size(); ++ii)
+                             for (size_t ii = 0; ii < e->nodes.size(); ++ii)
                              {
                                  Node *nodi = e->nodes[ii];
-                                 for (int jj = 0; jj < e->nodes.size(); ++jj)
+                                 for (size_t jj = 0; jj < e->nodes.size(); ++jj)
                                  {
                                      Node *nodj = e->nodes[jj];
                                      A(nodi->row, nodj->row) += Ae(ii, jj);
-- 
GitLab