diff --git a/NonLinearEVP/NonLinearEVP_data.geo b/NonLinearEVP/NonLinearEVP_data.geo
new file mode 100644
index 0000000000000000000000000000000000000000..75447842d7431332683e069f29e02a43fdb4d5f0
--- /dev/null
+++ b/NonLinearEVP/NonLinearEVP_data.geo
@@ -0,0 +1,86 @@
+///////////////////////////////////
+//// Author : Guillaume Demesy ////
+////   _data.geo               ////
+///////////////////////////////////
+
+nm       = 1.;
+epsilon0 = 8.854187817e-3*nm;
+mu0      = 400.*Pi*nm;
+cel      = 1.0/(Sqrt[epsilon0 * mu0]);
+deg2rad  = Pi/180;
+
+pp0        = "1Geometry/0";
+pp1        = "2Polarization-Bloch/0";
+pp3        = "3Eigenvalue problem parameters/0";
+pp2        = "4Drude Model parameters/0";
+pp4        = "5Discretization/0";
+pp5        = "6Formulations/0";
+pp6        = "7Output/0";
+close_menu = 0;
+colorpp0   = "MintCream";
+colorpp1   = "Ivory";
+colorpp2   = "PaleGoldenRod";
+colorpp3   = "Ivory";
+colorpp4   = "LightSalmon";
+colorpp5   = "Ivory";
+
+
+
+
+
+DefineConstant[ a_lat = {50     , Name StrCat[pp0  , "1grating period d [nm]"]          , Highlight Str[colorpp0]  , Closed close_menu} ];
+
+// normalization factor
+norm = a_lat/(2.*Pi*cel);
+
+DefineConstant[
+  d_sq           = {0.806 , Name StrCat[pp0 , "2sq [d]"]          , Highlight Str[colorpp0]  , Closed close_menu} , 
+  space2pml      = {1     , Name StrCat[pp0 , "3space2pml [d]"]  , Highlight Str[colorpp0]  , Closed close_menu} , 
+  pmlsize        = {5     , Name StrCat[pp0 , "4pmlsize [d]"]     , Highlight Str[colorpp0]  , Closed close_menu} , 
+  
+  flag_Hparallel = {1     , Name StrCat[pp1 , "1polarization case"]       , Choices {0="E //",1="H //"} },
+  kx             = {0.75  , Name StrCat[pp1 , "2kx [Pi\a]"]          , Highlight Str[colorpp1]  , Closed close_menu} , 
+
+  eps_oo_1       = {1     , Name StrCat[pp2 , "0eps_oo_1 [ - ]"]    , Highlight Str[colorpp2]  , Closed close_menu} , 
+  om_d_1         = {1.1   , Name StrCat[pp2 , "1om_d_1 [2cPi\a]"]      , Highlight Str[colorpp2]  , Closed close_menu} , 
+  gam_1          = {0.05  , Name StrCat[pp2 , "2gam_1 [2cPi\a]"]       , Highlight Str[colorpp2]  , Closed close_menu} , 
+  
+  neig          =  {1     , Name StrCat[pp3 , "0neig [int]"]             , Highlight Str[colorpp3]  , Closed close_menu} ,
+  eig_target_re  = {0.0077, Name StrCat[pp3 , "1eig_target_re [2cPi\a]"] , Highlight Str[colorpp3]  , Closed close_menu} , 
+  eig_target_im  = {0.2598, Name StrCat[pp3 , "2eig_target_im [2cPi\a]"] , Highlight Str[colorpp3]  , Closed close_menu} , 
+  eig_min_re     = {0.007 , Name StrCat[pp3 , "3eig_min_re [2cPi\a]"]    , Highlight Str[colorpp3]  , Closed close_menu} , 
+  eig_max_re     = {0.009 , Name StrCat[pp3 , "4eig_max_re [2cPi\a]"]    , Highlight Str[colorpp3]  , Closed close_menu} , 
+  eig_min_im     = {0.25  , Name StrCat[pp3 , "5eig_min_im [2cPi\a]"]    , Highlight Str[colorpp3]  , Closed close_menu} , 
+  eig_max_im     = {0.27  , Name StrCat[pp3 , "6eig_max_im [2cPi\a]"]    , Highlight Str[colorpp3]  , Closed close_menu} , 
+
+  paramaille     = {4     , Name StrCat[pp4 , "0paramaille [nm]"]  , Highlight Str[colorpp4]  , Closed close_menu} , 
+  flag_Tmesh     = {0     , Name StrCat[pp4 , "2mesh type"]               , Choices {0="unstruct",1="struct"} },
+  flag_o2        = {1     , Name StrCat[pp4 , "3FEM order"]               , Choices {0="o1",1="o2"} },
+  
+  flag_res       = {2     , Name StrCat[pp5  , "0resolution type"], Choices {0="Aux_E" ,1="PEP_E" ,2="NEP_E" ,3="Lag_E" ,4="PEP_h", 5="all"},ServerAction "ResetDatabase"},
+  flag_outEigvec = {1     , Name StrCat[pp4, "output eigenvector?"], Choices{0,1}}
+];
+
+// Normalization
+d_sq           = d_sq          * a_lat;
+space2pml      = space2pml     * a_lat;
+pmlsize        = pmlsize       * a_lat;
+kx             = kx            * Pi/a_lat;
+eig_target_re  = eig_target_re / norm;
+eig_target_im  = eig_target_im / norm;
+eig_min_re     = eig_min_re    / norm;
+eig_max_re     = eig_max_re    / norm;
+eig_min_im     = eig_min_im    / norm;
+eig_max_im     = eig_max_im    / norm;
+om_d_1         = om_d_1        / norm;
+gam_1          = gam_1         / norm;
+
+eps_oo_2       = 1;
+om_d_2         = 0;
+gam_2          = 0;
+
+slepc_options_rg = StrCat(" -rg_interval_endpoints ",
+                     Sprintf("%.8lf,",eig_min_re),
+                     Sprintf("%.8lf,",eig_max_re),
+                     Sprintf("%.8lf,",eig_min_im),
+                     Sprintf("%.8lf",eig_max_im));
\ No newline at end of file