From 937f12a11c8952929a1a28deb0aa25f3b4a06a2c Mon Sep 17 00:00:00 2001
From: Gauthier Becker <gauthierbecker@gmail.com>
Date: Sat, 16 Apr 2011 12:52:51 +0000
Subject: [PATCH] Create non linear system to have a system that return the
 values of unknowns and not their increments. Works with GMM Taucs and PETSc.
 clean the staticDofManager (there is no umap anymore)

---
 Solver/dofManager.h      | 2 +-
 Solver/linearSystemGMM.h | 4 +++-
 2 files changed, 4 insertions(+), 2 deletions(-)

diff --git a/Solver/dofManager.h b/Solver/dofManager.h
index 02c16c65f5..99d1d6a417 100644
--- a/Solver/dofManager.h
+++ b/Solver/dofManager.h
@@ -178,7 +178,7 @@ class dofManager{
     if (ghosted.find(key) != ghosted.end()) return;
     ghosted[key] = procId;
   }
-  virtual inline void numberDof(Dof key) // derived in staticDofManager in NonLinearSolver project
+  inline void numberDof(Dof key)
   {
     if (fixed.find(key) != fixed.end()) return;
     if (constraints.find(key) != constraints.end()) return;
diff --git a/Solver/linearSystemGMM.h b/Solver/linearSystemGMM.h
index 0b8da4a2e3..a611822877 100644
--- a/Solver/linearSystemGMM.h
+++ b/Solver/linearSystemGMM.h
@@ -17,9 +17,11 @@
 
 template <class scalar>
 class linearSystemGmm : public linearSystem<scalar> {
+ protected:
+  std::vector<scalar> *_x; // the nonLinearSystemGmm has to access to this vector
  private:
   gmm::row_matrix<gmm::wsvector<scalar> > *_a;
-  std::vector<scalar> *_b, *_x;
+  std::vector<scalar> *_b;
   double _prec;
   int _noisy, _gmres;
  public:
-- 
GitLab