diff --git a/NonLinearSolver/materialLaw/mlawNonLocalDamage_Stoch.cpp b/NonLinearSolver/materialLaw/mlawNonLocalDamage_Stoch.cpp
index 41948df31313b979ca8be5b6c0ef973c9142e747..cd4853611b7baf1923aeac8cdae21af3275cdd51 100644
--- a/NonLinearSolver/materialLaw/mlawNonLocalDamage_Stoch.cpp
+++ b/NonLinearSolver/materialLaw/mlawNonLocalDamage_Stoch.cpp
@@ -35,7 +35,7 @@ mlawNonLocalDamage_Stoch::mlawNonLocalDamage_Stoch(const int num, const double r
         if(pos_Mhmod1 !=0) Randnum +=1;
         if(pos_Mhmod2 !=0) Randnum +=1;
         if(pos_Mhexp !=0) Randnum +=1; 
-
+        if(pos_euler !=0) Randnum +=1; 
         //allocate memory if random variable are required
         if (pos_euler != 0){
 	     mallocvector(&_Euler_mean,3);
@@ -43,15 +43,18 @@ mlawNonLocalDamage_Stoch::mlawNonLocalDamage_Stoch(const int num, const double r
              _Euler_mean[1] = euler1;
              _Euler_mean[2] = euler2;
              Reuler = init_RandF(_Euler_mean, _Ldomain, _OrigX, _OrigY, _OrigZ, _dx, _dy, _dz);
+             if ( Randnum > 1){
+	         RMatProp = init_RandF(Randnum, _Ldomain, _OrigX, _OrigY,_OrigZ, _dx, _dy, _dz, RandProp);
+             }
         }
-        if ( Randnum != 0){
+        else if ( Randnum != 0){
 	     RMatProp = init_RandF(Randnum, _Ldomain, _OrigX, _OrigY,_OrigZ, _dx, _dy, _dz, RandProp);
         }
    
   }
 
 
-mlawNonLocalDamage_Stoch::mlawNonLocalDamage_Stoch(const int num, const double rho, const char *propName, const double Ori_x, const double Ori_y, const double Ori_z,const double Lx,const double Ly,const double Lz, const char *RandProp, const int intpl, const double euler0, const double euler1, const double euler2): mlawNonLocalDamage(num, rho, propName), _OrigX(Ori_x), _OrigY(Ori_y), _OrigZ(Ori_z), _Ldomain(Lx, Ly, Lz), _intpl(intpl), Reuler(NULL), RMatProp(NULL), _Euler_mean(NULL){
+mlawNonLocalDamage_Stoch::mlawNonLocalDamage_Stoch(const int num, const double rho, const char *propName, const double Ori_x, const double Ori_y, const double Ori_z,const double Lx,const double Ly,const double Lz, const char *RandProp, const int intpl): mlawNonLocalDamage(num, rho, propName), _OrigX(Ori_x), _OrigY(Ori_y), _OrigZ(Ori_z), _Ldomain(Lx, Ly, Lz), _intpl(intpl), Reuler(NULL), RMatProp(NULL), _Euler_mean(NULL){
 
     double vfi_max = 0.0;
     double ME_max = 0.0;
@@ -76,19 +79,12 @@ mlawNonLocalDamage_Stoch::mlawNonLocalDamage_Stoch(const int num, const double r
     if(pos_Mhmod1 !=0) Randnum +=1;
     if(pos_Mhmod2 !=0) Randnum +=1;
     if(pos_Mhexp !=0) Randnum +=1; 
+    if(pos_euler !=0) Randnum +=1; 
 
     //allocate memory if random variable are required
-    if (pos_euler != 0){
-	mallocvector(&_Euler_mean,3);
-        _Euler_mean[0] = euler0;
-        _Euler_mean[1] = euler1;
-        _Euler_mean[2] = euler2;
-        Reuler = init_RandF(_Euler_mean, _Ldomain, _OrigX, _OrigY,_OrigZ, _dx, _dy, _dz);
-    }
-
     // read random property variables from 
     if ( Randnum != 0){
-       double Rprop[8];
+       double Rprop[9];
        int nxyz[3];
        int k;
 
@@ -106,13 +102,14 @@ mlawNonLocalDamage_Stoch::mlawNonLocalDamage_Stoch(const int num, const double r
              if(pos_Mhmod1 !=0) resizeFlag = _hmod1_Mat.resize(nxyz[0], nxyz[1], true);
              if(pos_Mhmod2 !=0) resizeFlag = _hmod2_Mat.resize(nxyz[0], nxyz[1], true);
              if(pos_Mhexp !=0) resizeFlag = _hexp_Mat.resize(nxyz[0], nxyz[1], true);
+             if(pos_euler !=0) resizeFlag = _euler_Mat.resize(nxyz[0], nxyz[1], true);
              fscanf(Props, "%lf %lf %lf\n", &_dx, &_dy, &_dz);
 
              if (resizeFlag){
                 for(int i=0; i<nxyz[0]; i++){
                    for(int j=0; j<nxyz[1]; j++){
-                      fscanf(Props, "%lf %lf %lf %lf %lf %lf %lf %lf\n", &Rprop[0], &Rprop[1],&Rprop[2],
-                          &Rprop[3],&Rprop[4],&Rprop[5],&Rprop[6],&Rprop[7]);
+                      fscanf(Props, "%lf %lf %lf %lf %lf %lf %lf %lf %lf\n", &Rprop[0], &Rprop[1],&Rprop[2],
+                          &Rprop[3],&Rprop[4],&Rprop[5],&Rprop[6],&Rprop[7],&Rprop[8]);
                       k = 0;
                       if(pos_vfi !=0){
                          _VfMat.set(i, j, Rprop[k++]);
@@ -128,6 +125,7 @@ mlawNonLocalDamage_Stoch::mlawNonLocalDamage_Stoch(const int num, const double r
                       if(pos_Mhmod1 !=0) _hmod1_Mat.set(i, j, Rprop[k++]);
                       if(pos_Mhmod2 !=0) _hmod2_Mat.set(i, j, Rprop[k++]);
                       if(pos_Mhexp !=0) _hexp_Mat.set(i, j, Rprop[k]);
+                      if(pos_euler !=0) _euler_Mat.set(i, j, Rprop[k]);
                   }
                 }
              }
@@ -253,7 +251,7 @@ mlawNonLocalDamage_Stoch::mlawNonLocalDamage_Stoch(const mlawNonLocalDamage_Stoc
            _dx(source._dx), _dy(source._dy), _dz(source._dz), _OrigX(source._OrigX), _OrigY(source._OrigY), 
            _OrigZ(source._OrigZ), _Ldomain(source._Ldomain), _VfMat(source._VfMat), _aspRMat(source._aspRMat), 
            _E_Mat(source._E_Mat), _nu_Mat(source._nu_Mat), _sy0_Mat(source._sy0_Mat), _hmod1_Mat(source._hmod1_Mat),
-           _hmod2_Mat(source._hmod2_Mat), _hexp_Mat(source._hexp_Mat) {
+           _hmod2_Mat(source._hmod2_Mat), _hexp_Mat(source._hexp_Mat),_euler_Mat(source._euler_Mat) {
 
      Reuler = NULL;
      RMatProp  = NULL;
@@ -300,6 +298,7 @@ mlawNonLocalDamage_Stoch& mlawNonLocalDamage_Stoch::operator=(const materialLaw
      _hmod1_Mat = src->_hmod1_Mat;
      _hmod2_Mat = src->_hmod2_Mat;
      _hexp_Mat = src->_hexp_Mat;
+     _euler_Mat = src->_euler_Mat;
 
      RMatProp  = NULL;
      Reuler = NULL;
@@ -334,8 +333,8 @@ void mlawNonLocalDamage_Stoch::createIPState(const SVector3 &GaussP, IPNonLocalD
   double *stv2 = iv2->_nldStatev;
   double SpBartmp = 0.0;
 
-  if(pos_euler != 0) Reuler->RandomGen(GaussP, &(stv1[pos_euler])); 
   if(Randnum !=0){
+    if(Reuler != NULL) Reuler->RandomGen(GaussP, &(stv1[pos_euler])); 
     if(RMatProp !=NULL){
       double Rprop[Randnum];
       int k=0;
@@ -378,6 +377,11 @@ void mlawNonLocalDamage_Stoch::createIPState(const SVector3 &GaussP, IPNonLocalD
          stv1[pos_Mhmod2]=_hmod2_Mat(nx,ny)*(1.0-x)*(1.0-y)+_hmod2_Mat(nx+1,ny)*x*(1.0-y)+_hmod2_Mat(nx,ny+1)*(1.0-x)*y+_hmod2_Mat(nx+1,ny+1)*x*y;}
        if(pos_Mhexp !=0){
          stv1[pos_Mhexp]=_hexp_Mat(nx,ny)*(1.0-x)*(1.0-y)+_hexp_Mat(nx+1,ny)*x*(1.0-y)+_hexp_Mat(nx,ny+1)*(1.0-x)*y+_hexp_Mat(nx+1,ny+1)*x*y;}
+       if(pos_euler !=0){
+         stv1[pos_euler]=_euler_Mat(nx,ny)*(1.0-x)*(1.0-y)+_euler_Mat(nx+1,ny)*x*(1.0-y)+_euler_Mat(nx,ny+1)*(1.0-x)*y+_euler_Mat(nx+1,ny+1)*x*y;
+         stv1[pos_euler+1]= 0.0;
+         stv1[pos_euler+2]= 0.0;
+       }
      }
      else if (_intpl ==2 ){
        if(x >= 0.5){nx=nx+1;}
@@ -391,6 +395,11 @@ void mlawNonLocalDamage_Stoch::createIPState(const SVector3 &GaussP, IPNonLocalD
        if(pos_Mhmod1 !=0) stv1[pos_Mhmod1] = _hmod1_Mat(nx,ny);
        if(pos_Mhmod2 !=0) stv1[pos_Mhmod2] = _hmod2_Mat(nx,ny);
        if(pos_Mhexp !=0)  stv1[pos_Mhexp] = _hexp_Mat(nx,ny);
+       if(pos_euler !=0) {
+            stv1[pos_euler] = _euler_Mat(nx,ny);
+            stv1[pos_euler+1]= 0.0;
+            stv1[pos_euler+2]= 0.0;
+       }
      }
 
      else if (_intpl == 3 ){
@@ -410,6 +419,11 @@ void mlawNonLocalDamage_Stoch::createIPState(const SVector3 &GaussP, IPNonLocalD
            if(pos_Mhmod1 !=0) stv1[pos_Mhmod1] = _hmod1_Mat(nx,ny);
            if(pos_Mhmod2 !=0) stv1[pos_Mhmod2] = _hmod2_Mat(nx,ny);
            if(pos_Mhexp !=0)  stv1[pos_Mhexp] = _hexp_Mat(nx,ny);
+           if(pos_euler !=0) {
+                stv1[pos_euler] = _euler_Mat(nx,ny);
+                stv1[pos_euler+1]= 0.0;
+                stv1[pos_euler+2]= 0.0;
+           }
          }
          else{
              int ny0; 
@@ -431,6 +445,11 @@ void mlawNonLocalDamage_Stoch::createIPState(const SVector3 &GaussP, IPNonLocalD
            if(pos_Mhmod1 !=0) stv1[pos_Mhmod1] = _hmod1_Mat(nx,ny0) + (_hmod1_Mat(nx,ny)-_hmod1_Mat(nx,ny0))*coef;
            if(pos_Mhmod2 !=0) stv1[pos_Mhmod2] = _hmod2_Mat(nx,ny0) + (_hmod2_Mat(nx,ny)-_hmod2_Mat(nx,ny0))*coef;
            if(pos_Mhexp !=0)  stv1[pos_Mhexp] = _hexp_Mat(nx,ny0) + (_hexp_Mat(nx,ny)-_hexp_Mat(nx,ny0))*coef;
+           if(pos_euler !=0){
+               stv1[pos_euler] = _euler_Mat(nx,ny0) + (_euler_Mat(nx,ny)-_euler_Mat(nx,ny0))*coef;
+               stv1[pos_euler+1]= 0.0;
+               stv1[pos_euler+2]= 0.0;
+           }
          }
        }
        else{
@@ -454,6 +473,11 @@ void mlawNonLocalDamage_Stoch::createIPState(const SVector3 &GaussP, IPNonLocalD
            if(pos_Mhmod1 !=0) stv1[pos_Mhmod1] = _hmod1_Mat(nx0,ny) + (_hmod1_Mat(nx,ny)-_hmod1_Mat(nx0,ny))*coef;
            if(pos_Mhmod2 !=0) stv1[pos_Mhmod2] = _hmod2_Mat(nx0,ny) + (_hmod2_Mat(nx,ny)-_hmod2_Mat(nx0,ny))*coef;
            if(pos_Mhexp !=0)  stv1[pos_Mhexp] = _hexp_Mat(nx0,ny) + (_hexp_Mat(nx,ny)-_hexp_Mat(nx0,ny))*coef;
+           if(pos_euler !=0)  {
+                stv1[pos_euler] = _euler_Mat(nx0,ny) + (_euler_Mat(nx,ny)-_euler_Mat(nx0,ny))*coef;
+                stv1[pos_euler+1]= 0.0;
+                stv1[pos_euler+2]= 0.0;
+           }
          }
          else{  
             int nx0, ny0;
@@ -498,6 +522,11 @@ void mlawNonLocalDamage_Stoch::createIPState(const SVector3 &GaussP, IPNonLocalD
                stv1[pos_Mhmod2] = c00*_hmod2_Mat(nx0,ny0) + c01*_hmod2_Mat(nx0,ny) + c10*_hmod2_Mat(nx,ny0) + c11*_hmod2_Mat(nx,ny);}
             if(pos_Mhexp !=0){
                stv1[pos_Mhexp] = c00*_hexp_Mat(nx0,ny0) + c01*_hexp_Mat(nx0,ny) + c10*_hexp_Mat(nx,ny0) + c11*_hexp_Mat(nx,ny);}
+            if(pos_euler !=0){
+               stv1[pos_euler] = c00*_euler_Mat(nx0,ny0) + c01*_euler_Mat(nx0,ny) + c10*_euler_Mat(nx,ny0) + c11*_euler_Mat(nx,ny);
+               stv1[pos_euler+1]= 0.0;
+               stv1[pos_euler+2]= 0.0;
+            }
           }
         }
       }
@@ -542,8 +571,8 @@ void mlawNonLocalDamage_Stoch::createIPVariable(const SVector3 &GaussP, IPNonLoc
   double *stv1 = ipv->_nldStatev;
   double SpBartmp = 0.0;
 
-  if(pos_euler != 0) Reuler->RandomGen(GaussP, &(stv1[pos_euler])); 
   if(Randnum !=0){
+    if(Reuler != NULL) Reuler->RandomGen(GaussP, &(stv1[pos_euler])); 
     if(RMatProp !=NULL){
       double Rprop[Randnum];
       int k=0;
@@ -586,6 +615,11 @@ void mlawNonLocalDamage_Stoch::createIPVariable(const SVector3 &GaussP, IPNonLoc
          stv1[pos_Mhmod2]=_hmod2_Mat(nx,ny)*(1.0-x)*(1.0-y)+_hmod2_Mat(nx+1,ny)*x*(1.0-y)+_hmod2_Mat(nx,ny+1)*(1.0-x)*y+_hmod2_Mat(nx+1,ny+1)*x*y;}
        if(pos_Mhexp !=0){
          stv1[pos_Mhexp]=_hexp_Mat(nx,ny)*(1.0-x)*(1.0-y)+_hexp_Mat(nx+1,ny)*x*(1.0-y)+_hexp_Mat(nx,ny+1)*(1.0-x)*y+_hexp_Mat(nx+1,ny+1)*x*y;}
+       if(pos_euler !=0){
+         stv1[pos_euler]=_euler_Mat(nx,ny)*(1.0-x)*(1.0-y)+_euler_Mat(nx+1,ny)*x*(1.0-y)+_euler_Mat(nx,ny+1)*(1.0-x)*y+_euler_Mat(nx+1,ny+1)*x*y;
+         stv1[pos_euler+1]= 0.0;
+         stv1[pos_euler+2]= 0.0;
+       }
      }
      else if (_intpl ==2 ){
        if(x >= 0.5){nx=nx+1;}
@@ -599,6 +633,11 @@ void mlawNonLocalDamage_Stoch::createIPVariable(const SVector3 &GaussP, IPNonLoc
        if(pos_Mhmod1 !=0) stv1[pos_Mhmod1] = _hmod1_Mat(nx,ny);
        if(pos_Mhmod2 !=0) stv1[pos_Mhmod2] = _hmod2_Mat(nx,ny);
        if(pos_Mhexp !=0)  stv1[pos_Mhexp] = _hexp_Mat(nx,ny);
+       if(pos_euler !=0)  {
+           stv1[pos_euler] = _euler_Mat(nx,ny);
+           stv1[pos_euler+1]= 0.0;
+           stv1[pos_euler+2]= 0.0;
+       }
      }
 
      else if (_intpl == 3 ){
@@ -618,6 +657,11 @@ void mlawNonLocalDamage_Stoch::createIPVariable(const SVector3 &GaussP, IPNonLoc
            if(pos_Mhmod1 !=0) stv1[pos_Mhmod1] = _hmod1_Mat(nx,ny);
            if(pos_Mhmod2 !=0) stv1[pos_Mhmod2] = _hmod2_Mat(nx,ny);
            if(pos_Mhexp !=0)  stv1[pos_Mhexp] = _hexp_Mat(nx,ny);
+           if(pos_euler !=0)  {
+                 stv1[pos_euler] = _euler_Mat(nx,ny);
+                 stv1[pos_euler+1]= 0.0;
+                 stv1[pos_euler+2]= 0.0;
+           } 
          }
          else{
              int ny0; 
@@ -639,6 +683,11 @@ void mlawNonLocalDamage_Stoch::createIPVariable(const SVector3 &GaussP, IPNonLoc
            if(pos_Mhmod1 !=0) stv1[pos_Mhmod1] = _hmod1_Mat(nx,ny0) + (_hmod1_Mat(nx,ny)-_hmod1_Mat(nx,ny0))*coef;
            if(pos_Mhmod2 !=0) stv1[pos_Mhmod2] = _hmod2_Mat(nx,ny0) + (_hmod2_Mat(nx,ny)-_hmod2_Mat(nx,ny0))*coef;
            if(pos_Mhexp !=0)  stv1[pos_Mhexp] = _hexp_Mat(nx,ny0) + (_hexp_Mat(nx,ny)-_hexp_Mat(nx,ny0))*coef;
+           if(pos_euler !=0) {
+              stv1[pos_euler] = _euler_Mat(nx,ny0) + (_euler_Mat(nx,ny)-_euler_Mat(nx,ny0))*coef;
+              stv1[pos_euler+1]= 0.0;
+              stv1[pos_euler+2]= 0.0;
+           }
          }
        }
        else{
@@ -662,6 +711,11 @@ void mlawNonLocalDamage_Stoch::createIPVariable(const SVector3 &GaussP, IPNonLoc
            if(pos_Mhmod1 !=0) stv1[pos_Mhmod1] = _hmod1_Mat(nx0,ny) + (_hmod1_Mat(nx,ny)-_hmod1_Mat(nx0,ny))*coef;
            if(pos_Mhmod2 !=0) stv1[pos_Mhmod2] = _hmod2_Mat(nx0,ny) + (_hmod2_Mat(nx,ny)-_hmod2_Mat(nx0,ny))*coef;
            if(pos_Mhexp !=0)  stv1[pos_Mhexp] = _hexp_Mat(nx0,ny) + (_hexp_Mat(nx,ny)-_hexp_Mat(nx0,ny))*coef;
+           if(pos_euler !=0)  {
+                stv1[pos_euler] = _euler_Mat(nx0,ny) + (_euler_Mat(nx,ny)-_euler_Mat(nx0,ny))*coef;
+                stv1[pos_euler+1]= 0.0;
+                stv1[pos_euler+2]= 0.0;
+           }
          }
          else{  
             int nx0, ny0;
@@ -706,6 +760,11 @@ void mlawNonLocalDamage_Stoch::createIPVariable(const SVector3 &GaussP, IPNonLoc
                stv1[pos_Mhmod2] = c00*_hmod2_Mat(nx0,ny0) + c01*_hmod2_Mat(nx0,ny) + c10*_hmod2_Mat(nx,ny0) + c11*_hmod2_Mat(nx,ny);}
             if(pos_Mhexp !=0){
                stv1[pos_Mhexp] = c00*_hexp_Mat(nx0,ny0) + c01*_hexp_Mat(nx0,ny) + c10*_hexp_Mat(nx,ny0) + c11*_hexp_Mat(nx,ny);}
+            if(pos_euler !=0){
+               stv1[pos_euler] = c00*_euler_Mat(nx0,ny0) + c01*_euler_Mat(nx0,ny) + c10*_euler_Mat(nx,ny0) + c11*_euler_Mat(nx,ny);
+               stv1[pos_euler+1]= 0.0;
+               stv1[pos_euler+2]= 0.0;
+            }
           }
         }
       }
diff --git a/NonLinearSolver/materialLaw/mlawNonLocalDamage_Stoch.h b/NonLinearSolver/materialLaw/mlawNonLocalDamage_Stoch.h
index 177cc088a9eb9bb85dc28156858bc008ca1c2731..f6682e442cb5804972f1e49787a2717c38586fb1 100644
--- a/NonLinearSolver/materialLaw/mlawNonLocalDamage_Stoch.h
+++ b/NonLinearSolver/materialLaw/mlawNonLocalDamage_Stoch.h
@@ -44,7 +44,7 @@ class mlawNonLocalDamage_Stoch : public mlawNonLocalDamage
   mutable double* _Euler_mean;
 
   Random_Fclass*  Reuler;    // class of random field
-  Random_Fclass*  RMatProp;  //  random vectors (Vfi, aspR, Mtx(E,nu,sy0,hmod1,hmod2,hexp))
+  Random_Fclass*  RMatProp;  //  random vectors (Vfi, aspR, Mtx(E,nu,sy0,hmod1,hmod2,hexp)) or plus (Euler)
 
   // set random variables by prepared data file
   fullMatrix<double> _VfMat;
@@ -57,12 +57,13 @@ class mlawNonLocalDamage_Stoch : public mlawNonLocalDamage
   fullMatrix<double> _hmod1_Mat;
   fullMatrix<double> _hmod2_Mat;
   fullMatrix<double> _hexp_Mat;
+  fullMatrix<double> _euler_Mat;
 
 
  public:
   mlawNonLocalDamage_Stoch(const int num, const double rho, const char *propName, const double Ori_x, const double Ori_y, const double Ori_z,const double Lx,const double Ly,const double Lz, const int dx,const int dy, const int dz, const char *RandProp, const double euler0= 0.0, const double euler1= 0.0, const double euler2= 0.0);
 
-  mlawNonLocalDamage_Stoch(const int num, const double rho, const char *propName, const double Ori_x, const double Ori_y, const double Ori_z,const double Lx,const double Ly,const double Lz, const char *RandProp, const int intpl, const double euler0=0.0, const double euler1=0.0, const double euler2=0.0);
+  mlawNonLocalDamage_Stoch(const int num, const double rho, const char *propName, const double Ori_x, const double Ori_y, const double Ori_z,const double Lx,const double Ly,const double Lz, const char *RandProp, const int intpl);
 
  #ifndef SWIG
   mlawNonLocalDamage_Stoch(const mlawNonLocalDamage_Stoch &source);
diff --git a/dG3D/src/dG3DMaterialLaw.cpp b/dG3D/src/dG3DMaterialLaw.cpp
index cc146724dc5d755e13c2b2acd9d9499f293e8959..3751daf8cfaae33b0b184f69ee2aa53365068491 100644
--- a/dG3D/src/dG3DMaterialLaw.cpp
+++ b/dG3D/src/dG3DMaterialLaw.cpp
@@ -1001,10 +1001,9 @@ NonLocalDamageDG3DMaterialLaw_Stoch::NonLocalDamageDG3DMaterialLaw_Stoch(const i
   fillElasticStiffness(E, nu, elasticStiffness);
 }
 
-NonLocalDamageDG3DMaterialLaw_Stoch::NonLocalDamageDG3DMaterialLaw_Stoch(const int num, const double rho, const char *propName, const double Ori_x, const double Ori_y, const double Ori_z,const double Lx,const double Ly,const double Lz, const char *RandProp, const int intpl, const double euler0, const double euler1, const double euler2) : NonLocalDamageDG3DMaterialLaw(num,rho,propName){
+NonLocalDamageDG3DMaterialLaw_Stoch::NonLocalDamageDG3DMaterialLaw_Stoch(const int num, const double rho, const char *propName, const double Ori_x, const double Ori_y, const double Ori_z,const double Lx,const double Ly,const double Lz, const char *RandProp, const int intpl) : NonLocalDamageDG3DMaterialLaw(num,rho,propName){
   if(_nldlaw != NULL) delete _nldlaw;
-  _nldlaw = new mlawNonLocalDamage_Stoch(num,rho,propName,Ori_x, Ori_y, Ori_z, Lx, Ly, Lz, RandProp,intpl, 
-                                        euler0,euler1,euler2);
+  _nldlaw = new mlawNonLocalDamage_Stoch(num,rho,propName,Ori_x, Ori_y, Ori_z, Lx, Ly, Lz, RandProp,intpl);
   double nu = _nldlaw->poissonRatio();
   double mu = _nldlaw->shearModulus();
   double E = 2.*mu*(1.+nu);
diff --git a/dG3D/src/dG3DMaterialLaw.h b/dG3D/src/dG3DMaterialLaw.h
index af84b04d6b0f09e80606e7582810002dd5832571..b776fb9344a47d4f80de2ce59a1cc2efca9c8ed9 100644
--- a/dG3D/src/dG3DMaterialLaw.h
+++ b/dG3D/src/dG3DMaterialLaw.h
@@ -750,7 +750,7 @@ class NonLocalDamageDG3DMaterialLaw_Stoch : public NonLocalDamageDG3DMaterialLaw
  public:
   NonLocalDamageDG3DMaterialLaw_Stoch(const int num, const double rho, const char *propName, const double Ori_x, const double Ori_y, const double Ori_z,const double Lx,const double Ly,const double Lz, const int dx,const int dy, const int dz, const char *RandProp, const double euler0= 0.0, const double euler1= 0.0, const double euler2= 0.0);
 
-  NonLocalDamageDG3DMaterialLaw_Stoch(const int num, const double rho, const char *propName, const double Ori_x, const double Ori_y, const double Ori_z,const double Lx,const double Ly,const double Lz, const char *RandProp, const int intpl, const double euler0=0.0, const double euler1=0.0, const double euler2=0.0);
+  NonLocalDamageDG3DMaterialLaw_Stoch(const int num, const double rho, const char *propName, const double Ori_x, const double Ori_y, const double Ori_z,const double Lx,const double Ly,const double Lz, const char *RandProp, const int intpl);
 
 
   virtual ~NonLocalDamageDG3DMaterialLaw_Stoch();