diff --git a/Geo/MHexahedron.h b/Geo/MHexahedron.h
index d7cb5336c3bcead07e537af98193e3f4ab048d57..4c0d7df753296119bc6e4e2b60506cca7abecbbf 100644
--- a/Geo/MHexahedron.h
+++ b/Geo/MHexahedron.h
@@ -232,6 +232,7 @@ class MHexahedron20 : public MHexahedron {
                                 9, 10, 12, 14, 15, 16, 18, 19, 17};
     return getVertex(map[num]);
   }
+  virtual MVertex *getVertexINP(int num){ return getVertexBDF(); }
   virtual MVertex *getVertexDIFF(int num)
   {
     static const int map[20] = {2, 3, 7, 6, 0, 1, 5, 4, 9, 18, 12,
@@ -300,6 +301,7 @@ class MHexahedron20 : public MHexahedron {
   virtual int getTypeForUNV() const { return 116; } // solid parabolic brick
   //virtual int getTypeForVTK() const { return 25; }
   virtual const char *getStringForBDF() const { return "CHEXA"; }
+  virtual const char *getStringForINP() const { return "C3D20"; }
   virtual const char *getStringForDIFF() const { return "ElmB20n3D"; }
   virtual void revert()
   {
diff --git a/Geo/MPrism.h b/Geo/MPrism.h
index 8702faa1c16a0d770f6b16f2ffe18ced4de107aa..7e7ec8545d064defea8861bfdea26f47eb37d5f0 100644
--- a/Geo/MPrism.h
+++ b/Geo/MPrism.h
@@ -129,36 +129,6 @@ class MPrism : public MElement {
   virtual const polynomialBasis* getFunctionSpace(int o=-1) const;
   virtual const JacobianBasis* getJacobianFuncSpace(int o=-1) const;
   virtual int getVolumeSign();
-/*  virtual void getShapeFunctions(double u, double v, double w, double s[], int o)
-  {
-    s[0] = (1. - u - v) * (1. - w) * 0.5;
-    s[1] =       u      * (1. - w) * 0.5;
-    s[2] =           v  * (1. - w) * 0.5;
-    s[3] = (1. - u - v) * (1. + w) * 0.5;
-    s[4] =       u      * (1. + w) * 0.5;
-    s[5] =           v  * (1. + w) * 0.5;
-  }*/
-/*  virtual void getGradShapeFunctions(double u, double v, double w, double s[][3], int o)
-  {
-    s[0][0] = -0.5 * (1. - w)    ;
-    s[0][1] = -0.5 * (1. - w)    ;
-    s[0][2] = -0.5 * (1. - u - v);
-    s[1][0] =  0.5 * (1. - w)    ;
-    s[1][1] =  0.                ;
-    s[1][2] = -0.5 * u           ;
-    s[2][0] =  0.                ;
-    s[2][1] =  0.5 * (1. - w)    ;
-    s[2][2] = -0.5 * v           ;
-    s[3][0] = -0.5 * (1. + w)    ;
-    s[3][1] = -0.5 * (1. + w)    ;
-    s[3][2] =  0.5 * (1. - u - v);
-    s[4][0] =  0.5 * (1. + w)    ;
-    s[4][1] =  0.                ;
-    s[4][2] =  0.5 * u           ;
-    s[5][0] =  0.                ;
-    s[5][1] =  0.5 * (1. + w)    ;
-    s[5][2] =  0.5 * v           ;
-  }*/
   virtual void getNode(int num, double &u, double &v, double &w)
   {
     switch(num) {
@@ -263,6 +233,7 @@ class MPrism15 : public MPrism {
     static const int map[15] = {0, 1, 2, 3, 4, 5, 6, 9, 7, 8, 10, 11, 12, 14, 13};
     return getVertex(map[num]);
   }
+  virtual MVertex *getVertexINP(int num){ return getVertexBDF(); }
   virtual int getNumEdgeVertices() const { return 9; }
   virtual int getNumEdgesRep(){ return 18; }
   virtual void getEdgeRep(int num, double *x, double *y, double *z, SVector3 *n)
@@ -320,6 +291,7 @@ class MPrism15 : public MPrism {
   virtual int getTypeForMSH() const { return MSH_PRI_15; }
   virtual int getTypeForUNV() const { return 113; } // solid parabolic wedge
   virtual const char *getStringForBDF() const { return "CPENTA"; }
+  virtual const char *getStringForINP() const { return "C3D15"; }
   virtual void revert()
   {
     MVertex *tmp;