diff --git a/Geo/MHexahedron.h b/Geo/MHexahedron.h
index 9213bcfb56f08bf9cd84680a190ed80762ae213d..b54b3597a7457ecef2c31711b63e3eb92f32ad6d 100644
--- a/Geo/MHexahedron.h
+++ b/Geo/MHexahedron.h
@@ -123,44 +123,6 @@ class MHexahedron : public MElement {
     tmp = _v[4]; _v[4] = _v[6]; _v[6] = tmp;
   }
   virtual int getVolumeSign();
-  virtual void getShapeFunctions(double u, double v, double w, double s[], int o)
-  {
-    s[0] = (1. - u) * (1. - v) * (1. - w) * 0.125;
-    s[1] = (1. + u) * (1. - v) * (1. - w) * 0.125;
-    s[2] = (1. + u) * (1. + v) * (1. - w) * 0.125;
-    s[3] = (1. - u) * (1. + v) * (1. - w) * 0.125;
-    s[4] = (1. - u) * (1. - v) * (1. + w) * 0.125;
-    s[5] = (1. + u) * (1. - v) * (1. + w) * 0.125;
-    s[6] = (1. + u) * (1. + v) * (1. + w) * 0.125;
-    s[7] = (1. - u) * (1. + v) * (1. + w) * 0.125;
-  }
-  virtual void getGradShapeFunctions(double u, double v, double w, double s[][3], int o)
-  {
-    s[0][0] = -0.125 * (1. - v) * (1. - w);
-    s[0][1] = -0.125 * (1. - u) * (1. - w);
-    s[0][2] = -0.125 * (1. - u) * (1. - v);
-    s[1][0] =  0.125 * (1. - v) * (1. - w);
-    s[1][1] = -0.125 * (1. + u) * (1. - w);
-    s[1][2] = -0.125 * (1. + u) * (1. - v);
-    s[2][0] =  0.125 * (1. + v) * (1. - w);
-    s[2][1] =  0.125 * (1. + u) * (1. - w);
-    s[2][2] = -0.125 * (1. + u) * (1. + v);
-    s[3][0] = -0.125 * (1. + v) * (1. - w);
-    s[3][1] =  0.125 * (1. - u) * (1. - w);
-    s[3][2] = -0.125 * (1. - u) * (1. + v);
-    s[4][0] = -0.125 * (1. - v) * (1. + w);
-    s[4][1] = -0.125 * (1. - u) * (1. + w);
-    s[4][2] =  0.125 * (1. - u) * (1. - v);
-    s[5][0] =  0.125 * (1. - v) * (1. + w);
-    s[5][1] = -0.125 * (1. + u) * (1. + w);
-    s[5][2] =  0.125 * (1. + u) * (1. - v);
-    s[6][0] =  0.125 * (1. + v) * (1. + w);
-    s[6][1] =  0.125 * (1. + u) * (1. + w);
-    s[6][2] =  0.125 * (1. + u) * (1. + v);
-    s[7][0] = -0.125 * (1. + v) * (1. + w);
-    s[7][1] =  0.125 * (1. - u) * (1. + w);
-    s[7][2] =  0.125 * (1. - u) * (1. + v);
-  }
   virtual void getNode(int num, double &u, double &v, double &w)
   {
     switch(num) {
@@ -501,122 +463,6 @@ class MHexahedron27 : public MHexahedron {
   {
     num < 8 ? MHexahedron::getNode(num, u, v, w) : MElement::getNode(num, u, v, w);
   }
-
-  virtual void getShapeFunctions(double u, double v, double w, double s[], int o)
-  {
-    s[0]  =  0.125*u*(u-1.)*v*(v-1.)*w*(w-1.);
-    s[1]  =  0.125*u*(u+1.)*v*(v-1.)*w*(w-1.);
-    s[2]  =  0.125*u*(u+1.)*v*(v+1.)*w*(w-1.);
-    s[3]  =  0.125*u*(u-1.)*v*(v+1.)*w*(w-1.);
-    s[4]  =  0.125*u*(u-1.)*v*(v-1.)*w*(w+1.);
-    s[5]  =  0.125*u*(u+1.)*v*(v-1.)*w*(w+1.);
-    s[6]  =  0.125*u*(u+1.)*v*(v+1.)*w*(w+1.);
-    s[7]  =  0.125*u*(u-1.)*v*(v+1.)*w*(w+1.);
-    s[8]  =  0.25*(1.-u*u)*v*(v-1.)*w*(w-1.);
-    s[9]  =  0.25*u*(u-1.)*(1.-v*v)*w*(w-1.);
-    s[10] =  0.25*u*(u-1.)*v*(v-1.)*(1.-w*w);
-    s[11] =  0.25*u*(u+1.)*(1.-v*v)*w*(w-1.);
-    s[12] =  0.25*u*(u+1.)*v*(v-1.)*(1.-w*w);
-    s[13] =  0.25*(1.-u*u)*v*(v+1.)*w*(w-1.);
-    s[14] =  0.25*u*(u+1.)*v*(v+1.)*(1.-w*w);
-    s[15] =  0.25*u*(u-1.)*v*(v+1.)*(1.-w*w);
-    s[16] =  0.25*(1.-u*u)*v*(v-1.)*w*(w+1.);
-    s[17] =  0.25*u*(u-1.)*(1.-v*v)*w*(w+1.);
-    s[18] =  0.25*u*(u+1.)*(1.-v*v)*w*(w+1.);
-    s[19] =  0.25*(1.-u*u)*v*(v+1.)*w*(w+1.);
-    s[20] =  0.5*(1.-u*u)*(1.-v*v)*w*(w-1.);
-    s[21] =  0.5*(1.-u*u)*v*(v-1.)*(1.-w*w);
-    s[22] =  0.5*u*(u-1.)*(1.-v*v)*(1.-w*w);
-    s[23] =  0.5*u*(u+1.)*(1.-v*v)*(1.-w*w);
-    s[24] =  0.5*(1.-u*u)*v*(v+1.)*(1.-w*w);
-    s[25] =  0.5*(1.-u*u)*(1.-v*v)*w*(w+1.);
-    s[26] =  (1.-u*u)*(1.-v*v)*(1.-w*w);   
-  }
-  virtual void getGradShapeFunctions(double u, double v, double w, double s[][3], int o)
-  {
-    s[0][0] =  0.125*(2.*u-1.)*v*(v-1.)*w*(w-1.);
-    s[0][1] =  0.125*u*(u-1.)*(2.*v-1.)*w*(w-1.);
-    s[0][2] =  0.125*u*(u-1.)*v*(v-1.)*(2.*w-1.);
-    s[1][0] =  0.125*(2.*u+1.)*v*(v-1.)*w*(w-1.);
-    s[1][1] =  0.125*u*(u+1.)*(2.*v-1.)*w*(w-1.);
-    s[1][2] =  0.125*u*(u+1.)*v*(v-1.)*(2.*w-1.);
-    s[2][0] =  0.125*(2.*u+1.)*v*(v+1.)*w*(w-1.);
-    s[2][1] =  0.125*u*(u+1.)*(2.*v+1.)*w*(w-1.);
-    s[2][2] =  0.125*u*(u+1.)*v*(v+1.)*(2.*w-1.);
-    s[3][0] =  0.125*(2.*u-1.)*v*(v+1.)*w*(w-1.);
-    s[3][1] =  0.125*u*(u-1.)*(2.*v+1.)*w*(w-1.);
-    s[3][2] =  0.125*u*(u-1.)*v*(v+1.)*(2.*w-1.);
-    s[4][0] =  0.125*(2.*u-1.)*v*(v-1.)*w*(w+1.);
-    s[4][1] =  0.125*u*(u-1.)*(2.*v-1.)*w*(w+1.);
-    s[4][2] =  0.125*u*(u-1.)*v*(v-1.)*(2.*w+1.);
-    s[5][0] =  0.125*(2.*u+1.)*v*(v-1.)*w*(w+1.);
-    s[5][1] =  0.125*u*(u+1.)*(2.*v-1.)*w*(w+1.);
-    s[5][2] =  0.125*u*(u+1.)*v*(v-1.)*(2.*w+1.);
-    s[6][0] =  0.125*(2.*u+1.)*v*(v+1.)*w*(w+1.);
-    s[6][1] =  0.125*u*(u+1.)*(2.*v+1.)*w*(w+1.);
-    s[6][2] =  0.125*u*(u+1.)*v*(v+1.)*(2.*w+1.);
-    s[7][0] =  0.125*(2.*u-1.)*v*(v+1.)*w*(w+1.);
-    s[7][1] =  0.125*u*(u-1.)*(2.*v+1.)*w*(w+1.);
-    s[7][2] =  0.125*u*(u-1.)*v*(v+1.)*(2.*w+1.);
-    s[8][0] =  0.25*(-2.*u)*v*(v-1.)*w*(w-1.);
-    s[8][1] =  0.25*(1.-u*u)*(2.*v-1.)*w*(w-1.);
-    s[8][2] =  0.25*(1.-u*u)*v*(v-1.)*(2.*w-1.);
-    s[9][0] =  0.25*(2.*u-1.)*(1.-v*v)*w*(w-1.);
-    s[9][1] =  0.25*u*(u-1.)*(-2.*v)*w*(w-1.);
-    s[9][2] =  0.25*u*(u-1.)*(1.-v*v)*(2.*w-1.);
-    s[10][0] =  0.25*(2.*u-1.)*v*(v-1.)*(1.-w*w);
-    s[10][1] =  0.25*u*(u-1.)*(2.*v-1.)*(1.-w*w);
-    s[10][2] =  0.25*u*(u-1.)*v*(v-1.)*(-2.*w);
-    s[11][0] =  0.25*(2.*u+1.)*(1.-v*v)*w*(w-1.);
-    s[11][1] =  0.25*u*(u+1.)*(-2.*v)*w*(w-1.);
-    s[11][2] =  0.25*u*(u+1.)*(1.-v*v)*(2.*w-1.);
-    s[12][0] =  0.25*(2.*u+1.)*v*(v-1.)*(1.-w*w);
-    s[12][1] =  0.25*u*(u+1.)*(2.*v-1.)*(1.-w*w);
-    s[12][2] =  0.25*u*(u+1.)*v*(v-1.)*(-2.*w);
-    s[13][0] =  0.25*(-2.*u)*v*(v+1.)*w*(w-1.);
-    s[13][1] =  0.25*(1.-u*u)*(2.*v+1.)*w*(w-1.);
-    s[13][2] =  0.25*(1.-u*u)*v*(v+1.)*(2.*w-1.);
-    s[14][0] =  0.25*(2.*u+1.)*v*(v+1)*(1.-w*w);
-    s[14][1] =  0.25*u*(u+1.)*(2.*v+1)*(1.-w*w);
-    s[14][2] =  0.25*u*(u+1.)*v*(v+1.)*(-2.*w);
-    s[15][0] =  0.25*(2.*u-1.)*v*(v+1.)*(1.-w*w);
-    s[15][1] =  0.25*u*(u-1.)*(2.*v+1.)*(1.-w*w);
-    s[15][2] =  0.25*u*(u-1.)*v*(v+1.)*(-2.*w);
-    s[16][0] =  0.25*(-2.*u)*v*(v-1.)*w*(w+1.);
-    s[16][1] =  0.25*(1.-u*u)*(2.*v-1.)*w*(w+1.);
-    s[16][2] =  0.25*(1.-u*u)*v*(v-1.)*(2.*w+1.);
-    s[17][0] =  0.25*(2.*u-1.)*(1.-v*v)*w*(w+1.);
-    s[17][1] =  0.25*u*(u-1.)*(-2.*v)*w*(w+1.);
-    s[17][2] =  0.25*u*(u-1.)*(1.-v*v)*(2.*w+1.);
-    s[18][0] =  0.25*(2.*u+1.)*(1.-v*v)*w*(w+1.);
-    s[18][1] =  0.25*u*(u+1.)*(-2.*v)*w*(w+1.);
-    s[18][2] =  0.25*u*(u+1.)*(1.-v*v)*(2.*w+1.);
-    s[19][0] =  0.25*(-2.*u)*v*(v+1.)*w*(w+1.);
-    s[19][1] =  0.25*(1.-u*u)*(2.*v+1.)*w*(w+1.);
-    s[19][2] =  0.25*(1.-u*u)*v*(v+1.)*(2.*w+1.);
-    s[20][0] =  0.5*(-2.*u)*(1.-v*v)*w*(w-1.);
-    s[20][1] =  0.5*(1.-u*u)*(-2.*v)*w*(w-1.);
-    s[20][2] =  0.5*(1.-u*u)*(1.-v*v)*(2.*w-1.);
-    s[21][0] =  0.5*(-2.*u)*v*(v-1.)*(1.-w*w);
-    s[21][1] =  0.5*(1.-u*u)*(2.*v-1.)*(1.-w*w);
-    s[21][2] =  0.5*(1.-u*u)*v*(v-1.)*(-2.*w);
-    s[22][0] =  0.5*(2.*u-1.)*(1.-v*v)*(1.-w*w);
-    s[22][1] =  0.5*u*(u-1.)*(-2.*v)*(1.-w*w);
-    s[22][2] =  0.5*u*(u-1.)*(1.-v*v)*(-2.*w);
-    s[23][0] =  0.5*(2.*u+1.)*(1.-v*v)*(1.-w*w);
-    s[23][1] =  0.5*u*(u+1.)*(-2.*v)*(1.-w*w);
-    s[23][2] =  0.5*u*(u+1.)*(1.-v*v)*(-2.*w);
-    s[24][0] =  0.5*(-2.*u)*v*(v+1.)*(1.-w*w);
-    s[24][1] =  0.5*(1.-u*u)*(2.*v+1.)*(1.-w*w);
-    s[24][2] =  0.5*(1.-u*u)*v*(v+1.)*(-2.*w);
-    s[25][0] =  0.5*(-2.*u)*(1.-v*v)*w*(w+1.);
-    s[25][1] =  0.5*(1.-u*u)*(-2.*v)*w*(w+1.);
-    s[25][2] =  0.5*(1.-u*u)*(1.-v*v)*(2.*w+1.);
-    s[26][0] =  (-2.*u)*(1.-v*v)*(1.-w*w);   
-    s[26][1] =  (1.-u*u)*(-2.*v)*(1.-w*w);   
-    s[26][2] =  (1.-u*u)*(1.-v*v)*(-2.*w);   
-
-  }
 };
 
 /*