diff --git a/NonLinearEVP/NonLinearEVP.geo b/NonLinearEVP/NonLinearEVP.geo
index aaa72550eb3de630d43eef6686bbc35d5cb363cd..4a635fc031a7126f4ac7f5a7805aceab1cb6682a 100644
--- a/NonLinearEVP/NonLinearEVP.geo
+++ b/NonLinearEVP/NonLinearEVP.geo
@@ -71,11 +71,54 @@ If (flag_Tmesh==0)
     Periodic Line { 14,18,19,20,11 } = {12,15,16,17,9 } Translate {a_lat,0,0} ;    
     Physical Line("SCATBOUND",1005)   = {5,6,7,8}; // bound for lag
   Else
-    Point(20)  = {0.,0., 0. , lc_sq};
-    Point(21)  = {-d_sq/2. ,0, 0. , lc_sq};
-    Point(22)  = {0        ,-d_sq/2., 0. , lc_sq};
-    Point(23)  = {d_sq/2. ,0, 0. , lc_sq};
-    Point(24)  = {0        ,d_sq/2., 0. , lc_sq};
+    // // with a circle
+    // Point(20)  = {0.,0., 0. , lc_sq};
+    // Point(21)  = {-d_sq/2. ,0, 0. , lc_sq};
+    // Point(22)  = {0        ,-d_sq/2., 0. , lc_sq};
+    // Point(23)  = {d_sq/2. ,0, 0. , lc_sq};
+    // Point(24)  = {0        ,d_sq/2., 0. , lc_sq};
+    // Line(1) = {1, 2};
+    // Line(3) = {3, 4};
+    // Line(15) = {1, 14};
+    // Line(16) = {14, 13};
+    // Line(17) = {13, 4};
+    // Line(18) = {2, 16};
+    // Line(19) = {16, 15};
+    // Line(20) = {15, 3};
+    // Line(9) = {4, 12};
+    // Line(10) = {12, 11};
+    // Line(11) = {11, 3};
+    // Line(12) = {1, 9};
+    // Line(13) = {9, 10};
+    // Line(14) = {10, 2};
+    // Circle(21) = {21, 20, 22};
+    // Circle(22) = {22, 20, 23};
+    // Circle(23) = {23, 20, 24};
+    // Circle(24) = {24, 20, 21};
+    // Line Loop(1) = {12, 13, 14, -1};
+    // Plane Surface(1) = {1};
+    // Curve Loop(2) = {21,22,23,24};
+    // Plane Surface(2) = {2};
+    // Curve Loop(3) = {20, 3, -17, -16, -15, 1, 18, 19};
+    // Plane Surface(3) = {2, 3};
+    // Line Loop(4) = {9, 10, 11, 3};
+    // Plane Surface(4) = {-4};
+    // // Rotate {{0, 0, 1}, {0, 0, 0}, 2.*Pi/180.} { Surface{ 2 } ; }
+    // Periodic Line { 14,18,19,20,11 } = {12,15,16,17,9 } Translate {a_lat,0,0} ;
+    // Physical Line("SCATBOUND",1005)    = {21,22,23,24}; // bound for lag
+
+    Point(20)  = {-d_sq/2.+corner_rad ,-d_sq/2., 0. , lc_sq};
+    Point(21)  = {-d_sq/2. ,-d_sq/2.+corner_rad, 0. , lc_sq};
+    Point(22)  = {-d_sq/2.+corner_rad ,-d_sq/2.+corner_rad, 0. , lc_sq};
+    Point(23)  = { d_sq/2.-corner_rad ,-d_sq/2., 0. , lc_sq};
+    Point(24)  = { d_sq/2. ,-d_sq/2.+corner_rad, 0. , lc_sq};
+    Point(25)  = { d_sq/2.-corner_rad ,-d_sq/2.+corner_rad, 0. , lc_sq};
+    Point(26)  = { d_sq/2.-corner_rad , d_sq/2., 0. , lc_sq};
+    Point(27)  = { d_sq/2. , d_sq/2.-corner_rad, 0. , lc_sq};
+    Point(28)  = { d_sq/2.-corner_rad , d_sq/2.-corner_rad, 0. , lc_sq};
+    Point(29)  = {-d_sq/2.+corner_rad , d_sq/2., 0. , lc_sq};
+    Point(30)  = {-d_sq/2. , d_sq/2.-corner_rad, 0. , lc_sq};
+    Point(31)  = {-d_sq/2.+corner_rad , d_sq/2.-corner_rad, 0. , lc_sq};
 
     Line(1) = {1, 2};
     Line(3) = {3, 4};
@@ -91,13 +134,17 @@ If (flag_Tmesh==0)
     Line(12) = {1, 9};
     Line(13) = {9, 10};
     Line(14) = {10, 2};
