From 79d3a7cb71244bb4c2c7a567faa411821190774d Mon Sep 17 00:00:00 2001 From: Guillaume Demesy <guillaume.demesy@fresnel.fr> Date: Thu, 21 Nov 2019 14:56:53 +0100 Subject: [PATCH] add order controls --- DiffractionGratings/grating3D_data_2Dlamellar.geo | 10 ++++++---- DiffractionGratings/grating3D_data_bisin.geo | 2 ++ DiffractionGratings/grating3D_data_checker.geo | 2 ++ DiffractionGratings/grating3D_data_halfellipsoid.geo | 2 ++ DiffractionGratings/grating3D_data_hole.geo | 2 ++ DiffractionGratings/grating3D_data_pyramid.geo | 2 ++ DiffractionGratings/grating3D_data_torus.geo | 2 ++ DiffractionGratings/grating3D_postplot.py | 4 +++- 8 files changed, 21 insertions(+), 5 deletions(-) diff --git a/DiffractionGratings/grating3D_data_2Dlamellar.geo b/DiffractionGratings/grating3D_data_2Dlamellar.geo index 0366ab6..79daf43 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 2bd490b..d960f78 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 ca728d1..f263e1f 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 c17aa25..4870aa8 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 a1b8fd9..783ebf6 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 241fb53..f30b41b 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 c634be2..49f27b0 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 2e3d289..57c3fa5 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)] -- GitLab