diff --git a/NonLinearEVP/NonLinearEVP_data.geo b/NonLinearEVP/NonLinearEVP_data.geo new file mode 100644 index 0000000000000000000000000000000000000000..75447842d7431332683e069f29e02a43fdb4d5f0 --- /dev/null +++ b/NonLinearEVP/NonLinearEVP_data.geo @@ -0,0 +1,86 @@ +/////////////////////////////////// +//// Author : Guillaume Demesy //// +//// _data.geo //// +/////////////////////////////////// + +nm = 1.; +epsilon0 = 8.854187817e-3*nm; +mu0 = 400.*Pi*nm; +cel = 1.0/(Sqrt[epsilon0 * mu0]); +deg2rad = Pi/180; + +pp0 = "1Geometry/0"; +pp1 = "2Polarization-Bloch/0"; +pp3 = "3Eigenvalue problem parameters/0"; +pp2 = "4Drude Model parameters/0"; +pp4 = "5Discretization/0"; +pp5 = "6Formulations/0"; +pp6 = "7Output/0"; +close_menu = 0; +colorpp0 = "MintCream"; +colorpp1 = "Ivory"; +colorpp2 = "PaleGoldenRod"; +colorpp3 = "Ivory"; +colorpp4 = "LightSalmon"; +colorpp5 = "Ivory"; + + + + + +DefineConstant[ a_lat = {50 , Name StrCat[pp0 , "1grating period d [nm]"] , Highlight Str[colorpp0] , Closed close_menu} ]; + +// normalization factor +norm = a_lat/(2.*Pi*cel); + +DefineConstant[ + d_sq = {0.806 , Name StrCat[pp0 , "2sq [d]"] , Highlight Str[colorpp0] , Closed close_menu} , + space2pml = {1 , Name StrCat[pp0 , "3space2pml [d]"] , Highlight Str[colorpp0] , Closed close_menu} , + pmlsize = {5 , Name StrCat[pp0 , "4pmlsize [d]"] , Highlight Str[colorpp0] , Closed close_menu} , + + flag_Hparallel = {1 , Name StrCat[pp1 , "1polarization case"] , Choices {0="E //",1="H //"} }, + kx = {0.75 , Name StrCat[pp1 , "2kx [Pi\a]"] , Highlight Str[colorpp1] , Closed close_menu} , + + eps_oo_1 = {1 , Name StrCat[pp2 , "0eps_oo_1 [ - ]"] , Highlight Str[colorpp2] , Closed close_menu} , + om_d_1 = {1.1 , Name StrCat[pp2 , "1om_d_1 [2cPi\a]"] , Highlight Str[colorpp2] , Closed close_menu} , + gam_1 = {0.05 , Name StrCat[pp2 , "2gam_1 [2cPi\a]"] , Highlight Str[colorpp2] , Closed close_menu} , + + neig = {1 , Name StrCat[pp3 , "0neig [int]"] , Highlight Str[colorpp3] , Closed close_menu} , + eig_target_re = {0.0077, Name StrCat[pp3 , "1eig_target_re [2cPi\a]"] , Highlight Str[colorpp3] , Closed close_menu} , + eig_target_im = {0.2598, Name StrCat[pp3 , "2eig_target_im [2cPi\a]"] , Highlight Str[colorpp3] , Closed close_menu} , + eig_min_re = {0.007 , Name StrCat[pp3 , "3eig_min_re [2cPi\a]"] , Highlight Str[colorpp3] , Closed close_menu} , + eig_max_re = {0.009 , Name StrCat[pp3 , "4eig_max_re [2cPi\a]"] , Highlight Str[colorpp3] , Closed close_menu} , + eig_min_im = {0.25 , Name StrCat[pp3 , "5eig_min_im [2cPi\a]"] , Highlight Str[colorpp3] , Closed close_menu} , + eig_max_im = {0.27 , Name StrCat[pp3 , "6eig_max_im [2cPi\a]"] , Highlight Str[colorpp3] , Closed close_menu} , + + paramaille = {4 , Name StrCat[pp4 , "0paramaille [nm]"] , Highlight Str[colorpp4] , Closed close_menu} , + flag_Tmesh = {0 , Name StrCat[pp4 , "2mesh type"] , Choices {0="unstruct",1="struct"} }, + flag_o2 = {1 , Name StrCat[pp4 , "3FEM order"] , Choices {0="o1",1="o2"} }, + + flag_res = {2 , Name StrCat[pp5 , "0resolution type"], Choices {0="Aux_E" ,1="PEP_E" ,2="NEP_E" ,3="Lag_E" ,4="PEP_h", 5="all"},ServerAction "ResetDatabase"}, + flag_outEigvec = {1 , Name StrCat[pp4, "output eigenvector?"], Choices{0,1}} +]; + +// Normalization +d_sq = d_sq * a_lat; +space2pml = space2pml * a_lat; +pmlsize = pmlsize * a_lat; +kx = kx * Pi/a_lat; +eig_target_re = eig_target_re / norm; +eig_target_im = eig_target_im / norm; +eig_min_re = eig_min_re / norm; +eig_max_re = eig_max_re / norm; +eig_min_im = eig_min_im / norm; +eig_max_im = eig_max_im / norm; +om_d_1 = om_d_1 / norm; +gam_1 = gam_1 / norm; + +eps_oo_2 = 1; +om_d_2 = 0; +gam_2 = 0; + +slepc_options_rg = StrCat(" -rg_interval_endpoints ", + Sprintf("%.8lf,",eig_min_re), + Sprintf("%.8lf,",eig_max_re), + Sprintf("%.8lf,",eig_min_im), + Sprintf("%.8lf",eig_max_im)); \ No newline at end of file