-    Circle(21) = {21, 20, 22};
-    Circle(22) = {22, 20, 23};
-    Circle(23) = {23, 20, 24};
-    Circle(24) = {24, 20, 21};
+    Circle(21) = {30, 31, 29};
+    Circle(22) = {26, 28, 27};
+    Circle(23) = {24, 25, 23};
+    Circle(24) = {21, 22, 20};
+    Line(25) = {29, 26};
+    Line(26) = {27, 24};
+    Line(27) = {23, 20};
+    Line(28) = {21, 30};    
     Line Loop(1) = {12, 13, 14, -1};
     Plane Surface(1) = {1};
-    Curve Loop(2) = {21,22,23,24};
+    Curve Loop(2) = {25, 22, 26, 23, 27, -24, 28, 21};
     Plane Surface(2) = {2};
     Curve Loop(3) = {20, 3, -17, -16, -15, 1, 18, 19};
     Plane Surface(3) = {2, 3};
@@ -105,56 +152,7 @@ If (flag_Tmesh==0)
     Plane Surface(4) = {-4};
     // Rotate {{0, 0, 1}, {0, 0, 0}, 2.*Pi/180.} { Surface{ 2 } ; }
     Periodic Line { 14,18,19,20,11 } = {12,15,16,17,9 } Translate {a_lat,0,0} ;
-    Physical Line("SCATBOUND",1005)    = {21,22,23,24}; // bound for lag
-
-
-
-    // Point(20)  = {-d_sq/2.+corner_rad ,-d_sq/2., 0. , lc_sq};
-    // Point(21)  = {-d_sq/2. ,-d_sq/2.+corner_rad, 0. , lc_sq};
-    // Point(22)  = {-d_sq/2.+corner_rad ,-d_sq/2.+corner_rad, 0. , lc_sq};
-    // Point(23)  = { d_sq/2.-corner_rad ,-d_sq/2., 0. , lc_sq};
-    // Point(24)  = { d_sq/2. ,-d_sq/2.+corner_rad, 0. , lc_sq};
-    // Point(25)  = { d_sq/2.-corner_rad ,-d_sq/2.+corner_rad, 0. , lc_sq};
-    // Point(26)  = { d_sq/2.-corner_rad , d_sq/2., 0. , lc_sq};
-    // Point(27)  = { d_sq/2. , d_sq/2.-corner_rad, 0. , lc_sq};
-    // Point(28)  = { d_sq/2.-corner_rad , d_sq/2.-corner_rad, 0. , lc_sq};
-    // Point(29)  = {-d_sq/2.+corner_rad , d_sq/2., 0. , lc_sq};
-    // Point(30)  = {-d_sq/2. , d_sq/2.-corner_rad, 0. , lc_sq};
-    // Point(31)  = {-d_sq/2.+corner_rad , d_sq/2.-corner_rad, 0. , lc_sq};
-
-    // Line(1) = {1, 2};
-    // Line(3) = {3, 4};
-    // Line(15) = {1, 14};
-    // Line(16) = {14, 13};
-    // Line(17) = {13, 4};
-    // Line(18) = {2, 16};
-    // Line(19) = {16, 15};
-    // Line(20) = {15, 3};
-    // Line(9) = {4, 12};
-    // Line(10) = {12, 11};
-    // Line(11) = {11, 3};
-    // Line(12) = {1, 9};
-    // Line(13) = {9, 10};
-    // Line(14) = {10, 2};
-    // Circle(21) = {30, 31, 29};
-    // Circle(22) = {26, 28, 27};
-    // Circle(23) = {24, 25, 23};
-    // Circle(24) = {21, 22, 20};
-    // Line(25) = {29, 26};
-    // Line(26) = {27, 24};
-    // Line(27) = {23, 20};
-    // Line(28) = {21, 30};    
-    // Line Loop(1) = {12, 13, 14, -1};
-    // Plane Surface(1) = {1};
-    // Curve Loop(2) = {25, 22, 26, 23, 27, -24, 28, 21};
-    // Plane Surface(2) = {2};
-    // Curve Loop(3) = {20, 3, -17, -16, -15, 1, 18, 19};
-    // Plane Surface(3) = {2, 3};
-    // Line Loop(4) = {9, 10, 11, 3};
-    // Plane Surface(4) = {-4};
-    // Rotate {{0, 0, 1}, {0, 0, 0}, 2.*Pi/180.} { Surface{ 2 } ; }
-    // Periodic Line { 14,18,19,20,11 } = {12,15,16,17,9 } Translate {a_lat,0,0} ;
-    // Physical Line("SCATBOUND",1005)    = {21,22,23,24,25,26,27,28}; // bound for lag
+    Physical Line("SCATBOUND",1005)    = {21,22,23,24,25,26,27,28}; // bound for lag
   EndIf
   Physical Surface("SCAT",100)       = {2};   // 1 dom in
   Physical Surface("OUT",101)        = {3};  // 2 dom out