diff --git a/DiffractionGratings/grating3D_data_2Dlamellar.geo b/DiffractionGratings/grating3D_data_2Dlamellar.geo index 0366ab6648490235cae82c602aecf72b8ff49ec6..79daf43bbf6e1b9cf559c31bbfa6fcdb1e88aedd 100644 --- a/DiffractionGratings/grating3D_data_2Dlamellar.geo +++ b/DiffractionGratings/grating3D_data_2Dlamellar.geo @@ -46,11 +46,13 @@ DefineConstant[ eps_re_L_6 = {-44.9757 , Name StrCat[pp4,"/layer 6: real part of relative permittivity"]}, eps_im_L_6 = {2.9524 , Name StrCat[pp4,"/layer 6: imag part of relative permittivity"]}, + og = {1 , Name StrCat[pp5,"/0geometrical order [-]"]}, + oi = {2 , Name StrCat[pp5,"/0interpolation order [-]"]}, paramaille = {10 , Name StrCat[pp5,"/1Number of mesh elements per wavelength [-]"]}, - lc_scat = {30 , Name StrCat[pp5,"/2Scatterer absolute mesh size [nm]"]}, - PML_top = {lambda0 , Name StrCat[pp5,"/4PML top thickness [nm]"]}, - PML_bot = {lambda0/5 , Name StrCat[pp5,"/5PML bot thickness [nm]"]}, - Nmax = {1 , Name StrCat[pp5,"/6Number of non specular order to output [-]"]}, + lc_scat = {30 , Name StrCat[pp5,"/2Scatterer absolute mesh size [nm]"]}, + PML_top = {lambda0 , Name StrCat[pp5,"/4PML top thickness [nm]"]}, + PML_bot = {lambda0/5 , Name StrCat[pp5,"/5PML bot thickness [nm]"]}, + Nmax = {1 , Name StrCat[pp5,"/6Number of non specular order to output [-]"]}, refine_mesh_L_1= {1 , Name StrCat[pp5,"/7refine layers/1refine mesh layer 1 [-]"]}, refine_mesh_L_2= {1 , Name StrCat[pp5,"/7refine layers/2refine mesh layer 2 [-]"]}, refine_mesh_L_3= {1 , Name StrCat[pp5,"/7refine layers/3refine mesh layer 3 [-]"]}, diff --git a/DiffractionGratings/grating3D_data_bisin.geo b/DiffractionGratings/grating3D_data_bisin.geo index 2bd490bcdb95ccba61d8d7381e10fb5614274376..d960f7821a291c7a99f2460ace3e27717a93c4a9 100644 --- a/DiffractionGratings/grating3D_data_bisin.geo +++ b/DiffractionGratings/grating3D_data_bisin.geo @@ -46,6 +46,8 @@ DefineConstant[ eps_re_L_6 = {4 , Name StrCat[pp4,"/layer 6: real part of relative permittivity"]}, eps_im_L_6 = {0 , Name StrCat[pp4,"/layer 6: imag part of relative permittivity"]}, + og = {1 , Name StrCat[pp5,"/0geometrical order [-]"]}, + oi = {2 , Name StrCat[pp5,"/0interpolation order [-]"]}, paramaille = {7 , Name StrCat[pp5,"/1Number of mesh elements per wavelength [-]"]}, lc_scat = {lambda0/(2*paramaille) , Name StrCat[pp5,"/2Scatterer absolute mesh size [nm]"]}, PML_top = {lambda0, Name StrCat[pp5,"/4PML top thickness [nm]"]}, diff --git a/DiffractionGratings/grating3D_data_checker.geo b/DiffractionGratings/grating3D_data_checker.geo index ca728d14b6ff8343b808d6f9fd0c155afc0b9459..f263e1f468c4149fa37cb815e8ee9b253e11ed6e 100644 --- a/DiffractionGratings/grating3D_data_checker.geo +++ b/DiffractionGratings/grating3D_data_checker.geo @@ -46,6 +46,8 @@ DefineConstant[ eps_re_L_6 = {1 , Name StrCat[pp4,"/layer 6: real part of relative permittivity"]}, eps_im_L_6 = {0 , Name StrCat[pp4,"/layer 6: imag part of relative permittivity"]}, + og = {1 , Name StrCat[pp5,"/0geometrical order [-]"]}, + oi = {2 , Name StrCat[pp5,"/0interpolation order [-]"]}, paramaille = {6 , Name StrCat[pp5,"/1Number of mesh elements per wavelength [-]"]}, lc_scat = {lambda0/(1.5*paramaille) , Name StrCat[pp5,"/2Scatterer absolute mesh size [nm]"]}, PML_top = {lambda0, Name StrCat[pp5,"/4PML top thickness [nm]"]}, diff --git a/DiffractionGratings/grating3D_data_halfellipsoid.geo b/DiffractionGratings/grating3D_data_halfellipsoid.geo index c17aa25b1ae9f27e4f6e8ac263e3ed883c2d607f..4870aa8f65b360db69b7d091518c2b28ea301a9a 100644 --- a/DiffractionGratings/grating3D_data_halfellipsoid.geo +++ b/DiffractionGratings/grating3D_data_halfellipsoid.geo @@ -46,6 +46,8 @@ DefineConstant[ eps_re_L_6 = {4 , Name StrCat[pp4,"/layer 6: real part of relative permittivity"]}, eps_im_L_6 = {0 , Name StrCat[pp4,"/layer 6: imag part of relative permittivity"]}, + og = {1 , Name StrCat[pp5,"/0geometrical order [-]"]}, + oi = {2 , Name StrCat[pp5,"/0interpolation order [-]"]}, paramaille = {8 , Name StrCat[pp5,"/1Number of mesh elements per wavelength [-]"]}, lc_scat = {10 , Name StrCat[pp5,"/2metal mesh size [nm]"]}, PML_top = {lambda0 , Name StrCat[pp5,"/4PML top thickness [nm]"]}, diff --git a/DiffractionGratings/grating3D_data_hole.geo b/DiffractionGratings/grating3D_data_hole.geo index a1b8fd97d18837dec1207cfa93657be27fdeaf51..783ebf62fd9ad77cd8656a3a6e15e339b573a20c 100644 --- a/DiffractionGratings/grating3D_data_hole.geo +++ b/DiffractionGratings/grating3D_data_hole.geo @@ -46,6 +46,8 @@ DefineConstant[ eps_re_L_6 = {2.25 , Name StrCat[pp4,"/layer 6: real part of relative permittivity"]}, eps_im_L_6 = {0 , Name StrCat[pp4,"/layer 6: imag part of relative permittivity"]}, + og = {1 , Name StrCat[pp5,"/0geometrical order [-]"]}, + oi = {2 , Name StrCat[pp5,"/0interpolation order [-]"]}, paramaille = {5 , Name StrCat[pp5,"/1Number of mesh elements per wavelength [-]"]}, lc_scat = {lambda0/(3*paramaille) , Name StrCat[pp5,"/2Scatterer absolute mesh size [nm]"]}, PML_top = {lambda0, Name StrCat[pp5,"/4PML top thickness [nm]"]}, diff --git a/DiffractionGratings/grating3D_data_pyramid.geo b/DiffractionGratings/grating3D_data_pyramid.geo index 241fb53617a579a543b4ac206d82b11875a6db1c..f30b41b7279e2a3af67be74cf7550a828cd75d2e 100644 --- a/DiffractionGratings/grating3D_data_pyramid.geo +++ b/DiffractionGratings/grating3D_data_pyramid.geo @@ -46,6 +46,8 @@ DefineConstant[ eps_re_L_6 = {2.25 , Name StrCat[pp4,"/layer 6: real part of relative permittivity"]}, eps_im_L_6 = {0 , Name StrCat[pp4,"/layer 6: imag part of relative permittivity"]}, + og = {1 , Name StrCat[pp5,"/0geometrical order [-]"]}, + oi = {2 , Name StrCat[pp5,"/0interpolation order [-]"]}, paramaille = {8 , Name StrCat[pp5,"/1Number of mesh elements per wavelength [-]"]}, lc_scat = {lambda0/(1.5*paramaille) , Name StrCat[pp5,"/2Scatterer absolute mesh size [nm]"]}, PML_top = {lambda0 , Name StrCat[pp5,"/4PML top thickness [nm]"]}, diff --git a/DiffractionGratings/grating3D_data_torus.geo b/DiffractionGratings/grating3D_data_torus.geo index c634be22c58ec8be32a4ee3799f999884a5a312d..49f27b09b4984d2fee795f0608704506c6680fc5 100644 --- a/DiffractionGratings/grating3D_data_torus.geo +++ b/DiffractionGratings/grating3D_data_torus.geo @@ -46,6 +46,8 @@ DefineConstant[ eps_re_L_6 = {2.25 , Name StrCat[pp4,"/7Custom Values/layer 6: real part of relative permittivity"]}, eps_im_L_6 = {0 , Name StrCat[pp4,"/7Custom Values/layer 6: imag part of relative permittivity"]}, + og = {1 , Name StrCat[pp5,"/0geometrical order [-]"]}, + oi = {2 , Name StrCat[pp5,"/0interpolation order [-]"]}, paramaille = {12 , Name StrCat[pp5,"/1Number of mesh elements per wavelength [-]"]}, lc_scat = {10 , Name StrCat[pp5,"/2Scatterer absolute mesh size [nm]"]}, PML_top = {lambda0*1.5 , Name StrCat[pp5,"/4PML top thickness [nm]"]}, diff --git a/DiffractionGratings/grating3D_postplot.py b/DiffractionGratings/grating3D_postplot.py index 2e3d289a991bbad4ab095a9b29fb0319dfcf5e29..57c3fa58549dfbaa725399f493677c687bd83158 100644 --- a/DiffractionGratings/grating3D_postplot.py +++ b/DiffractionGratings/grating3D_postplot.py @@ -1,5 +1,7 @@ import numpy as np -myDir = 'res3D/' +import sys +myDir = sys.argv[1] +# myDir = res3D Rnm = np.loadtxt(myDir+'eff_r.txt')[:,1] Tnm = np.loadtxt(myDir+'eff_t.txt')[:,1] Q = [np.loadtxt(myDir+'temp-Q_L_%g.txt'%k)[1] for k in range(2,7)]