diff --git a/DiffractionGratings/grating3D.geo b/DiffractionGratings/grating3D.geo index 4436f7e927b29c452305af25e5d7b62435b0ba8e..947806f0281a04d99bc4ad2d4c1c2f475e6c7d75 100644 --- a/DiffractionGratings/grating3D.geo +++ b/DiffractionGratings/grating3D.geo @@ -250,6 +250,12 @@ pts_LAYER_L1() = PointsOf{ Physical Volume{7}; }; pts_PMLTOP() = PointsOf{ Physical Volume{8}; }; pts_ROD() = PointsOf{ Physical Volume{9}; }; +// if test_case==conv, we want to remesh the scatterer as well +// the following enforces to update lc_scat when paramaille changes +If (tag_geom==4) + lc_scat = lambda_m/(paramaille*5); +EndIf + lc_PML = lambda_m/(paramaille*.5); list_lc(0) = lc_PML; For k In {1:6} diff --git a/DiffractionGratings/grating3D_data_2Dlamellar.geo b/DiffractionGratings/grating3D_data_2Dlamellar.geo index bdc6a2d6cc25636904658fddd9047b19e990fb1b..b6d19e07c254b7e797047d111fd9931f9ca24768 100644 --- a/DiffractionGratings/grating3D_data_2Dlamellar.geo +++ b/DiffractionGratings/grating3D_data_2Dlamellar.geo @@ -60,7 +60,7 @@ DefineConstant[ refine_mesh_L_4= {0.3 , Name StrCat[pp5,"/7refine layers/4refine mesh layer 4 [-]"]}, refine_mesh_L_5= {0.3 , Name StrCat[pp5,"/7refine layers/5refine mesh layer 5 [-]"]}, refine_mesh_L_6= {0.3 , Name StrCat[pp5,"/7refine layers/6refine mesh layer 6 [-]"]}, - FlagLinkFacets = {0 , Name StrCat[pp5,"/8FlagLinkFacets? [-]"], Choices {0,1}}, + FlagLinkFacets = {0 , Name StrCat[pp5,"/8FlagLinkFacets? [-]"], Choices {0,1}, Visible 0}, InterpSampling = { 30 , Name StrCat[pp6,"/0Interpolation grid step [nm]"]}, Flag_interp_cubic = { 0 , Name StrCat[pp6,"/1Interpolate on cubic grid?"], Choices {0,1} }, diff --git a/DiffractionGratings/grating3D_data_bisin.geo b/DiffractionGratings/grating3D_data_bisin.geo index 4b2296a4bc62ba35927bfbdf200ad1f3f7bf786e..f46e34327bd0c44ca4178eab847d9cec4318a275 100644 --- a/DiffractionGratings/grating3D_data_bisin.geo +++ b/DiffractionGratings/grating3D_data_bisin.geo @@ -60,7 +60,7 @@ DefineConstant[ refine_mesh_L_4= {1 , Name StrCat[pp5,"/7refine layers/4refine mesh layer 4 [-]"]}, refine_mesh_L_5= {1 , Name StrCat[pp5,"/7refine layers/5refine mesh layer 5 [-]"]}, refine_mesh_L_6= {1 , Name StrCat[pp5,"/7refine layers/6refine mesh layer 6 [-]"]}, - FlagLinkFacets = {0 , Name StrCat[pp5,"/8FlagLinkFacets? [-]"], Choices {0,1}}, + FlagLinkFacets = {0 , Name StrCat[pp5,"/8FlagLinkFacets? [-]"], Choices {0,1}, Visible 0}, InterpSampling = { 30 , Name StrCat[pp6,"/0Interpolation grid step [nm]"]}, Flag_interp_cubic = { 1 , Name StrCat[pp6,"/1Interpolate on cubic grid?"], Choices {0,1} }, diff --git a/DiffractionGratings/grating3D_data_checker.geo b/DiffractionGratings/grating3D_data_checker.geo index e85f3c2832039e12f64f87b29e5ce449916cca82..f10ec4d5143cc96cd90fe0869ebbd5b4337312db 100644 --- a/DiffractionGratings/grating3D_data_checker.geo +++ b/DiffractionGratings/grating3D_data_checker.geo @@ -60,7 +60,7 @@ DefineConstant[ refine_mesh_L_4= {1 , Name StrCat[pp5,"/7refine layers/4refine mesh layer 4 [-]"]}, refine_mesh_L_5= {1 , Name StrCat[pp5,"/7refine layers/5refine mesh layer 5 [-]"]}, refine_mesh_L_6= {1 , Name StrCat[pp5,"/7refine layers/6refine mesh layer 6 [-]"]}, - FlagLinkFacets = {0 , Name StrCat[pp5,"/8FlagLinkFacets? [-]"], Choices {0,1}}, + FlagLinkFacets = {0 , Name StrCat[pp5,"/8FlagLinkFacets? [-]"], Choices {0,1}, Visible 0}, InterpSampling = { 30 , Name StrCat[pp6,"/0Interpolation grid step [nm]"]}, Flag_interp_cubic = { 1 , Name StrCat[pp6,"/1Interpolate on cubic grid?"], Choices {0,1} }, diff --git a/DiffractionGratings/grating3D_data_conv.geo b/DiffractionGratings/grating3D_data_conv.geo index 3c7d5019245c0ea228fd228e98ec7a62832c8553..334fa7ba6bd249a2bcb4771247a7b0f6e95eb2dc 100644 --- a/DiffractionGratings/grating3D_data_conv.geo +++ b/DiffractionGratings/grating3D_data_conv.geo @@ -20,7 +20,7 @@ DefineConstant[ thick_L_6 = {50 , Name StrCat[pp2,"/8thickness layer 6 [nm] (substrate)"]}, xsideg = {0 , Name StrCat[pp2,"/9skew angle [deg]"],Visible 1}, - tag_geom = { 4 , Name StrCat[pp3,"/0Shape"], Choices {1="Pyramid",2="Cylindrical Hole",3="Torus",4="HalfEllipspoid",5="Checkerboard",6="bi-sinusoidal",7="2D lamellar"}}, + tag_geom = { 4 , Name StrCat[pp3,"/0Shape"], Choices {1="Pyramid",2="Cylindrical Hole",3="Torus",4="HalfEllipspoid",5="Checkerboard",6="bi-sinusoidal",7="2D lamellar"}}, rx = {107 , Name StrCat[pp3,"/1rx"]}, ry = {47 , Name StrCat[pp3,"/2ry"]}, rz = {40 , Name StrCat[pp3,"/3rz"]}, @@ -47,20 +47,21 @@ 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 = {0 , Name StrCat[pp5,"/0geometrical order [-]"] , Choices {0="1",1="2"} }, + og = {0 , Min 0, Max 1 , Step 1, Name StrCat[pp5,"/0geometrical order [-]"] , Loop 1}, + // og = {0 , Name StrCat[pp5,"/0geometrical order [-]"] , Choices {0="1",1="2"} }, oi = {1 , Name StrCat[pp5,"/0interpolation order [-]"], Choices {0="1",1="2"} }, - paramaille = {8 , Min 1, Max 12, Step 1, Name StrCat[pp5, "/1Number of mesh elements per wavelength [-]"], Loop 1}, + paramaille = {8 , Min 1, Max 12, Step 1, Name StrCat[pp5, "/1Number of mesh elements per wavelength [-]"], Loop 2, ServerAction "Reset lc_scat"}, lc_scat = {lambda0/(5*paramaille) , Name StrCat[pp5,"/2metal mesh size [nm]"]}, PML_top = {lambda0 , Name StrCat[pp5,"/4PML top thickness [nm]"]}, PML_bot = {lambda0 , Name StrCat[pp5,"/5PML bot thickness [nm]"]}, - Nmax = {0 , 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 [-]"]}, - refine_mesh_L_4 = {1 , Name StrCat[pp5,"/7refine layers/4refine mesh layer 4 [-]"]}, - refine_mesh_L_5 = {1 , Name StrCat[pp5,"/7refine layers/5refine mesh layer 5 [-]"]}, - refine_mesh_L_6 = {1 , Name StrCat[pp5,"/7refine layers/6refine mesh layer 6 [-]"]}, - FlagLinkFacets = {0 , Name StrCat[pp5,"/8FlagLinkFacets? [-]"], Choices {0,1}, Visible 0}, + Nmax = {0 , 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 [-]"]}, + refine_mesh_L_4 = {1 , Name StrCat[pp5,"/7refine layers/4refine mesh layer 4 [-]"]}, + refine_mesh_L_5 = {1 , Name StrCat[pp5,"/7refine layers/5refine mesh layer 5 [-]"]}, + refine_mesh_L_6 = {1 , Name StrCat[pp5,"/7refine layers/6refine mesh layer 6 [-]"]}, + FlagLinkFacets = {0 , Name StrCat[pp5,"/8FlagLinkFacets? [-]"], Choices {0,1}, Visible 0}, InterpSampling = { 10 , Name StrCat[pp6,"/0Interpolation grid step [nm]"]}, Flag_interp_cubic = { 1 , Name StrCat[pp6,"/1Interpolate on cubic grid?"], Choices {0,1} }, diff --git a/DiffractionGratings/grating3D_data_halfellipsoid.geo b/DiffractionGratings/grating3D_data_halfellipsoid.geo index ac0efcd99dc4eb684293c71ffaf14cde4716a6bb..0dd7f2ff1cc27ccfd92a774029c4fd2e3c137f13 100644 --- a/DiffractionGratings/grating3D_data_halfellipsoid.geo +++ b/DiffractionGratings/grating3D_data_halfellipsoid.geo @@ -47,7 +47,7 @@ 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 = {0 , Name StrCat[pp5,"/0geometrical order [-]"] , Choices {0="1",1="2"} }, + og = {1 , Name StrCat[pp5,"/0geometrical order [-]"] , Choices {0="1",1="2"} }, oi = {1 , Name StrCat[pp5,"/0interpolation order [-]"], Choices {0="1",1="2"} }, paramaille = {8 , Name StrCat[pp5,"/1Number of mesh elements per wavelength [-]"]}, lc_scat = {10 , Name StrCat[pp5,"/2metal mesh size [nm]"]}, @@ -60,7 +60,7 @@ DefineConstant[ refine_mesh_L_4= {1 , Name StrCat[pp5,"/7refine layers/4refine mesh layer 4 [-]"]}, refine_mesh_L_5= {1 , Name StrCat[pp5,"/7refine layers/5refine mesh layer 5 [-]"]}, refine_mesh_L_6= {1 , Name StrCat[pp5,"/7refine layers/6refine mesh layer 6 [-]"]}, - FlagLinkFacets = {0 , Name StrCat[pp5,"/8FlagLinkFacets? [-]"], Choices {0,1}}, + FlagLinkFacets = {0 , Name StrCat[pp5,"/8FlagLinkFacets? [-]"], Choices {0,1}, Visible 0}, InterpSampling = { 10 , Name StrCat[pp6,"/0Interpolation grid step [nm]"]}, Flag_interp_cubic = { 1 , Name StrCat[pp6,"/1Interpolate on cubic grid?"], Choices {0,1} }, diff --git a/DiffractionGratings/grating3D_data_hole.geo b/DiffractionGratings/grating3D_data_hole.geo index 3af538f0b4e14d63b701820da6550446500b6713..593f69ec14f92aed5ba833aea3db759a2f255f77 100644 --- a/DiffractionGratings/grating3D_data_hole.geo +++ b/DiffractionGratings/grating3D_data_hole.geo @@ -66,7 +66,7 @@ DefineConstant[ refine_mesh_L_4= {1 , Name StrCat[pp5,"/7refine layers/4refine mesh layer 4 [-]"]}, refine_mesh_L_5= {1 , Name StrCat[pp5,"/7refine layers/5refine mesh layer 5 [-]"]}, refine_mesh_L_6= {1 , Name StrCat[pp5,"/7refine layers/6refine mesh layer 6 [-]"]}, - FlagLinkFacets = {0 , Name StrCat[pp5,"/8FlagLinkFacets? [-]"], Choices {0,1}}, + FlagLinkFacets = {0 , Name StrCat[pp5,"/8FlagLinkFacets? [-]"], Choices {0,1}, Visible 0}, InterpSampling = { 30 , Name StrCat[pp6,"/0Interpolation grid step [nm]"]}, Flag_interp_cubic = { 1 , Name StrCat[pp6,"/1Interpolate on cubic grid?"], Choices {0,1} }, diff --git a/DiffractionGratings/grating3D_data_pyramid.geo b/DiffractionGratings/grating3D_data_pyramid.geo index e9f0338751d1f6acc9ddbc56daa6cdca7719de9b..1382421140200dd841e4403069d25973dec10451 100644 --- a/DiffractionGratings/grating3D_data_pyramid.geo +++ b/DiffractionGratings/grating3D_data_pyramid.geo @@ -60,7 +60,7 @@ DefineConstant[ refine_mesh_L_4= {1 , Name StrCat[pp5,"/7refine layers/4refine mesh layer 4 [-]"]}, refine_mesh_L_5= {1 , Name StrCat[pp5,"/7refine layers/5refine mesh layer 5 [-]"]}, refine_mesh_L_6= {1 , Name StrCat[pp5,"/7refine layers/6refine mesh layer 6 [-]"]}, - FlagLinkFacets = {0 , Name StrCat[pp5,"/8FlagLinkFacets? [-]"], Choices {0,1}}, + FlagLinkFacets = {0 , Name StrCat[pp5,"/8FlagLinkFacets? [-]"], Choices {0,1}, Visible 0}, InterpSampling = { 50 , Name StrCat[pp6,"/0Interpolation grid step [nm]"]}, Flag_interp_cubic = { 1 , Name StrCat[pp6,"/1Interpolate on cubic grid?"], Choices {0,1} }, diff --git a/DiffractionGratings/grating3D_data_skew.geo b/DiffractionGratings/grating3D_data_skew.geo index 31edf8340f6fe7ed00cd52fda137f789229d3447..064c68a21f70499c59f55635fc9da3e332d854bd 100644 --- a/DiffractionGratings/grating3D_data_skew.geo +++ b/DiffractionGratings/grating3D_data_skew.geo @@ -60,7 +60,7 @@ DefineConstant[ refine_mesh_L_4= {1 , Name StrCat[pp5,"/7refine layers/4refine mesh layer 4 [-]"]}, refine_mesh_L_5= {1 , Name StrCat[pp5,"/7refine layers/5refine mesh layer 5 [-]"]}, refine_mesh_L_6= {1 , Name StrCat[pp5,"/7refine layers/6refine mesh layer 6 [-]"]}, - FlagLinkFacets = {0 , Name StrCat[pp5,"/8FlagLinkFacets? [-]"], Choices {0,1}}, + FlagLinkFacets = {0 , Name StrCat[pp5,"/8FlagLinkFacets? [-]"], Choices {0,1}, Visible 0}, InterpSampling = { 10 , Name StrCat[pp6,"/0Interpolation grid step [nm]"]}, Flag_interp_cubic = { 1 , Name StrCat[pp6,"/1Interpolate on cubic grid?"], Choices {0,1} }, diff --git a/DiffractionGratings/grating3D_data_solarcell.geo b/DiffractionGratings/grating3D_data_solarcell.geo index 3501b60712480d5373babc3f4c54d66016cdc07a..74a0c161091262cbb3a403e39385f8e94a122b53 100644 --- a/DiffractionGratings/grating3D_data_solarcell.geo +++ b/DiffractionGratings/grating3D_data_solarcell.geo @@ -62,7 +62,7 @@ DefineConstant[ refine_mesh_L_4= {2 , Name StrCat[pp5,"/7refine layers/4refine mesh layer 4 [-]"]}, refine_mesh_L_5= {2 , Name StrCat[pp5,"/7refine layers/5refine mesh layer 5 [-]"]}, refine_mesh_L_6= {2 , Name StrCat[pp5,"/7refine layers/6refine mesh layer 6 [-]"]}, - FlagLinkFacets = {0 , Name StrCat[pp5,"/8FlagLinkFacets? [-]"], Choices {0,1}}, + FlagLinkFacets = {0 , Name StrCat[pp5,"/8FlagLinkFacets? [-]"], Choices {0,1}, Visible 0}, InterpSampling = { 20 , Name StrCat[pp6,"/0Interpolation grid step [nm]"]}, diff --git a/DiffractionGratings/grating3D_data_torus.geo b/DiffractionGratings/grating3D_data_torus.geo index 220bd6477f09798549f8f866314e43f4346b8491..a22f891c05b2749d54f051ed6498b708bbb58510 100644 --- a/DiffractionGratings/grating3D_data_torus.geo +++ b/DiffractionGratings/grating3D_data_torus.geo @@ -60,7 +60,7 @@ DefineConstant[ refine_mesh_L_4= {1 , Name StrCat[pp5,"/7refine layers/4refine mesh layer 4 [-]"]}, refine_mesh_L_5= {1 , Name StrCat[pp5,"/7refine layers/5refine mesh layer 5 [-]"]}, refine_mesh_L_6= {1 , Name StrCat[pp5,"/7refine layers/6refine mesh layer 6 [-]"]}, - FlagLinkFacets = {1 , Name StrCat[pp5,"/8FlagLinkFacets? [-]"], Choices {0,1}}, + FlagLinkFacets = {1 , Name StrCat[pp5,"/8FlagLinkFacets? [-]"], Choices {0,1}, Visible 0}, InterpSampling = {15 , Name StrCat[pp6,"/0Interpolation grid step [nm]"]}, Flag_interp_cubic = { 1 , Name StrCat[pp6,"/1Interpolate on cubic grid?"], Choices {0,1} },