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