From 7c304547a599d83576f01903d88dcfb86da9c70b Mon Sep 17 00:00:00 2001 From: Guillaume Demesy <guillaume.demesy@fresnel.fr> Date: Tue, 26 Nov 2019 07:00:13 +0100 Subject: [PATCH] new (hidden?) FlagLinkFacets --- DiffractionGratings/grating3D.geo | 1 - DiffractionGratings/grating3D.pro | 18 +++++++++++------- .../grating3D_data_2Dlamellar.geo | 1 + DiffractionGratings/grating3D_data_bisin.geo | 1 + DiffractionGratings/grating3D_data_checker.geo | 1 + .../grating3D_data_halfellipsoid.geo | 1 + DiffractionGratings/grating3D_data_hole.geo | 1 + DiffractionGratings/grating3D_data_pyramid.geo | 1 + .../grating3D_data_solarcell.geo | 2 ++ DiffractionGratings/grating3D_data_torus.geo | 1 + 10 files changed, 20 insertions(+), 8 deletions(-) diff --git a/DiffractionGratings/grating3D.geo b/DiffractionGratings/grating3D.geo index 850abe4..b596ca1 100644 --- a/DiffractionGratings/grating3D.geo +++ b/DiffractionGratings/grating3D.geo @@ -221,7 +221,6 @@ EndFor If (tag_geom==3) // Split torus weird otherwise Mesh.Algorithm = 6; EndIf -Mesh.Optimimze=1; // Mesh.SurfaceEdges = 0; Mesh.VolumeEdges = 0; Mesh.ElementOrder = og; diff --git a/DiffractionGratings/grating3D.pro b/DiffractionGratings/grating3D.pro index 8af300f..5c2d3b9 100644 --- a/DiffractionGratings/grating3D.pro +++ b/DiffractionGratings/grating3D.pro @@ -31,10 +31,14 @@ Group { SurfDirichlet = Region[{401,402}]; - SurfBloch = Region[{}]; - SurfExcludeFacets = Region[501]; - // SurfBloch = Region[{SurfBlochXm,SurfBlochXp,SurfBlochYm,SurfBlochYp}]; + SurfBloch = Region[{SurfBlochXm,SurfBlochXp,SurfBlochYm,SurfBlochYp}]; + If (FlagLinkFacets==1) + SurfExcludeFacets = Region[{}]; + Else + SurfExcludeFacets = Region[{SurfBloch}]; + EndIf + L_1 = Region[{L_1_temp,SurfIntTop}]; L_6 = Region[{L_6_temp,SurfIntBot}]; @@ -281,17 +285,17 @@ FunctionSpace { { NameOfCoef un2; EntityType EdgesOf ; NameOfConstraint BlochX; } { NameOfCoef un2; EntityType EdgesOf ; NameOfConstraint BlochY; } { NameOfCoef un2; EntityType EdgesOf ; NameOfConstraint Dirichlet; } - If(oi==2) + If (FlagLinkFacets==1) { NameOfCoef un3; EntityType FacetsOf ; NameOfConstraint BlochX; } { NameOfCoef un3; EntityType FacetsOf ; NameOfConstraint BlochY; } - { NameOfCoef un3; EntityType FacetsOf ; NameOfConstraint Dirichlet; } { NameOfCoef un4; EntityType FacetsOf ; NameOfConstraint BlochX; } { NameOfCoef un4; EntityType FacetsOf ; NameOfConstraint BlochY; } - { NameOfCoef un4; EntityType FacetsOf ; NameOfConstraint Dirichlet; } { NameOfCoef un5; EntityType EdgesOf ; NameOfConstraint BlochX; } { NameOfCoef un5; EntityType EdgesOf ; NameOfConstraint BlochY; } - { NameOfCoef un5; EntityType EdgesOf ; NameOfConstraint Dirichlet; } EndIf + { NameOfCoef un3; EntityType FacetsOf ; NameOfConstraint Dirichlet; } + { NameOfCoef un4; EntityType FacetsOf ; NameOfConstraint Dirichlet; } + { NameOfCoef un5; EntityType EdgesOf ; NameOfConstraint Dirichlet; } } } } diff --git a/DiffractionGratings/grating3D_data_2Dlamellar.geo b/DiffractionGratings/grating3D_data_2Dlamellar.geo index 396f680..dd11804 100644 --- a/DiffractionGratings/grating3D_data_2Dlamellar.geo +++ b/DiffractionGratings/grating3D_data_2Dlamellar.geo @@ -59,6 +59,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",1="2"}}, 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 46c1221..b414a93 100644 --- a/DiffractionGratings/grating3D_data_bisin.geo +++ b/DiffractionGratings/grating3D_data_bisin.geo @@ -59,6 +59,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",1="2"}}, 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 930636e..c670907 100644 --- a/DiffractionGratings/grating3D_data_checker.geo +++ b/DiffractionGratings/grating3D_data_checker.geo @@ -59,6 +59,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",1="2"}}, 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_halfellipsoid.geo b/DiffractionGratings/grating3D_data_halfellipsoid.geo index a2da196..98307e1 100644 --- a/DiffractionGratings/grating3D_data_halfellipsoid.geo +++ b/DiffractionGratings/grating3D_data_halfellipsoid.geo @@ -59,6 +59,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",1="2"}}, 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 cbc63f3..3b42b6a 100644 --- a/DiffractionGratings/grating3D_data_hole.geo +++ b/DiffractionGratings/grating3D_data_hole.geo @@ -59,6 +59,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",1="2"}}, 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 7a05d49..bab8d7f 100644 --- a/DiffractionGratings/grating3D_data_pyramid.geo +++ b/DiffractionGratings/grating3D_data_pyramid.geo @@ -59,6 +59,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",1="2"}}, 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_solarcell.geo b/DiffractionGratings/grating3D_data_solarcell.geo index 86ec842..6b36721 100644 --- a/DiffractionGratings/grating3D_data_solarcell.geo +++ b/DiffractionGratings/grating3D_data_solarcell.geo @@ -61,6 +61,8 @@ 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",1="2"}}, + InterpSampling = { 20 , 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_torus.geo b/DiffractionGratings/grating3D_data_torus.geo index 9f8bca3..509ce89 100644 --- a/DiffractionGratings/grating3D_data_torus.geo +++ b/DiffractionGratings/grating3D_data_torus.geo @@ -59,6 +59,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}}, InterpSampling = {15 , Name StrCat[pp6,"/0Interpolation grid step [nm]"]}, Flag_interp_cubic = { 1 , Name StrCat[pp6,"/1Interpolate on cubic grid?"], Choices {0,1} }, -- GitLab