diff --git a/program2D/main.cc b/program2D/main.cc
index f98517dd1f6d32faea8cbf267dad835e2bb4e63f..ac4a890b1e6d6f72f7923d581aaf8a21bbaedff5 100644
--- a/program2D/main.cc
+++ b/program2D/main.cc
@@ -9,7 +9,8 @@
 #include <string>
 #include <vector>
 #include "source/ugblock2D.h"
-#include "source/ugblock.h"
+#include "ugblock.h"
+#include "source/ugblock2D3D.h"
 
 
 using std::complex;
@@ -551,7 +552,7 @@ void estimateBeamQuality(VariableFFT& varIn,
 int main(int argc, char** argv) {
     std::ofstream DATEI;
 
-    int n = 10;
+    int n = 5;
 
     double R1 = 100;
     double R2 = 100;
@@ -579,14 +580,11 @@ int main(int argc, char** argv) {
     distanceFromWaist = 0;
     curvature = distanceFromWaist * (1.0 + pow(rayleighrange / distanceFromWaist,2) );
 
+    double radiusGeo = 0.5 * geometrySize;
+    Rechteck geo(-radiusGeo, -radiusGeo, radiusGeo, radiusGeo);
 
     double wavenumber = 2.0 * M_PI / lambda;
-<<<<<<< HEAD
-    
-    VTK_Reader reader()
 
-=======
->>>>>>> bb52a7764bf2e15d580affac6e3b898abc7adc75
 
     cout << " Test CalcFresnel!!" << endl;
 
@@ -605,14 +603,23 @@ int main(int argc, char** argv) {
     std::cout << "deltaX initial plane (z = 0) = " << deltaX << std::endl;
     std::cout << "deltaX fourier plane (z = " <<distance<<")  = " << deltaXFourierPlane << std::endl;
     std::cout << "dxInitial / dxFourier   = " << deltaX / deltaXFourierPlane << std::endl;
+    std::cout << "curvature " << curvature << std::endl;
 
 
-    double radiusGeo = 0.5 * geometrySize;
-    Rechteck geo(-radiusGeo, -radiusGeo, radiusGeo, radiusGeo);
+    //VTK_Reader reader(QString("/local/er96apow/FAUbox/Promotion/Vectorial_BPM/fibercryst_exmaple/RefractionIndexTherm_last.vtk"));
+    //Variable<double> * thermalRefractiveIndex3D = reader.give_first_variable();
 
-    std::cout << "curvature " << curvature << std::endl;
+
+    Unstructured_grid *ug = new Cylinder(2,1,20);
+    Blockgrid *bg = new Blockgrid(ug,10,10,20);
+    Variable<double> * thermalRefractiveIndex3D = new Variable<double>(*bg);
 
 
+    VariableFFT varSlice(n,n,geo);
+    Variable2D<double> varDoubleRefr(*(varSlice.Give_blockgrid()));
+    IteratorZDirection zIterator(thermalRefractiveIndex3D->Give_blockgrid());
+    zIterator.gotoFront();
+    thermalRefractiveIndex3D->interpolateSlizeZ(&varDoubleRefr, &zIterator);
 
     VariableFFT varE(n,n,geo);
     VariableFFT varIn(varE);