Home
        User`s Manual - Grating Solver Development Company
         Contents
1.                    tab   Vacuum wavelength   1 5 microns   Can be changed at will  Grating lines mm 125 Or enter grating period of 8 microns  Theta 30 Angle of incidence  Alpha 45 Unpolarized light  Superstrate index 1 Light incident in vacuum  Substrate index 1 5 Grating material index                   2  Select the editor tab  At the upper left you will see the 2D editor  button selected     3  Press the custom profile selection button  the sawtooth icon   The  default is a blazed grating  Change the angle  C3  to 30 degrees  and press OK     4  You will now see a grating facet in 2D editor mode  The next step  is approximate the ideal grating shape by a number of layers  You  can control the number of layers by selecting the grid button  then  grid properties  and then changing the grid spacing parameters  A  smaller grid spacing number gives more layers          Provided by Daniel Fabricant  e mail 23 Nov 2010     16    GSolver V5 2 User guide    5     You now need to set the scale of the grating facet  For an 8 micron  period  you need to enter an 8 in the vertical scale factor box in the  editor window so that the layers will have the correct physical  scale     You can now select the approximation button in the editor window  and a layered approximation of the grating is drawn  This  approximation will be used for the grating calculations       Now select the Listing Run tab  and press the populate button     You can now see the grating layers described numerically on
2.       jK  y Jk3   k      kz  A A y     K    A K   Wee k     k1 sin    cos g     iK      k    kU sin    sin p      jK     where i and j are integer indices  ranging from    s to  s  where s is the  number of orders retained   k1 and k3 are the magnitudes of the k vectors  in the superstrate  1  and substrate  3  regions  as given previously  For  one  and two dimensional gratings j 0  and the K  term is irrelevant  A   and A  are the grating period dimensions in the x and y directions     All k vectors and fields have now been defined for the superstrate and  substrate regions  The fields in each layer are found by application of  Maxwell   s equations  and expansion of the permittivity in a Fourier series   This results in a set of coupled wave equations that are solved with  algebraic methods  resulting in a set of inhomogeneous plane waves     19 2 1 2 Inhomogeneous Plane Wave Intra layer Solutions    Considering the n    grating layer  assuming the standard time harmonic  formulation  and working in Rationalized MKSA units where B uH   D s  so   E  the curl equations are as follows     VxE  B    M  104H  Ik LH          0      E       V x H D   cg E    we        Ik     E  Mo    Note that extensions to anisotropic media requires that e      a 3x3 matrix   and for magnetic media o     gt HoM  The permittivity of free space may be  substituted as Zo  e0 o P  the fact that c 1  E0uo  and the vacuum  dispersion relation have been used     The electric and magnetic fields are rep
3.      In general I find that AE remains the algorithm of choice in terms of speed  and accuracy  There may be situations where the RK algorithm offers  superior results  for example when AE fails      106    GSolver V5 2 User guide    17 1 6 GAIN    The GAIN setting on the Tools menu item is also new to GSolver V5 1  It  flags the materials index of refraction evaluation routines to permit  negative index of refraction for the Polynomial and Table models  In  essences  a negative imaginary part of the index of refraction implies that  energy is gained as the wave propagates through the material  This may  happen  for example in optically pumped laser gain media     To use a    gain    medium  you will need to either edit the GSOLVER INI  file  or use the GSolver materials editor  Add a table model  for example   and enter negative values for the imaginary part of the index of refraction  over some wavelength range  Then use this new material with the GAIN  flag  from the Tools menu item  set  checked      107    GSolver V5 2 User guide    18 Precision Double Double and Quad Double       GSolver includes optimized extended precision arithmetic including  floating point and complex data types  Double Double refers to 128 bit  floating point made out of two 64 bit floating point words  106 bit  mantissa  21 bit exponent for approximately 32 decimal digit precision    And Quad Double refers to 256 bit floating point implementations  212 bit  mantissa  43 bit exponent for about 64 
4.      This is a relative phase calculation in the sense that it computes phases  that are relative to each other for the set of reflected and transmitted  orders  At each stage of the internal calculation fields are normalized by  the largest  complex  eigenvalue in the related algebraic eigenvalue  problem  as defined by the Fourier components of the layer permitivities   and impermitivities  and Maxwell   s equations  This normalization  improves numerical stability  The absolute magnitudes of the internal  fields are calculated only up to some constant  complex  multiplier     The system of equations is configured so that this normalization has no  effect on the calculation of the external fields  That is  the system of  equations is ordered so that the external fields come first  and back  substitution is used to solve only for those fields     9 3 Graphing    Select the columns to graph  multiple columns can be selected using the  shift and control keys along with the mouse  Click the chart button     The initial chart uses defaults on all settings  To alter any feature of the  graph  click on the various tools  Clicking on most items invokes a  properties dialog for that item  For example to change x axis properties  such as display  limits  and numerical format  simply right click on one of  the x axis tic mark labels and select properties     GSolver   s graphing tool is very powerful  and includes a large number of  display and customization options  More information 
5.     47    GSolver V5 2 User guide    4 3 3 Spline Curve and Ellipse    The spline curve icon is the kidney shaped command icon  The operation  1s similar to the poly line tool  however the shape is smoothed by a cubic  spline estimation through each set of 3 points  Double click to complete  the figure     4 3 4 Classical Form Generation    This tool invokes a dialog whose tools generate Blaze  Triangle   Sinusoidal  General Poly line and General Spline curves  The tool icon for  the classical form  custom profile  tool is a black blaze profile  triangle           orm Profile Construction      Blame proe n dened by ore ange  The wah i 2caled lo 1 ora Haze angie        lo Gnale mesrre    aPC Weight icin sume Ur an path Erte the Bo   Ea  passi mme  poed    gh dagens  o the apak postion ar a fraction of ihe          zj    Use the list box to select among the several predefined profile types     Blaze     A blaze profile is defined by a single parameter  the blaze angle   Enter the blaze angle in grid location C3 in the dialog  After the profile is  updated  clicking the dialog OK button will insert the profile onto the  canvas  The canvas size is increased automatically if needed     48    GSolver V5 2 User guide    General Sawtooth     A sawtooth profile is defined by two sub ninety  degree angles  Enter the angles to define the profile in grid locations C3  and D3     Sinusoid  poly      This profile is a generalized sinusoid constructed by a  piecewise linear approximation  T
6.    data structure with the Copy Update button  on the Listing RUN grid  The    Populate    button copies the     Discrete approximation    data structure to the Listing RUN grid     10    GSolver V5 2 User guide    All horizontal dimensions of the    Discrete approximation    are relative  to the Period which set on the Parameters tab  Thus all Widths for each    layer must total to 1 0     All vertical dimensions are absolute  based on the Units set on the  Parameters tab      Remembering the above two principles will alleviate many sources of  confusion when designing gratings  In general it is good practice to     populate    the Listing RUN grid and do a quick chech the the physical  dimentions are as expected     The RUN command  on the Listing RUN  GA  and Run tabs  operate on  the    Discrete approximation    data structure     1 3 Example Run  Quick Start     The GSolver V5 1 install directory should include GsolverV50 exe   Gsolver ini  the materials catalog   this users guide  and a subdirectory    that contains ChartFX ClientServer core dll  for graphics  and other    graphics related dll files   If an INI file is not found  GSolver will create    one with a default for each material class  Prior version INI files can be    used if a  CONSTANT  section  such as shown below  is added    CONSTANTS   total   3  Ones  1 0  One 25  1 25 0  One 5  1 5  0    This identifies three materials of the following constant refractive indices     1 0  1 25  and 1 5  Besides the  C
7.   Add   OR 01  1R 11  Clear    Clear All                 m Integrated Merit Function    Start Stop  S amples Checked values extend merit    Wavelength Iv  0 4  25 le function over selected range   Theta r fo 45 fio M   gt    parameter   os  o w fi 5 The merit function is summed over    le the parameter range overriding grid    E        Alpha   jo    formulas   Betal 1 45          Th          The Population  Weight  Cross over  and Max Iterations control the  operation of the DE run  The number of real parameters  must be at least  1  is also entered on this dialog  Select the solution mode from the drop  down list box     The Goal settings area of the dialog contains controls for generating input  to the DE metric function which will be minimized  The DE merit  function is as follows     71    GSolver V5 2 User guide    merit   Sm   DE     calc    Z DE goat i    where the sum is over the diffraction efficiency  DE  by orders given in  the Goal settings  Each term in the sum includes a weight factor  which is  also entered in the Goals Setting box     Enter the goals in the dialog by entering an order  R and T for reflection  and transmission  together with a weight and goal and add the selection to  the list  Usually a merit function consists of one or two DE goals  The  object of the DE algorithm is to find parameters that minimize the merit  function  a perfect match is at merit   0      With file version 5 1 1 1 the merit function has been expanded to allow for  the optimi
8.   PI The value of pi    POLY  X       The value of an Nth degree polynomial in X   PRODUCT  X       The product of all numeric values in the argument list   RADIANS X  Converts the angle expressed in degrees to radians   RAND   A uniform random number on the interval  0 1    ROUND X  n  X rounded to n number of decimal places  0 to 15    SIGMOID X  The value of the sigmoid function    SIN X  The sine of X    SINH X  The hyperbolic sine of X    SQRT X  The positive square root of X    SUMPRODUCT R1  R2  The dot product of the vectors R1 and R2     15 2 Statistical Functions    The following lists supported statistical functions    TAN X  The tangent of X    TANH X  The hyperbolic tangent of X    TRANSPOSE M  The transpose of matrix M    VECLEN      The square root of the sum of squares of the arguments    AVG      The average  arithmetic mean  of the arguments    CORR R1  R2  Pearson s product moment correlation coefficient for the  paired data in ranges R1 and R2    COUNT      A count of the non blank arguments    F M  N  F  The integral of Snedecor s F distribution with M and N  degrees of freedom from     to F    ERF L   U   Error function integrated between 0 and L  if U is specified   then between L and U    ERFC L  Complementary error function integrated between L and oo    FORECAST      Predicted Y values for given X    FTEST R1  R2  The significance level of the two sided F test on the  variances of the data specified by ranges R1 and R2    GMEAN      The geometric mea
9.   independent  Shown is an oval shaped dimple being approximated with 4  index boundaries  points where the index may change  in the x direction   and 4 index boundaries in the y direction  The white colored squares are  assigned one material index value  and the gray colored squares are  assigned a second material index value  The grid may be made as fine as  deemed necessary     Using this simple example as a guide  arbitrarily complex structures may  be built by stacking layers  Each layer is independent of the ones above  and below  so that some layers may have fine structure with numerous  index transitions  while other layers might be uniform     19 1 5 Relation of Index of Refraction to Permittivity    All material indices are entered as n and k values  This formulation is used  so that the GSolver sign convention for permittivity need not become a  source of confusion  The index  n   ik   are entered as two real numbers  with n gt 0 and k20  GSolver then forms the permittivity as e  Inl ilkl        InP  Ik    2ilnliki  The permittivity is used in the grating description vector   not the index of refraction  The wavelength specified in GSolver is the  vacuum wavelength     19 1 6 Solution Routines    There are four routines that perform all the calculations for the internal  fields  and boundary condition matching  SolveTE handles the special case  of TE mode polarization for one  and two dimensional gratings  SolveTM  handles TM polarization for one  and two dimension
10.   the Microsoft   Office applications      2 3 Importing grating defitinion by text file    A grating may be defined in text format external to GSolver and imported  using the    File     Import Text    menu item when the Editor tab is active     2 3 1 Grating Text File Format   Following is an example grating definition file format for a two layer  grating structure  The first layer has two regions  and the second layer has  four regions      LAYER    0 213   0 2 DRUDE Lead true   0 8 CONSTANT Ones false   LAYER    0 132   0 12 SCHOTT BSC4h true  0 22 HERZBERGER KCL true  0 26 TABLE SIPOLY 10 true  0 4 CONSTANT Ones false   END     Layers are numberd starting with the substrate and moving up  The  LAYER description starts with the first layer on top of the substrate   which is defined within GSolver on the Parameters tab  and is identified  with the     LAYER     20    GSolver V5 2 User guide    keyword  The first line following the  LAYER  keyword is the  THICKNESS of the layer in MICRONS  be sure to leave the default  GSolver units on the parameters tab as Microns      Following the thickness line is a line for each block of material within a  single period  There must be at least one block definition  a uniform layer  will have width 1 0      A block definition consists of four entries on the same line  a relative  width  based on grating period   a material catalog type which must be one  of    CONSTANT  TABLE  SCHOTT  SELLMEIER  DRUDE   HERZBERGER  and POLYNOMIAL    whi
11.   the RK or BS method succeeded  However I   ve only made cursory  experimentation     I   ve also found that BS generally takes the longest time and takes more  computer resources to give similar numerical accuracy as AE  These  comments are only meant as anecdotal  and based on the class of grating  designs I generally work with     105    GSolver V5 2 User guide    17 1 5 Setting Algorithm Choice    The algorithm setting is determined from the Tools menu  The two user  definable parameters are set by clicking on Tools   Control Parameters  menu item     Control Parameters i x     Runge Kutta and Bulirsch Stoer algorithms take two    parameters  maximum thickness  and relative error   Cancel    Maximum thickness  in relative units  2pi z lambda  flags automatic layer  subdivision  which limits integration depth and improves convergence     Max Thickness   0 7 Recommended value   0 7    Relative error  halts integration when error estimate drops below the  relative error on any step iteration     Rel  Error  10 001 Recommended value   0 001       Max Thickness is the  normalized  maximum layer thickness allowed  If a  layer is thicker than Max Thickness  it is automatically subdivided     Rel  Error is the relative error stopping criteria in the Runge Kutta and  Bulirsch Stoer integration routines     The current algorithm choice  AE  RK  BS  is indicated on the status bar   and is used for any calculation RUN  grating listing tab  genetic algorithm  tab  run tab  3Drun tab 
12.  0 0398411    0 0398411    0 001602    0 956955    0 001602    0 960159    1 00000C       0 0400 0 0397173    0 0397173    0 00284298    0 954597    0 00284298    0 960283    4 00000C       0 0500  0 0395579    0 0395579    0 0044321    0 951578    0 0044321    0 960442    4  00000C       0 0600  0 0393628    0 0393628     10 00636462    0 947908    0 00636462    0 960637    1 00000C       0 0700 0 0391317    0 0391317    0 00863483    0 943599    0 00863483    0 960868    1 00000C       0 0388645    0 0388645    0 0112361    0 938663    0 0112361    0 961136    1 00000C       0 0900 0 0385611     0 0385611    0 0141609    0 933117    0 0141609    0 961439    1  00000C       0 1000 0 0382215    0 0382215    0 0174011    0 926976    0 0174011    0 961778    1 00000C       0 1100 0 0378458    0 0378458    10 0209474    0 920259    0 0209474    0 962154    4  00000C       0 1200 0 037434    0 037434     0 0247902    0 912986    0 0247902    0 962566    Fr Foy ery org Gora perg E org ora ery E oy E    4 00000C       0 1300  0 0369864    0 0369864    0 0289191    0 905175    0 0289191    0 963014    4  00000C       0 1400  0 0365035    0 0365035    0 0333232    0 89685    0 0333232    0 963497    1 00000C       0 1500 0 0359858    0 0359858    0 0379909    0 888032    0 0379909    0 964014    1 00000C       0 1600 0 0354342    0 0354342     0 0429104    0 878745    0 0429104    0 964566    4 00000C       0 1700  0 0348495    0 0346495    10 0480691    0 669012    0 0480691    0 96
13.  4 1 GA Design of a Thin Film AR Coating    In this example the optimal AR  antireflection  coating thickness is sought  for MgF2 on an Al203 substrate in air at normal incidence at 0 5 um    wavelength    1  Start a new grating editor   2  Change the wavelength to 0 5 um on the Parameter tab   3  Change the Substrate material to Table  A1203   4  Using the Rectangle tool in the Editor tab  create a thin film  coating with width of the canvas and of arbitrary thickness    5  Set the material property to Table  MgF2   6  Click the Approximation button which creates the piecewise  grating data structure   7  On the GA tab click Populate   8  On the GA Options dialog  click the Options button  enter the  following goal   ORO 1  click Add    9  This indicates that the specular reflection has O energy the AR  condition  Click OK    10  In cell B12 enter the following formula    if F5 gt 0 amp  amp F5 lt 0 2 F5 0    11  Change ES to 0 4   12  Click the GA test button to exercise the parameter selection and  verify that the thickness is being updated  and constrained  non   negative and  lt 0 2    13  Click RUN GA   14  The merit function  Best Energy  is updated each time a new  minimum is found  The final result is updated to the listing  The  result should be somewhere around 0 09    15  Increasing the maximum constraint may cause the region of    multiple minima to be reached  If so  multiple    optimal    solutions  may be found by executing the GA algorithm multiple times     
14.  All cell formulas begin with an equals sign     and are calculated  immediately   To toggle between formula view  and value view  use the menu Formulas    gt Formula View   The formula engine  included in GSolver is very extensive and powerful  It includes all  common functions  and logicals  with logical conditional  constructs  The formula engine is discussed in the Grid Formula  chapter  Any cell can be used in any formula as long as nested  iterations and a few restricted cells are avoided    This Listing RUN grid comes equipped with a single free  parameter in cell D5  Enter the parameter increment and stop  values as indicated in ES and F5  set them to 0 and 80 respectively   This will cause the value of theta  formula entered in B2  to  change from 0 to 40 degrees in steps of 0 5 degrees    Now click on the RUN button in cell D9  The first thing that  happens is that GSolver cycles through the parameter range  For  complicated formulas the increment and decrement buttons may be  used to single step the grid computation to verify correct behavior    After the first run through  the parameter loop is reset  and then on  each parameter increment the current grating list  as defined on the  grid  is sent to the solver routines  The solution is written to the  Results grid  Results tab        At the completion of the loop  the Results tab is displayed  Select    any column s  to graph by clicking on their headings  Multiple  columns are selected using the shift and ctrl ke
15.  Cale    ID Grid View       D  iv Algebraic Eigenvalue   AE    Vacuum Wavelength   z E ni Runge Kutta   RK  Bulirsch Stoer   BS    Grating Period  fi Control Parameters    UNITS Selection    rsion  from microns  factor          or Lines mm  11000 Allow material GAIN  1 0000  0 00000        1 50000  0 00000   Angles of Incidence   v 64 Bit Floating Point  THETA  fo 128 Bit Floating Point  256 Bit Floating Point  PHI  fo 0    The current Algorithm selection is shown on the status bar in the lower  right hand corner              am     ae y    In the piecewise constant grating approximation  each layer defines  constant regions of  complex  index of refraction that are independent of  depth  Using periodic boundary conditions  in the transverse directions   a    102    GSolver V5 2 User guide    Fourier expansions of the index of refraction  and Maxwell   s equations  that relate the transverse electric field  E   and transverse magnetic field   H   leads to a general coupled differential equation of the form      E   d Es e Es  dz H  H     where the z coordinate is normal to the layer  M is a constant matrix   independent of z in the piecewise constant approximation  and is a  function of the Fourier coefficients of the permitivity  and impermitivity    and of the propagation constants defined by the Rayleigh basis for the  grating     17 1 1 Algebraic Eigensystem Solution  AE     Much effort has been given to the stable numerical solution of this  differential equation system 
16.  GSolver  open the grating file   gs5  containing the desired lookup table and save it to a new filename     92    GSolver V5 2 User guide    14 Material File GSolver ini       The materials file  GSolver ini  format is similar to previous versions  New  to version 5 1 is a constant material class  The various classes are     CONSTANT   HERZBERGER    DRUDE   SCHOTT    SELLMEIER   TABLE     The analytic forms for each of these models is given in section 2 6   Following is a description of the ini file     The ini file has seven sections  the 6 material class sections and the   GSOLVER V5 1  section for comments     Each material section begins with one of the material class names  in   brackets   Following the class name is a line that gives the number of   members of the class which will be read in  It has the following format   total   x   where x is the number of materials  The ini file may be edited with a text    editor  However  it is important to update the    total      line if materials are  added or deleted     Each time GSolver starts  it reads the ini file found in the GsolverV50  directory  If it does not find an ini file it creates a list of default materials  for each class     When GSolver exits  it re creates the ini file  Thus if any material editing  is done within GSolver  the changes are only written out to disk when  GSolver exits     In general no checking is done on the material parameter entries other than  n gt 0 and k20     The recommend material cla
17.  New to GSolver V5 1 is the addition of a 5  order Runge Kutta solution  method for solving the set of coupled constant coefficient differential  grating equations  This method includes adaptive step size control accurate  to 5  order     The implementation of the Runge Kutta follows standard practice  There  are two user definable parameters associated with the RK method  They  are the maximum integration depth  and a relative error     Any grating layer may have an arbitrary thickness  Any particular layer  may be subdivided into m layers  and the RK solution method is then  applied to each sub layer  In this case  the boundary condition solver  propagates the fields through the m sub layers  At issue is the numerical  stability of the RK integrator through a thick layer with potential  exponentially growing solutions  There is also a trade between layer  subdivision and speed of solution  The GSolver boundary condition solver   S matrix methods  are numerically stable  Experience shows that a RK  numerical integration may become unstable for thick grating layers  with  complex index of refraction in TM and conical mount illumination  By  subdividing a thick layer into thinner sublayers  the solution can be made  numerically stable     A heuristic layer subdivision parameter  maximum layer thickness  of  0 75  221z 4 where z is the thickness  and A is the vacuum wavelength   controls maximum layer thickness  If a layer is thicker than this  it is  automatically subdivided  
18.  Profile tool  black triangle   6  Select the General Sawtooth form  and change the angles to 35 and  90  Click OK   7  Select the newly created object and set its properties to  Herzberger ZnSe IRTR 4   This should be the default if the  substrate material was set     o    d    14    GSolver V5 2 User guide    9     10     11    12     13     14     15     16     17     18   19     Select the shape and assure it is moved all the way to the bottom of  the canvas  Then grab the top  center handle and stretch the shape  so that it   s height is 19 units  this equals 1 9 4   7 6 um    Click the Approximation button   Click the GA tab and Populate the grid      Click the Options button and enter the goal as  1T 1 1   1T order     DE of 1  weight of 1   Click Add  then click OK   In cell B7 enter the following formula   if f5 gt 2 amp  amp   5 lt 5 f5 4   This constrains the DE algorithm to only allow periods between 2  and 5 microns  and uses 4 microns as the default   Change D5 to 2 and ES to 5  Click the menu item Grid   Thickness Formula  select All and  enter the formula   if f6 gt 0 amp  amp f6 lt  2 f6  1   This allows for a maximum thickness of 8 and a minimum of 0   Note there are 40 layers in the approximation   Set B10  orders retained  to 8  Set D6 to 0 and E6 to  2  Click RUN GA    While the GA is running  the current generation is displayed together with  the best merit function value  A value of 0 indicates that the goals were  met perfectly     For this example  a 
19.  The bottom selection in the list is    User units     This  allows configuring the conversion for units not in the drop down box   Select this item  and then enter the conversion factor in the related text  entry box     The two quantities that have units in a grating calculation are the  wavelength and the period  The absolute wavelength is needed for the  index of refraction calculation  Otherwise  all calculations are normalized  to the grating period  This implied length scaling is permitted since  Maxwell   s equations are linear     NOTE  With file version 5 1 1 1 a more consistent use of units has been  implemented  with a bug fix  All forms now expect input in the selected  units  The parameters with units are      Wavelength    Period    Layer thickness    The refractive index transitions within a layer are relative to a Period and  so are within the range 0 to 1     3 2 Angles    All angles are entered as degrees  On the Parameters form are four angle  entries that describe the incident plane wave direction and polarization     39    GSolver V5 2 User guide    Polar angles O  theta  and  phi  are defined as shown in the figure below     O is positive for deviation away from the  z axis towards the x axis  is    k z  0  EN  y  A   IZ     X    positive for counterclockwise rotation around the z axis from the    x axis   This convention is for the incident plane wave  k vector  illumination  For  the reflected components the  x axis is used as a reference     The two 
20.  diffraction calculations as GSolver  makes no check on    index of refraction validity        2 7 2 Constant    The Constant material property returns a fixed index of refraction for any  wavelength setting  A Constant material property is specified with a name  and real and imaginary indices of refraction  In the INI file these appear as    name  real value  imaginary value  The colon after the name serves as a text  name  delimiter     2 7 3 Drude    The Drude model is a well known  simple analytic index of refraction  model based on a simplified physical model of the material  A two   parameter model  it is not expected to give accurate results at any  wavelength  particularly above the first model resonance   A Drude model material is entered as   name  pl  p2    29    GSolver V5 2 User guide    Where pl and p2 are the two real model parameters  The relation between  the parameters and the model index of refraction is as follows     n ik  Je   1e        e   p  og p   2  e    P2 P   ANA    pr   ql 10000  A    where A is the wavelength in microns  The square root branch is taken so  that n and k are positive quantities   All n and k in GSolver are treated as  non negative quantities   Typically a Drude model might be used to  estimate indices of refraction for metals in the infrared region     2 7 4 Sellmeier    There are several Sellmeier models in the literature  and GSolver   s 12   parameter Sellmeier model comprehends several of them  A Sellmeier  material is entered 
21.  drawn it is necessary to run the piecewise   constant approximation algorithm on the grating objects  This is  accomplished by clicking on the    Approximation    radio button in the  upper left hand corner of the canvas area  The approximation is  recalculated each time this button is clicked     The algorithm begins operation by scanning through all of the grid points  on the canvas  filling an array with the material properties of any object it  finds  always using the top most object for overlapped regions  If there is  no object found it fills the sampling array with the superstrate property     In the case of grouped objects  the material property that gets assigned is  the first object in the group list  Thus  it is important to keep track of  which objects are grouped  and it is good practice to only group objects of  like material property     51    GSolver V5 2 User guide    Once the sampling array is filled it is then parsed  The array is scanned by  columns and rows to find the maximum rectangle  grouped sampling  points  that satisfies the piecewise constant approximation  For example  if  every grid point happened to have a material property different from any  nearest neighbor  then the result would be a maximal set of squares  centered on each grid point  If adjacent grid cells in a single row have the  same material properties  then the boundaries between them are removed   Columns are scanned before rows  Any adjacent rows that are identical are  combined i
22.  from choice of the  definition of the plane wave vector propagation    k        and i   To  accommodate the European convention  GSolver includes a sign  convention check box on the Parameters form just above the orders  display  This check box only changes the sign of the orders  It has no  effect on the calculation  or the internal representation of the diffraction  orders  The orders are labeled as shown on the Parameters form     3 5 Substrate Superstrate    In line with V5 1 convention  all regions of the grating must be assigned a  material property  The superstrate and substrate material properties are    41    GSolver V5 2 User guide    assigned from the Parameters page using the two labeled buttons  The  button command creates a Material Property Dialog where a material type  and entry may be selected     3 6 Saving    To Save the current grating use the File gt Save menu command  A grating  file always has a   gs5 type  If the Listing  Results  or GA form data grid  contents need to be saved  use the Grid gt Save Grid menu command  Data  from grids are saved as ASCII text    txt  files     42    GSolver V5 2 User guide    4 Graphical Editor  Editor Tab     The graphical grating editor  as shown below  is the primary tool for  defining a linear grating structure  Note that crossed gratings are handled  separately for both editing and calculation  and are discussed in the  3DEditor and 3DRun chapters                Osea   eje Rem  pros nocosaA    Parameters Editor  u
23.  in range R    TTEST2EV R1  R2  The significance level of the two sided dual  population T test for ranges R1 and R2  where the population  variances are equal     15 3 Conditional Statistical Functions    The following lists supported conditional statistical functions   TTEST2UV R1  R2  The significance level of the two sided dual  population T test for ranges R1 and R2  where the population  variances are not equal     96    GSolver V5 2 User guide    VAR      The sample variance  N weighting  of the arguments    VARS      The sample variance  N 1 weighting  of the arguments    VSUM      The visual sum of the arguments  using precision and  rounding of formatted cell values    CAVG      C  Conditional average    CCOUN      C  Conditional count    CMAX      C  Conditional maximum    CMIN           Conditional minimum    CSTD      C  Conditional sample standard deviation  N weighting     CSTDS      C  Conditional sample standard deviation  N 1 weighting     CSUM      C  Conditional sum    CVAR      C  Conditional population variance  N weighting     CVARS      C  Conditional population variance  N 1 weighting      15 4 String Functions    The following lists supported string functions    CHAR N  The character represented by the code N    CLEAN S  The string formed by removing all non printing characters  from the string S    CODE S  The ASCII code for the first character in string S    EXACT S1  S2  1 if string S1 matches string S2  otherwise 0    FIND S1  S2  N  The index of
24.  ini  is now written to the root   directory  location of the GsolverV51 exe file      More consistent use of units  All forms now expect input in the   user Units selection  made on the Parameters tab       The genetic algorithm merit function has been expanded to   allow for summing a result over a set of angles or wavelengths   This allows for optimization over certain parameter ranges      The results of a Grating Listing run or a GA run can now be  copied to the internal piecewise grating structure allowing for the  results of  say  a GA run to then be used directly in a Grating  Listing run or from Run     1 1 2 New V5 2 Features    Version 5 1 release included some 30 interim upgrades with various bug  fixes and addition of new features  Version 5 2 release includes a new  editor  patterned on the legacy V4 20 editor  A clear understanding of the  interrelation between the various grating definition editors and the internal  grating array is essential  The various user interactions are described in the  following section    GSolver V5 2 User guide    1 2 GSolver Grating Definition    GS4 Editor    ar  A e e l a   ae       SAIS          Listing  Run View                Ue 1400 e   e  i 4       JE          Al     eth          All calculations are performed on the    Discrete approximation    of the  grating structure  This is best viewed examined from the Listing RUN  view tab  Note that changes made on the List RUN view grid are copied to  the    Discrete approximation 
25.  look to the column just left of the current cell     e Offset values may be constants or expressions    Examples   e   0  1  refers to the cell above the current cell  e    2  refers to the cell two columns to the left of the current cell  e   1  refers to the cell to the right of the current cell  e   0 1  refers to the cell below the current cell    e  CSUM C4  C100     1      Joe   calculates the sum of all the  values in the range C4  C100 for which the cell in the column to  the left contains the string  Joe      e  CCOUNT C4  C100      0  1   counts all the cells in the range  C4  C100 whose value is greater than the contents of the cell  immediately above     e  verb   1 2  adds 2 to the cell value from the cell to the left   6 4 1 2 Constraint Expressions    Constraints are limitations or conditions placed on the variables in the  gird  They are expressed as algebraic statements appended to formulas  A    66    GSolver V5 2 User guide    constraint expression can be attached to any formula  by typing a  semicolon     and the constraint conditions after the formula     Constraint expressions establish either conditions under which a formula  operates  or boundaries for valid results of the formula  Constraint  expressions can be simple equality inequality relationships  or arbitrary  formulas  Any valid grid expression that returns a numeric value is a valid  constraint expression  However  unlike the expression that defines a cell  value  a constraint expression can 
26.  matrix  Q are the eigenvectors  and A  is a diagonal eigenvalue matrix  The coefficient matrix is reduced to this  form through the equivalence of a field normalization that removes the  constant diagonal term  Multiplying the matrices leads to the following     B  B  Q     OQ AWA  B B Q    QAN    hence  Qi  Q  Ay  A   Q    B  QA  Qy   0      These relations are used to reduce the overall eigensystem computational  effort by about a factor of 8     19 2 1 5 Permittivity and Impermitivity    For infinite orders  the permittivity and impermitivity are strictly inverses  of each other  For finite orders  this relation no longer holds  This is the  origin of the convergence issues with coupled wave expansions  In  GSolver  both the Fourier coefficients of the impermitivity and    122    GSolver V5 2 User guide    permittivity are computed  and the inverses are also computed  The  Fourier coefficients enter into the coefficient matrix calculation as a  Toeplitz matrix  so the inversion can be done much faster than if it were a  general matrix inverse calculation  The inverse of a Toeplitz matrix is  generally not a Toeplitz matrix     The question remains as to where to substitute the Toeplitz impermitivity  matrix with the inverse of the permittivity Toeplitz matrix  eh and ah are  the permittivity and impermitivity Toeplitz matrices  stored as vectors to  reduce memory   ehl and ah  are the coefficient matrices computed as the  inverses of eh and ah  They are not Toeplitz  and 
27.  on grating structures that have  complex substrate indices of refraction  the imaginary part is ignored on  the second run through the parameter set     20 1 TracePro   Run Example    1  Start a new GSolver top level window by opening GSolver  or by  clicking on File gt New    2  Define a grating structure using the Editor tools and click on the  Approximation button in the usual manner    3  Click on the RUN tab    Click on the menu item Tools     gt TracePro gt Setup Run   The following Dialog should now be showing    cana    129    GSolver V5 2 User guide    Trace Pro Property Data xj    Use this dialog to set the RUN tab parameters for a TracePro OK  properties calculation on the current grating defintion    ok    After Results have been tabulated  return to RUN and click the menu Cancel    item Tools   gt TracePro   gt  Write File     Two sided calculation    fo Theta Start m Information fields  les Theta Stop  295 Temperature  K      2 Theta Increment Ao  Description      0 PhiStar  Enter description   so Phi Stop                 2 Phi Increment  3 Orders  fi Wavelength Start  microns    2 Wavelength Stop  microns      0 1 Wavelength Increment  microns        This dialog lists the parameter settings that will be executed in the          TracePro    run     l   2   3     Set the various parameters to the desired values   Click OK to continue   GSolver estimates the number of calls needed to complete the loop  and reports the result in a dialog  Click OK    When the firs
28.  reference to the range defined by    99    GSolver V5 2 User guide    coordinates N1 through N4    ROW  C  The row address of the cell referenced by C    ROWS R  The number of rows in the specified range R    S R  The string value of the top left cell in range R    VLOOKUP X  S C  The cell in range S that is C columns right of X    DFT R  The Discrete Fourier Transform of the range R    EIGEN M  The eigenvalues of the matrix M    FFT R  The Discrete Fourier Transform of the range R using a fast  Fourier Transform algorithm    FREQUENCY  R  B  F frequency distribution for R with intervals B    INVDFT R  The inverse of the Discrete Fourier Transform of the range R    INVERT M  The inverse of matrix M    INVFFT R  The inverse of the Discrete Fourier Transform of the range R  using a fast Fourier Transform algorithm    LINFIT X  Y  The straight line least squares fit     100    GSolver V5 2 User guide    16 Graphing Options       The graphing engine uses ChartFX ClientServer Core dll  the ChartFX    core graphing engine  which provides general chart object options     Charts are created from the Results tab  and from the Materials Editor     The general chart has eight regions that can be customized  Customization  is accomplished by right clicking on a region to create a menu list  and  then selecting the options to modify  The eight regions are identified in the  figure shown below  The Axis properties menu is activated by clicking on  one of the tick mark labels for the desir
29.  the  spreadsheet     Now you can select the run tab  If you check the wavelength box  and enter appropriate parameters you can calculate the grating  performance in various orders as a function of wavelength  Now  press the run button  When the calculation is complete  the results  screen pops up  Highlight a column and press the chart button to  get a plot of efficiency versus wavelength in the chosen order     1 3 4 Yet Another Blaze Procedure    1     2     Set the superstrate  substrate  Period  wavelength and so forth on  the Parameters tab    Click over to the GS4 Editor and click on the N ties option  This  brings up a GS4 dialog  more on this in the GS4 section below    Enter the desired blaze angle in the Balze angle calculator  press  the    enter    key to display the result  Not the    pct    value  This is the  position of the apex of the    triangle    profile relative to the current  Period    Click on the handle in the graphic and drag it to so the x  position  is either the pct value of 1 pct value  depending on left right  orientation     Enter the h  value in the Total thickness box  which translates to  the maximum y dimension for the profile      17    GSolver V5 2 User guide    6  Decide on the number of level you want for the discrete  approximation   7  Set the base and top index values and click OK     18    GSolver V5 2 User guide    2 General Principles       2 1 Overview    User Interface   GUI     Data Structures   Global Parameters   Material ca
30.  the RUN button is clicked  the parameter in D5 is incremented by  the amount in ES until it equals or exceeds the stop value set in F5     60    GSolver V5 2 User guide    The order of operation of GSolver when the RUN button is clicked is to  first increment the D5 parameter from its current value  update all  formulas  and continue through to the Stop condition  All formula  dependencies are calculated  but error checking is minimal  D5 is then  reset to the starting value the parameter loops through its range again  this  time taking the Listing values in column B  and running the related  diffraction calculation for each step     The following example assumes that a grating structure has been defined  and populated on the listing grid  such as the coated blazed grating  example given in 4 3 5     6 2 1 Using Listing RUN to find the diffraction efficiency    as a function of incident angle  theta  example   1  Populate the grid by clicking the       Populate button  2  Enter the following formula into cell    B2    D5 100 A  3  Enter 0 into cell D5  1 into cell E5   and 80 int cell F5    4  This formula and set up will change the value of the theta  parameter from 0 to 80 in steps of 0 01 degrees   5  Click RUN    The D5 parameter runs through its range  updating cell B2  and then is  reset to the starting value  The loop is repeated  this time running the  diffraction calculation  The progress bar estimates the time to completion     At the end of the calculation the res
31.  the first occurrence of S1 in S2    HEXTONUM S  The numeric value for the hexadecimal value S    LEFT S  N  The string composed of the leftmost N characters of S    LENGTH S  The number of characters in S    LOWER S  S converted to lower case    MID S  N1  N2  The string of length N2 that starts at position N1 in S    NUMTOHEX X  Hexadecimal representation of the integer portion of X    PROPER S  The string S with the first letter of each word capitalized    REGEX S1  S2  1 if string S1 exactly matches string S2  otherwise 0   Allows  wildcard  comparisons treating S1 as regular expression    REPEAT S  N  The string S repeated N times    REPLACE S1  N1  N2  S2  The string formed by replacing the N2  characters starting at position N1 in S1 with string S2     97    GSolver V5 2 User guide    RIGHT S  N  The string composed of the rightmost N characters of S   STRCAT      The concatenation of all the arguments     15 5 Logic Functions    The following lists the supported logic functions    STRING X  N  Numeric value of X as a string to N decimal places    STRLEN      The total length of all strings in the arguments    TRIM S  The string formed by removing spaces from the string S    UPPER S  The string S converted to upper case    VALUE S  Numeric value of S as a string  0 for non numeric S    FALSE The logical value 0    FILEEXISTS S  1 if file S can be opened for reading  otherwise 0    IF X  T  F  The value of T if X evaluates to 1  or F if X evaluates to 0    ISERROR X  Re
32.  to the end of the list  When grating structures are stored  the material  property is stored as an index into the material list  When a saved grating  is loaded  materials are loaded by index  not by name  Therefore if  materials are rearranged by editing the INI file  this might effect the  properties of a saved grating  If needed  multiple copies of the material   INI  file can be used  Copy the needed file into the root directory  where  the exe is located  before starting GSolver  GSolver reads the INI from the    28    GSolver V5 2 User guide    root directory  If one is not found there a new one is created with minimal  entries     The material model parameters are stored in the GSolver ini file detailed  in the GSolver ini section  This ASCII file can be edited with a text editor  such as Notepad  Described below are the various material models  their  parameterizations and representation within GSolver     2 7 1 Models    GSolver currently has six index of refraction models  Constant  Drude   Sellmeier  Herzberger  Schott  Polynomial  and Table  Of these models   the Constant  Drude  Polynomial  and Table give complex indices of  refraction  the others are real valued  The Table model offers the most  flexibility as the entries may be made with a wavelength resolution as fine  as desired     Each model has approximate validity over a continuous  finite range of  wavelengths  The user must assure that the wavelength values remain  within the valid range throughout the
33.  wavelength fi f2 for  Theta fo fe f2  pif fo  0  2    Alpha fo fo  2    Bta fo fs      TotalDepth fo fi fon  xPeiod ff f2 for    Bo     Diffraction Efficiencies 3  Write Fields to File    RUN   STOP              0         Physical Memory  532 14 Mt   7 44PM   2       Selected parameters generate a loop structure within which the solver  routine is repeatedly called  As the solutions are found  they are written to  the Results tab in the normal way     Diffraction efficiencies and phases are just as in the case of linear gratings   Please refer to the RUN tab chapter for more information     87    GSolver V5 2 User guide    12 Angles Calc    Angles Calc is a tool to calculate the diffraction order angles  The  propagating directions of the orders are determined by the wavelength   period  incident k vector  and the super  and substrate indices of  refraction  and do not depend on the details of the grating structure  The  grating structure determines the magnitude of energy in each order            Urititied   GSalver  S50     Ble Ese Fomet Formo Yew Tods Grid Component about   Ser ee a OROA      Syren   rome   inte   ai   mn EST          Diffraction Order Angle Caleslation    Free Parameter  horenect    0o 0 0 0 0 0 90  0 0 0    i  0572  lao  50  EJ  190  E  E  150  lso  lso    000000000       Phepsical Memory  476 46 Nt Tarn       The basic layout of the Angles Calculation tool follows the general format  of the Listing RUN and GA forms  There is a free parameter  cell D5  
34.  x  y  z    Ngase  n    mod    YA  sin 2 jz  sztan p     B  cos 2 jz   sz tan        j 0    where Mbase the base index of refraction  and Amoa the modulation index   The period is normalized  one grating period   and s 27 thickness     is the  so called slant angle and causes modulation in the z direction  When g  0  only one layer is needed     The general index is then descretized into a number of layers and number  of steps within each layer  This a piecewise approximation to the index  variation  It is convenient to choose a step size  number of blocks  that is  commensurate with the grid     The Sy tool  button Sy  is used to generate a fringe pattern that is parallel  to the substrate  The index of refraction is given by    AZ    Piso   Umod YA  sin  257 z    B  cos 3    j 0  where n z  varies in the normal direction only and T is the layer thickness     Since GSolver is material oriented  the various constant regions within a  holographic layer are assigned the    constant    material property   independent of wavelength  The material catalog is augmented with as  many constant material regions as called for  When invoked  GSolver first  looks through the Constant material list to see if a material already exists  with the required index of refraction  If one is not found a new material is  created and appended to the list  When GSolver is exited  the GSolver ini  material catalog file is rewritten with the new materials     55    GSolver V5 2 User guide    5 GS4 Edito
35.  zero  value as FALSE     Integer operators      amp            convert their argument s  to integer first     The maximum number of grid columns is 4096  The maximum number of  grid rows is one million     Entries that begin with the apostrophe character are treated as text     Covered cells cannot be altered  This feature is used on any cell that  contains labeling information     Do not use commas or spaces to delimit pure numbers  Scientific notation   E convention  is supported     A range of cells can be referenced absolutely such as A2  A10  Cells may  also have relative references     6 4 1 Syntax    In general a formula will have the following syntax   expression  constraint expression    comment    where expression defines the calculations  constraint expression places  limits on acceptable values or circumstances under which the calculation  should take place  and comment may be any text  It is recommended that  constraints be entered using the if      function  otherwise the grid will  generate an information dialog each time a constraint is violated     6 4 1 1 Expressions    Expressions are algebraic formulas comprised of values and operators that  define the relationships between values  They adhere to the following     e A formula must begin with an equal sign    64    GSolver V5 2 User guide    e The grid automatically assumes you are typing a formula if you  begin with any of the following characters    0123456789         e Spaces are ignored but count again
36. 1    560 2   orders  1   8224  For crossed gratings it is  bytes  1760 2   orders  1    560 2   orders  1    8224    Notice that for crossed gratings the size of the memory requirements  grows as orders retained to the fourth power  In addition  both the  eigensystem solver  and the boundary system solver  which operate in a  manner similar to matrix inversion  require computer operations that grow  roughly as the cube of the size of the arrays  With just a few orders  retained on a crossed grating  a significantly large eigensystem problem  must be solved  for each grating layer   In computer terms there are a huge  number of multiply accumulate operations needed for finding each  eigenvector and eigenvalue  and for matching boundary conditions   Considering that the basic floating point formation on a typical Intel    processor is limited to 64 bits  80 bit internal   difficulties with round off  error are to be expected     Since GSolver is a full vector implementation and a 3D structure is a  natural subset of the problem space  the 3D structure solver is included   However  due to symmetry issues  the 3D structures generally do not lend  themselves to the several convergence and numerical acceleration    tricks     employed in the normal  linear  grating solver routines  There are  in fact     83    GSolver V5 2 User guide    four solver routines in GSolver  a TE solver  a TM solver  a general linear  grating solver  and a full crossed grating solver  The first three tak
37. 515    1 00000C       0 1800  0 034233    0 034233    10 0534543    0 858858    0 0534543    0 965767    1 00000C       0 1900 0 033586    0 033586    0 0590525    0 848309    0 0590525    0 966414    1  00000C       0 2000 0 0329101    0 0329101    0 06485    0 83739    0 06485    0 96709    1 00000C         0 2100  0 032207    0 032207    10 0708325    0 826128    0 0708325    0 967793    4 00000C         0 2200 0 0314786    0 0314786    0 0769854    0 614551    0 0769854    0 968521    Saf f      3 3    3      1 00000C         0 2300 0 030727    0 030727    0 0832934    0 802686    0 0832934    0 969273    1 00000C       0 2400  0 0299544    0 0299544    0 0897408    0 790564    0 0897408    0 970046    1 00000C         0 2500 0 0291632       0 0291632       0 0963111       0 778215  k       0 0963111  Ube       0 970837       Brg peg pare             1000000 y   gt     Physical Memory  535 29 Mt  7 41PM   Y    The first line of the results grid contain headers that identify each column   The general format is  R and  T for diffraction efficiencies where   is the    79    GSolver V5 2 User guide    order number  On the far right are columns labeled  r and  t  These are the  phase data  in degrees   Between the diffraction efficiencies and the phase  data are several columns that list the values of the global parameters     If the RUN tab is used to generate the results  the first column is a list of  the current value of the first parameter checked  Thus  if multiple  para
38. 73    GSolver V5 2 User guide    While the GA is running  the current generation and best merit function  are displayed  A merit function value of O indicates that an optimal  solution has been found based on the goals given     Upon completion the GA loads the values of the best parameters to the  grid and creates a table of all the diffraction orders   Orders to  Orders for  T amp R      This example is easily extendable to include multiple thin film layers   Simply add the materials in the Editor tab and use a separate parameter for  each layer thickness     7 4 2 GA Design Example 2    This example considers a sawtooth profile  such as might be cut by a DPT   diamond point turning  machine  in ZnSe  The problem is to find the  optimal sawtooth profile  depth and period  to maximize transmission in  the  1T order   i order convention box on Parameters tab unchecked  for 3  um wavelength  TE polarization  and for 30   incident light   1  Start a new grating  2  Change the wavelength to 3 and the substrate material to  Herzberger  ZnSe IRTR 4  and check the Lambda change update  box   This tells GSolver to update the index of refraction if the  wavelength changes    Change Theta to 30  4  From the Editor tab  change the canvas properties  Edit gt Canvas  Properties  so that Canvas height is 2  This allows for grating  structures that are 2x the grating period  creating an approximation  with a large number of layers for finer resolution   On the Editor tab  select the Custom
39. Blaze  Triangle  Sinusoidal  Piecewise linear  and Piecewise spline    2  In the Blaze grid profile  select the desired blaze angle  change the  default 35 in cell C3  or leave it as 35   Click OK    3  A blazed profile is created  A blaze grating profile is a right  triangle  Select a material property for the triangle by right clicking  1t    4  At this point it is easy to create a conformal layer for this profile   Select the triangle shape just created with a mouse click  then hold  down the control key  and click and drag the triangle  A copy of  the triangle is created  Change the properties of the new triangle   Then send it behind the original triangle by right clicking the new  triangle and using Order   Send to Back  Move the second triangle  so that a thin conformal layer is created around the original  triangle  The small gaps left in the lower right and left sides can be  filled in with rectangles of the appropriate material settings     15    GSolver V5 2 User guide    5  Click the Approximation button to create the piecewise constant  approximation used by GSolver   6  Perform a grating calculation using the RUN or Listing RUN tab     1 3 3 Alternative Blaze Procedure     Here  we describe how to set up a blazed surface relief transmission  grating with the facets towards incident light  This example is for a 125    line mm grating with a blaze angle of 30    with light incident at 30       1  Begin by filling in the appropriate information on the parameters   
40. E DOUBLE AND QUAD DOUBLE          108  18 1 1 EXAMPLE CALCULATION   cnoooccccccconcnnnninonoconcnnnnonananncconccnonenananinss 109  19 DIFFRACTION SOLUTION IMPLEMENTATION             0020 112  19 1  THE GRATING iccssscssccccscscesssscscccccssdecdsescsdcccecsescdsocsssccscasssvsdesssssese    112  19 1 1 STRATIFIED GRATING APPROXIMATION    occcononnnnnnoncccncnnononaninisos 112  19 1 2 1 DIMENSIONAL GRATINGS           ccccccccsseeccccescecccceseccecceseeceeeeners 112  19 1 3 2 DIMENSIONAL GRATINGS          ccsccccccssecccccsccccccescececceseeseceeners 113  19 1 4 3 DIMENSIONAL GRATINGS   oocccccononcnnnnoncccncnnononananacicnconononananinos 114  19 1 5 RELATION OF INDEX OF REFRACTION TO PERMITTIVITY              115    GSolver V5 2 User guide    19 1 6 SOLUTION ROUTINES  uciiaciciita dial 115  D E A O CL 116  19 21 MAXWELLS EQUATIONS used aie is 117  19 2 1 1 Superstrate and Substrate Solutions       ooonoconnnococoncccconacnnnananos 117  19 2 1 2 Inhomogeneous Plane Wave Intra layer Solutions                  119  19 2 1 3 Formulation of Eigensystem Solution    121  19 2 1 4 Eigensystem Order ReductiOM     coooocnnncccnoncccnonccononcnonnncncnnncnos 122  19 2 1 5 Permittivity and ImpermitivitY    ocoocoonnncccnoncccnoncncnnnnnnnnnnninnnanos 122  19 2 2 INTRA LAYER SOLUTIONS  BOUNDARY CONDITIONS   ccoocconccnno  123  19 2 2 1 Gaussian Elimination i502 uci ssa Ge assess seen 124  19 2 2 2 Stack Matrix Methods add i   125  20 TRACE PRO MATERIAL RUNS eococccccccnccnccccnncccnnccnn
41. EFRACTIVE INDEX COLOR MAP DIALOG           cccccsssssssssssssseseees 91  14 MATERIAL FILE GSOLVERLINI               cccsscssssssssssesecssscesssoseees 93  15 GRID FORMULA ENGINE             ccsccssscscssccsscscscsssscscsscosscssssonsees 94  15 1 MATHEMATICAL FUNCTIONG        ccccccccsssssssccccccccccccesescccccccecescssens 94  15 2 STATISTICAL FUNCTIONS tesscssdescsdtestacsesscsedscssatedecssdcedacstecacsossecsocs 95  15 3 CONDITIONAL STATISTICAL FUNCTIONS cocos    96  15 4   STRING FUNCTIONS icicscccssccscccscsssccsecsescesscsssccsesscscsdscasecssecssscesscaeses 97  15 5    LOGIC FUNCTIONS sidesiscscscccccacdoseccdcddccosssddssccssdescssssdesscescs  ccosssdcssse    98  15 6 DATE AND TIME FUNCTIONS        ccccccccscsssssssccccccccccccssescccccccsccscesens 98  15 7 MISCELLANEOUS FUNCTIONS         cccccsssssssssssssssssssssssssssssssssssseseees 99  16 GRAPHING OPTIONS sesscicissssccsiscnssossscdeisacnssetiosnssccnsdenpscuasvasssons 101  17 ALGORITHM SELECTION                cssccssssccsscccscssscessscsessccseoess 102  17 1 1 ALGEBRAIC EIGENSYSTEM SOLUTION  AB          c  0 sccceceeeeeeeees 103  17 1 2  5    ORDER RUNGE KUTTA  RK    oooconicccccncononincnnnncnnoncncnncncnnonos 104  17 1 3 BULIRSCH STOER METHOD  BS           cc sccccccececeesessnsececeseeseeenens 105  17 1 4 GENERAL METHOD COMMENTS            csseecccceseececcescececceseececeeners 105  17 1 5 SETTING ALGORITHM CHOICE             cssseececceseececcecececceseececeenees 106  LAZO  GAIN usadas 107  18 PRECISION DOUBL
42. G B  fo  o fo fo Replace   Insert   Delete   COLOR            The Color map has two components  lists of piecewise linear breakpoints  through RGB space for both the real and imaginary components of the  index of refraction  Break points may be added and deleted from the list     For example  given n  as the real part of the index of refraction  a search is  made through the real breakpoint list to find the two break points that  bracket n  These two points define two RGB coordinates  The color of the  given n lies along the line between these two points in RGB space as a  linear interpolant  The same goes for the k value with the list of imaginary  component break points     This scheme allows for fairly general color assignments to the real and  imaginary parts of the index of refraction  The representation of the colors  is done with a two color fill pattern made up of a cross hatch against a  solid background     Changes to the default color map are stored with the grating in the gs5 file   Therefore  when starting GSolver  each new grating has the default values     34    GSolver V5 2 User guide    To use modified values simply save a simple grating as a gs5 file  Loading  that file will change the color map to the saved settings     2 8 Materials Editor    The Materials Editor Dialog  as shown in the figure  provides a graphical  editing tool for the material catalog items  Any changes made using the  Materials Editor do not get written to the GSolver ini disk file unti
43. GSolver V5 2 User guide    where E is a vector with complex coefficients  to account for  polarization   R  are reflected  diffracted  complex valued E field  amplitudes  and T  are the transmitted  diffracted  complex valued E field  amplitudes  kj are the wave vectors for the superstrate  1  and substrate   3  regions    is the square root of  1     The kj vectors are known in regions  1  and  3   as well as Einc  Orienting  the coordinate system so that z points from the superstrate to the substrate  k    k1 sin 9  cos g x   sin 9  sin g  Y   cos   Z   27m    kl    A    E   uexp    Jk   r   u    sin T  cos    cos        cos T  sin g   xX     sin 7  cos    sin      cos 7 cos p  Y     sin 7 sin 0 Z  where cos t  and sin t  are complex numbers  such that  llull lu l luyl lu l 1  Explicitly  sin 7    Complex sin a  cos   P   cos    sin f    cos T    Complex cos a  cos f   sin a  sin P    where Complex      is a complex number a ib     Obvious changes in sign need to be made for coordinates systems where  the z axis points from the substrate to the superstrate     In each layer the kx and ky components of the k vector are identical  because of continuity of transverse field components  Knowing the values  of the magnitude of the k vector in regions  1  and  3  leads to the  following equations     118    GSolver V5 2 User guide    k1    k1  sin 9  cos g   iK         sin    sin y      jK    9    k1 k   k 2    5 7 A     x A 2 2A  k3     k3  sin    cos p     iK   x    sin    sin g
44. Grating Solver Development Co     www gsolver com    User s Manual    GSolver    Diffraction Grating Analysis for Windows    Version 5 2    Grating Solver Development Company    www gsolver com    GSolver V5 2 User guide    GSolver Version 5 2 User   s Guide    Product Design  Author  David Fluckiger  PhD    This Manual       Copyright 2006  2007  2008  2009  2010  2012 David Fluckiger  All Rights  Reserved    Trademarks used in the manual are the property of their respective owners     7  Edition  July 2012  updated to reflect version 5 2 1 4 of code     Grating Solver Development Company    Contact information  http   www gsolver com    GSolver V5 2 User guide    1 INTRODUCTION  iii iii A RA A E AAA 8  1 1  COVER ria 8  Leda    NEW Vaud FEATURES aria 9  19 32  NEW V 5 2  FEATURES   lt  4 2  5 028 238 ies en Ai 9  1 2 GSOLVER GRATING DEFINITION       sssccccsssssscscsssssesssssssccsssssssccsesses 10  1 3 EXAMPLE RUN  QUICK START         ccssssscsssssscccsssscssssssccssssssccssscsses 11  1 3 1 BINARY GRATING EXAMPLE o cccccccccccocononononononononononinononanoninininineness 12  1 3 2 BLAZE GRATING EXAMPLE       cccccccccccccccscccccsesescsescsesesesesssesceeeseeees 15  1 3 3 ALTERNATIVE BLAZE PROCEDURE         ccccccccecccccescsesceesescseseseseseess 16  1 3 4 YET ANOTHER BLAZE PROCEDURE    cocccccccccccccconononononononananenenanenes  17  2 GENERAL PRINCIPLES  sccccsscasssssisesnstonssensnsonnssentisevnstbssnnsacssivon ste 19  DM  OA suduiencnsSuessecusevass booskbacbnssuusa
45. ING CONSTRAINTS   sseseesseseessssecessscoceessocecssccecsscseceesoeceesseceessee 72  7 4 1 GA DESIGN OF A THIN FILM AR COATING  cccocococonononononononononinononos 73  7 4 2 GA DESIGN EXAMPLE 2   oocccccccocccononononononononononononononononononononononononos 74  8 EXECUTION  RUN TAB   8 1 1 RUN CONSTRAINTS occcccnconnnononcnonoccnncnnnnonononnnnononnnnnnonononconononnnanennnos 77  8 1 2 1   ORDER LITTROW ia 78  9 13    WRITE FIELDS TO FE didas 78  Sd   CRUNIS TOP ta A ti AAN 78  9  RESULTS TAB ssiotononitocoo conidios ona dina IRA ca Ainas rosana 79  9 1 DIFFRACTION EFFICIENCY     cccsssssssscscscsssssscssccccssssssssssccccsscssssssssees 80  D2  AA OTTO 80  93 A etase soetas eeneioe iio tsas asako iaoe ioeie s seisa nie 81  1D  3D EDITOR TAB   rides ito aid docena 82  10 1 LIMITS ON SOLVING 3D STRUCTURES        sscccssssssssssssscccsssssccsceses 83  10 2 DEFINING A 3D GRATING       sccssssscssssnscssscsescosscescccossnssessssoscssoosses 84  10 2 1  HOLOGRAPHIC TOOL isidro til 85  ARA ts soss te sbeses ceset sizesis 86    GSolver V5 2 User guide    1  IDRUN TAB cial did a isaac Es 87  12 ANGLES CALC   ii 88  12 1 EXAMPLE DE ANGLE CALC  2         ccccsssssssssssssssssssssssssssssssssssssssseees 89  12 2 DEFINITION OF THE ANGLE CALC          ccccssssssssssssssssssssssssssssssseees 89  13 DIALOGS wisscciaceosiedsstues dacwssevsideatsecasscrsvncdsssnndduccosnssdsssscussuvesvcndsdassvdents 91  13 1 REFRACTIVE INDEX SELECTION DIALOG           cccccsssssssssssssssseseees 91  13 2 R
46. N OF OLE COORDINATES o ooccccccccococonononononononenininininenenes  37  2 10 2 V4 20C DATA IMPORT CRASH oococcccccccoconoconononononononononononinininacaness 37    3  PARAMETERS TAB ssi  ccccsecsccssscsvecassnsssssseccensepenedastecesovasvicssstsereuesc DO  3L  UNITS SELECTION vices csoncediscecennscconeudacsosenavcdondeeuseshavacdestusnxdossccandesocd O0   3 2    ANGELES cia OF  3 3     STORES DERINITION a aia L  3 4 ORDER CONVENTION gisssnissscossassossencanscsenstocassecabscvossasnavossusbowosescnaceve FL  3 5 SUBSTRATE SUPERSTRATE    eesseseessececsscsccessscceesscoceesseceesscsecsssseeeessee FL  A O G2    4 GRAPHICAL EDITOR  EDITOR TAB             csscessssssssssscsssceees 43  4 1 COORDINATE SYSTEM         ccsssssscssssccccsssscscccssssscccsssssccccsssssccscssssscess FD  4 2 CANVAS GRID A A F    4 21   ACCELERATOR KEYS sins A A A n 47       AS E KOLO P id a S    4 3 L RECTANGLE andanada aid 47  4 3 2 PIECEWISE LINEAR  POLY LINB     cccccccnconnnonnnnnonccnononnanonononocnononnnnns 47  4 3 3 SPLINE CURVE AND ELLIPSE        cccccccccccessessscececececeeeessseceeeceeseeenens 48  4 3 4 CLASSICAL FORM GENERATION   cccocococononononononnnnnononononononononononononos 48  4 3 5 CONFORMAL COATS wu    cccccccssssssssccececececeesenseaecesececeenessaeeeeeseeseeeeas 50  4 3 6 UNIFORM  FILL  COATS        ccccsesscccceccceeeessssececesececeesessaecececeesenenees 50  AIT TEXICAND N O se sehek ea cod vets v ates oss 51  4 4 AUTOMATIC PIECEWISE APPROXIMATION    cccccccccscccscscscscccec
47. ONSTANTS  section  V5 1 INI files    must also contain the following sections   DRUDE    SELLMEIER       HERZBERGER    SCHOTT    POLYNOMIAL    TABLE  with at least    one entry in for each type     11    GSolver V5 2 User guide    1 3 1 Binary Grating Example    This section gives a step by step example for creating a single binary layer  grating  one layer with one index transition     1  Open GsolverV5 1   2  The Parameters form is the global settings home  The substrate and  superstrate materials may be selected here   More details are found  in the Dialogs chapter   Select a substrate and superstrate material  by clicking on the appropriate select buttons    3  Enter the grating period  or lines mm   wavelength  and other  parameters   A discussion of the angles is given in the Parameters  Tab chapter     4  Click on the Editor tab  Shown on this tab is the graphical working  area called the canvas  see chapter 4   The substrate is located at 0  and below  referenced to the ruler on the left  and is not shown on  the canvas    5  This example employs the square  rectangle  shape button to draw  a rectangular structure  If not already present  use the menu item  Tools   Customize to add the drawing tools to the toolbar   See the  section on toolbars if needed         Drawing  Tools    6  Click on the square tool button  Place the mouse cursor anywhere  on the active area of the canvas  and  while holding down the left  mouse button  drag the mouse to create a rectangle on 
48. ace    125    GSolver V5 2 User guide    appropriate exponential function  By reordering the way the fields are  solved in the Gaussian case  16 2 3 1   which is solved top to bottom  the  stack matrix method solves the fields input to output  This reordering of  the equations has the added effect of guaranteeing that there are no  exponentially growing fields    To make this idea explicit  consider the fields in one layer    top    bottom    They are written in terms of the eigenvectors and eigenvalues as  E  E  exp  Ad   C  _ S    E exp  Ad  Ep  C   S   B E   exp    Ad   lt  E P exp  Ad  E   a E E  where the C   s are to be solved  eliminated  by application of the boundary    conditions  the E   s are the eigenvector components  and A is the diagonal  eigenvalue matrix  For the stack matrix method these equations become                                                               E   E  exp    Ad    C   g    E   exp    Ad  Er  G la   E  exp  Ad  E  C   IS    E   E   exp    Ad    C        U     and the matrix multiply results in the stack matrix for this layer   E  E   exp    Ad    E   exp Ad  E  S    S     ls exp    Ad  E    E   E  ae fe J le                   The next step is to find the algorithm which combines two stack matrices   or equivalently combines the fields of two layers  This is illustrated below     126    GSolver V5 2 User guide    topl    bottom1    top2    bottom2       The two stack matrices defined by layers 1 and 2 are combined to form a  new stack tha
49. al  thickness     The linear profile represents a partition between two regions defined by  the    top    and    bottom    index of refractions     GSolver V5 2 User guide    6 Listing Run Tab       The Listing RUN tab form is the main interface to the solver routines  The  internal piecewise constant grating approximation is listed on the grid  and  the various entries can be modified and constrained with user defined  algebraic constraints    F    untitled   GSolver  51 _  ol x     Ele Edit Format Formulas wiew Tools Grid Component About   Oe   are ew  pz jsinovmeco   Parameters   Editor Listing RUN   ca   Run   Resuts   30 5er   30 Run   angles cate      a el a  O a   A i i  1    Grating Definition Listing            _    nl                                                  EJO Free Parameter  ha    0 Current Increment Stop  eta   0 0 1 100  hii  iod   1 Update   Decrement   increment   oes   UN    Ppt    3  a Io o o o o M d  nn  O  Write Field  ith  0 025  Cell List             975                     o  a  an                                 N     gt  gt  En  PEE ajajolajajo   ololN o oly   J   a a    in on       59    GSolver V5 2 User guide    Click on the Listing RUN tab to activate the listing view  The grating  structure is found in column B together with the grating parameters   Column A is used to label the column B entries  On the right of the grid  are a group of controls used for setting the free parameter  Column C  displays the cumulative thickness at each laye
50. al gratings  and Solve  handles general polarization for one  and two dimensional gratings   Solve3D handles all polarizations for three dimensional gratings  The  reason that TE and TM polarization modes have their own routines is that   in each  certain vector components are known to be identically 0  and  therefore can be deleted from the general vector formulation  SolveTE   SolveTM and Solve use a so called stack matrix method to solve for the  boundary conditions  as well as using certain Toeplitz matrix inversion  methods to    stabilize    the Fourier coefficient representation of the    115    GSolver V5 2 User guide    permittivity and impermitivity for each grating layer  Solve3D uses  Gaussian elimination with partial pivoting to solve for the boundary  conditions  It is less numerically stable and slower than the stack methods     All routines solve for the fields  internal to each layer of the modulation  region  by solving an algebraic eigensystem  Symmetry is used to reduce  the order of the problem by a factor of 2 for an acceleration by a factor of  8  Some authors have shown that additional symmetry considerations exist  for the special case of TE and TM  at the added expense of greater  problem complexity and memory requirements  These alternate methods  are not used in GSolver     After solving for fields internal to each layer  and matching all internal  boundary conditions  a final boundary condition matching is performed  between the input and output  
51. al index is then descretized into a number of layers and number  of steps within each layer  the steps are taken equally in the x  and y   directions  This creates a checkerboard layer approximation     Since GSolver is material oriented  the various constant regions within a  holographic layer are assigned the    constant    material property   independent of wavelength  The material catalog is augmented with as  many constant material regions as called for  When invoked  GSolver first  looks through the Constant material list to see if a material already exists  with the required index of refraction  If one is not found a new material is  created and appended to the list  When GSolver is exited  the GSolver ini  material catalog file is rewritten with the new materials     85    GSolver V5 2 User guide    10 3 Sine Tool    The Sine Tool is used to create a crossed sinusoidal    height    boundary  between the superstrate and the substrate  The boundary is between the top  and bottom regions  These top and bottom regions do not have to have the  same material properties as the super  and substrates     86    GSolver V5 2 User guide    11 3D RUN Tab    The 3D RUN tab is the only user interface to the full vector crossed  grating solver routine     laa       Ele Edit Format Formulas Yiew Tools Grid Component About     eee 2 woe hk ofa    Parameters   Editor   Listing RUN   GA   Run   Results   30 Editor 3D Run                         Crossed Grating Editor    Start Stop Inc   
52. and the fields are propagated through the  sublayers using the solution of the Maxwell   s equations common to each  sublayer     104    GSolver V5 2 User guide    The other parameter is a relative error term  which is used to halt the RK  adaptive step size algorithm at some minimum estimated relative error in  the solution  The default for this value is 0 001  It is tempting to make the  relative error very small  in the hope of getting more numerical precision   While this is true in principle  it is seldom practical  Care should be  exercised in setting the relative error  and generally the default setting  results in numerical solutions that are much better than 0 001  remember it  is a maximum error estimate  the actual error may be much smaller      RK may also benefit from greater numerical precision   17 1 3 Bulirsch Stoer Method  BS     Most of the comments made about the RK method apply to the Bulirsch   Stoer method  The two user adjustable parameters of the RK method have  the same function in the BS method  This method is distinguished from  the RK method by subdividing the interval into many steps  propagating  the function  through a midpoint method  and applying rational function  approximations  There is a large literature on both the RK and BS  differential equation solver methods     17 1 4General Method Comments    Limited experimentation have demonstrated that the AE method is the  fastest  I have not found any situations where the AE method failed while
53. angles a  alpha  and    beta  are used to define the polarization  state  If B   0 the illumination is linearly polarized  For transverse electric   TE  polarization  the principal E field is normal to the plane of incidence  defined by k and the z axis  For transverse magnetic  TM  polarization   the principal E field is in the plane of incidence     E2       GSolver V5 2 User guide    a is the angular deviation of the principle E field direction away from TE  towards TM  a   0 for pure TE  and a   90 for pure TM     B determines the magnitude of the secondary E field which is  perpendicular to the principal E field and k  and 90 degrees out of phase in  time  If the principal and secondary E fields have equal magnitude  the  wave is circularly polarized     In general  45  lt  B  lt  45  Labeling the principle E field as El  and the  secondary E field as E2  f is the angle shown in upper right in the figure     3 3 Stokes Definition    The polarization state is also defined by the Stokes vector  Since there is a  well defined plane wave  the Stokes vector has three relevant components   S1  S2  S3   They are calculated as follows    El   cos a    E2   sin a    these are the magnitudes of El and E2    S1   E1 E1     E2 E2   S2   2 E1 E1 cos       S3   2 E1 E1 sin        These components are shown on the Parameters form as read only     3 4 Order Convention    Different coordinate conventions lead to a different numbering of the  diffracted orders  These various schemes arise
54. as a name followed by 12 comma delimited  parameters  For example     BK7  0 5  1  1 03961  0 231792  1 01147  0  0  0 0060007   0 0200179  103 561  0  0    gives one Sellmeier formulation for the common glass BK7  The index of  refraction is calculated according to the following formula    Ca    A  i Cas    io A Cor         where the c   s are the various model parameters  and A is wavelength in  microns   The internal GSolver representation of wavelength is in  microns  as are all quantities with length units      30    GSolver V5 2 User guide    This model is purely real  Since it does not estimate the imaginary part of  the index of refraction  k is set to 0  transparent  for Sellmeier materials     2 7 5 Herzberger    GSolver   s Herzberger model is a 20 parameter real index of refraction  model  A typical INI file entry for a material of Herzberger type is shown     MgO RTR 5   1   0 00309946   9 61396e 006  1 72005  0   0 00561194  0  0  0  0  0 028  0  0  0  0   1 09862e 005    where the name  MgO IRTR 5  in this example  is followed by the 20  comma delimited model parameters     The index of refraction is calculated according to    qe       4  n   cA  taroa  24 Cri    7  E ES e a ares A  0 0028         There is no parameter labeled c  so the first list entry starts with cz     This is a real index of refraction model  the imaginary part of Herzberger  models are set to 0     2 7 6 Schott    GSolver incorporates a six parameter Schott index of refraction model  A  Sc
55. ation  The STOP button puts a message in  the queue to terminate the loop  The loop will stop at the first convenient  break point  When the RUN is finished the Results tab is activated with  results written to the Results grid as they are computed     11    GSolver V5 2 User guide    8 1 2 1  order Littrow    The 1    order Littrow check box invokes a simple Littrow condition  As  the wavelength changes  Theta is altered so that the first order Littrow  condition  in reflection  is satisfied  A Littrow constraint is generally run  as a function of wavelength only     8 1 3 Write Fields to File    The Write Fields to File command directs GSolver to record the computed  complex E fields as an ASCII text file  Clicking on this control activates a  file save dialog  enter the name of the file into which to record the  complex E fields  The data can be saved to a new or existing file  If the  file already exists the results will be appended to its end     The Complex E fields are the field amplitudes of every order retained in  the calculation at the top interface of the grating  reflected fields  and at  the bottom interface  transmitted fields   In general  all orders have non   zero magnitude  However they may not be propagating  For a field in  some order to propagate  the related k vector z component must have a  real component  Grating structures can support large amplitude evanescent  fields  which can be visualized as standing waves  These fields are  essential in the sol
56. ay be set independently     If the width of the canvas is resized  to increase the grid sampling  resolution for example  the various components can be selected and  stretched to the new width  Recall that the canvas width is 1 grating period  independent of how the viewport of the canvas is configured  If the canvas  is resized smaller  any grid objects that now are off the canvas must be  resized to the new canvas size     4 2 Canvas Grid    The grid spacing is set in the Canvas Properties dialog and the grid  represents the resolution of GSolver   s piecewise constant approximation   There is a minimum grid spacing determined by the monitor resolution  together with the mapping modes settings  The easy way to increase  resolution is to simply set the canvas size to some larger value  putting  more monitor pixels at disposal     On the other hand  there is a point beyond which increased resolution has  no benefit or effect on the outcome of the calculation  This will be grating  specific and depends on the relative changes in the material properties  A  rule of thumb is design to 1 10     The    snap to grid    feature may be turned on off from the Canvas  Properties dialog  This feature attempts to size all components so that  boundaries are on grid points  This is often convenient for sizing  components  but can be inconvenient if components have incommensurate    46    GSolver V5 2 User guide    dimensions with respect to the grid spacing  In this case the snap to grid  
57. bsconvestwavvecssweoess 19  22 LIRA AND  DROP lia 19  2 3 IMPORTING GRATING DEFITINION BY TEXT FILE      cccccoscccccccccceeee 20  2 3 1 GRATING TEXT FILE FORMAT  0    cccccccccccccccccccccscscecscscecseecseeeseeseeses 20  24 IMPORTING V 4206 ois scccess ussasnacscceausesdessiner deesdseseasenatesconynctcssosadeesses 22  DiS  MORSA T T aii 23  2 6 TOOLBARS AND MENUS spsssceseesiceosndscetoesasincaldeesmeadesbaacesnasontecsasoaceales 23  264     MENU BAR soria a a S A 24  PA P VN EEEE E E EEE EEEE NE eles 25  DOS DRAWING naati i E E E Seeds de 26  264  IROTATE ao ae  26  LO AY OUT A AS Se E 26  IA AS EIE a D LENE EE E E E Ea E 27  LD NUDGE A AE E E E e E ORNS 27  2 0 8  STRUCTURE  4 0 a e a EE Boats  a a a a S ees 27  2 6 9  ZOOM A AS RS a 28  26 10  CANVAS ua a at N 28  2 1 INDEX OF REFRACTION sc  sccscsssisvesscdcasssccsssvesecsbecssosssscebocdescsceesisceses   s 28  Dilo   MODELS Lt Oe Be eek Pa E o e Betas Pte ARN eS 29  D722 CONSTANT ist raid 29  XRD IDR UDE Sillas 29  ZA IS BLEMPIER tal aia acid 30    GSolver V5 2 User guide    2  THERZBERGER  coimas on Seen Gs ads BN Se 31  2270  SCHOT t occas N haste asa ea 31  AT    POLYNOMIAL si cioicdeo sci exies coc aid 32  ITE E ee ern Ae Ta 32  ZO COLOR MAP iiss sotana bans a a ast ches delia 33  2 8 MATERIALS EDITOR 6 siiadscdeccerstesbaccecccocensisedendediessniscdsvacdssdiccessisesiscs OD  2 9    TYPES OF SAVEDDATA ssussscccerviccovedscessexstucoagednedasedvaccenoeSaccenexsedesonce OO  2 10 KNOWN    BUGS ada T  2 10 1 INVERSIO
58. can be turned off  Note that the better place for fine tuning dimensions is  on the piecewise constant representation of the grating structure   accessible on the Listing RUN tab     4 2 1 Accelerator Keys  To delete a region  select it and then key shift del     To copy a region  select it and  while holding down the control key  drag  the object with the mouse  Objects can be dragged from one grating  canvas to another for multiple concurrent GSolver objects     To copy an object for pasting into another canvas  or any OLE enabled  application  right click the object and select copy  To paste  right click the  canvas and select paste     4 3 Tools    Several tools available for drawing grating profiles are discussed in the  following sections     When any region is selected  the boundary is augmented with handles   small gray squares  that can be dragged to resize the object     4 3 1 Rectangle    The Rectangle tool icon is used to add a uniform layer  thin film   A  uniform layer is a rectangle that spans the width of the canvas  Or  it may  be used to add a binary transition region     4 3 2 Piecewise Linear  poly line     The poly line tool icon is a triangle  A linear poly line region is defined by  a starting point  defined by clicking the canvas after the tool selection   moving the mouse to a new point and clicking again  and repeating  Each  click generates a boundary line from the prior click location to the current  click  Double clicking will complete the region 
59. ccncccnnncccnccnes 129  20 1 TRACEPRO    RUN EXAMPLE     sssesesesesccccccecccsesesesesesessssssssnsssssssssss 129  21 REFERENCES  nustanscictesceriaca dano isses strna ne esst ossei sotos tocos seda 131    GSolver V5 2 User guide    1 Introduction       1 1 Overview    Introduced in 1994  GSolver is a full vector implementation of a class of  algorithms known as Rigorous Coupled Wave  RCW  Analysis  These  algorithms give a numerical solution of Maxwell   s equations for a periodic  grating structure that lies at the boundary between two homogeneous  linear isotropic infinite half spaces  the substrate  and the superstrate  The  solution is rigorous in the sense that the full set of vector Maxwell   s  equations are solved with only the following two simplifying assumptions   1  a piecewise linear approximation to the grating construction  and 2  a  truncation parameter for the Fourier series representation of the  permittivity  and impermitivity  within each grating layer  GSolver is set  up to work with linear isotropic homogeneous materials     Within GSolver  a grating is specified by a series of thin layers  Each layer  consists of  box shaped  regions of constant indices of refraction  By  allowing the scale of this approximation to decrease  a spatially   continuous grating structure can be approximated to any desired accuracy     Version 5 1 uses the same hardware key system as previous versions of  GSolver  and is forward compatible with the older keys  32 bit paral
60. ch are the seven index models used in GSolver  the catalog entry  NAME of the material  which must be listed in your GSolver ini  and  loaded into GSolver   The final entry is a flag  true false  which tells  GSolver to update the index value if the wavelength changes or not     If a block definition line does not have four entries errors will occur     The sum of the block widths must total 1 0 otherwise an error condition is  set and the file read aborts     A typical file import would proceed as follows  Open a new GSolver  instance  set the Parameters to some nominal values  using microns  then  click on the Editor tab and then click  from the menu     File     Import Text  This action will initiate a file read dialog box  Navigate to the text file    which contains your grating definition as explained above and open it   GSolver will read the file and update the Editor window     21    GSolver V5 2 User guide    NOTE  DO NOT CLICK the APPROXIMATION button if you do not  want GSolver to approximate the layer widths and thicknesses to the  Editor grid spacing  Rather go directly to either Run or Listing Run and  populate the grid     When the text file is read in  the grating is already defined as a piecewise  constant structure  Therefore the internal grating structure is updated  automatically and there is no reason to    approximate    it using the Editor  tool     2 4 Importing V4 20c    GSolver V5 1 incorporates an entirely new user interface with new  features and ex
61. decimal digit precision   These  numeric types are implemented in software using optimized calls to  emulate a full IEEE complient operation including optimized routines for  function calls  exponentiation  trig functions  and so forth      Since operations with these data types are implemented in software the  corresponding run times will increase dramatically  Having run simple test  on a series of multiply accumulates  assuming that there is no dedicated  64bit floating point multiply accumulate hardware instruction   I find that  Double Double multiply accumulate takes about 125 times a Double  and  a Quad Double takes about 1000 times as a Double  These numbers are  given only as very rough estimates  I have not taken into account any  memory fetch optimizations  nor compiler optimizations     The purpose for adding this option to GSolver is to provide a mechanism  for increasing the bit depth for the eigensystem solution  Often  but not  always  increasing the numerical precision will stabilize the solution  If on  of the extended precision options is selected it is applied to whichever  solution algorithm is selected     Selection of the numerical precision is made from the tools menu  The  three choices are    64 bit Floating Point   normal hardware implementation    128 bit Floating Point     Double double precision  256 bit Floating Point     Quad double precision    108    GSolver V5 2 User guide    The selection is valid from the Run tab  3D Run tab  and the Listi
62. del entry property  to each  material region  V4 20 objects are generally of constant value  so new    22    GSolver V5 2 User guide    material entries are created as needed for these types  If a V4 20c binary  file contains saved catalog materials these may not be converted correctly   This situation can also occasionally cause a program crash  see the known  bugs section  which is being addressed     2 5 Forms    GSolver is a form driven application  The various data fields that define a  grating  and the intended calculations  are arranged by class on different  forms  The forms are labeled Parameters  Editor  Listing RUN  GA   Genetic Algorithm   Run  Results  3D Editor  3D Run  and Angles  Calculation  Separate chapters are devoted to the descriptions of each     Forms are activated by clicking on tabs  and the data fields in each form  provide interfaces to the internal data structure  of which there is one for  each top level GSolver window   Each data document represents one  grating structure with its related global and calculation run parameters     2 6 Toolbars and Menus    Several toolbars are provided for access to various GSolver functions   Most of the tools relate to the graphical grating design interface  The  toolbars can be customized by adding and removing buttons  and grouping  them as desired  These toolbar buttons are described below     The Tool Customization dialog is activated by clicking on the menu item  Tools   Customize     Use the toolbar Custo
63. depend on the type of monitor used  The other  screen modes are as follows    MM_HIENGLISH     one logical unit is 0 001 inch   MM_HIMETIRIC     one logical unit is 0 01mm   MM_ISOTROPIC     one logical unit is 1 pixel in both x and y   MM_LOENGLISH   one logical unit is 0 01 inch   MM_TEXT     one logical unit is one pixel   MM_TWIPS     one logical unit is 1 1440 inch     While it is possible to change the mapping mode for printing purposes  it  is generally recommended that the mapping mode not be altered     On the Measurements and Size dialog  together with the mapping mode   are entries to determine the relation between logical and physical extents   for viewing and printing      The canvas Drawing scale should usually be set to the drawing units   default is centimeters      45    GSolver V5 2 User guide    The canvas area can also be modified from the Canvas Properties dialog   This dialog simply assumes that the canvas width and height are some  number times the grating period  The grating period is taken as arbitrary  for viewing purposes     The Default canvas size  shown on the Size and Units tab of the  Measurements and Size dialog  is 10 cm by 10 cm  Thus the default  viewing scale is 10 cm   1 grating period     If the canvas width is set to 2   2x  on the Canvas Properties dialog  while  all other settings remain at default values  the canvas will be drawn with a  20 cm width  which would then represent one grating period  The canvas  width and height scales m
64. dragged past an adjoining boundary     To edit the material  simply double click the region to bring up the  material selection dialog     There are two layer delete options  Del current  removes the current layer  from the grating  and Del All removes all grating layers     The layer thickness is also indicated and may be edited directly  absolute  units      There are two tools to insert grating layers  To insert a single layer  use the  N_x button  which inserts a layer with N transitions  To insert a grating  profile  such as triangle  blaze  or some sort of linear profile  use the N   ties button  The    ties    refers to the number of piecewise linear parts there  are to the profile  1 lt ties lt 3      57    GSolver V5 2 User guide    5 1 N ties Profile Tool  xi       Frandes  z         Levels    25  Total thickness    1    Ones Top index    AL Bottom index  Relative handle location         X  0 552083   Y  0 240979   Pt  1                r Blaze angle calculator  Enter angle  deg     15    b2 Period p AN       b1 b2  Period   b1 b2             The profile tool is shown in the figure above  Essentially a linear profile  may be defined  up to three linear sections  by clicking and dragging the  tie points  The relative location of the tie points are shown in the location  region  Note that the width is relative to the Period  and the vertical  dimension is relative to the Total thickness entry  That is the the  maximum vertical position drawn in the figure is set to Tot
65. e  advantage of the various known methods for stabilizing and accelerating  the coupled wave problem solution     The 3D solution is retained in GSolver primarily for backward  compatibility  For those aware of the limitations imposed by the 64 bit  floating point hardware on the numerical algorithms  the algorithm allows  investigation of a fairly large crossed grating problem space     Problems that need only a few retained orders  such as all orders being  evanescent  are usually readily solved  It is generally recommended that  there be no more than a few real propagating orders and that materials  with large phase shifts  such as metals  be avoided  The convergence  behavior of all 3D grating structures should be investigated  since the  general approach to convergence often has an oscillatory component     10 2 Defining a 3D Grating    GSolver handles all gratings as piecewise linear approximations  For a 3D  grating this approximation consists of a unit cell with periodic boundaries   This cell has a width of one grating X period and a length of one grating  Y period  The thickness is arbitrary and cells may be stacked as desired     Each unit cell may be divided into any desired number of    checkerboard     regions  Each region is then assigned a material property  which gives it an  index of refraction     The basic tool for defining a 3D unit cell is the NxM tool  This tool creates  an NxM checkerboard with two materials     For any layer  any region of the unit ce
66. e clipboard and pasted into other  applications  control c  control v      36    GSolver V5 2 User guide    2 10 Known    Bugs     2 10 1 Inversion of OLE Coordinates    The Editor Graphics are created in a normal Cartesian coordinate system  with the origin in the lower left hand corner of the canvas viewport  The  conventional coordinate system for windows objects has the origin in the  upper left hand corner of the window with the y axis increasing down   Thus  when graphical objects are dragged into other OLE objects   including print objects  the figures are upside down  Since this issue  touches a lot of code it is difficult to change  but is being addressed     2 10 2 V4 20c Data Import Crash    There is an unfortunate bug that can creep into V4 20c binary data files     gs4  owing to the existence of two 4 20 binary schemas  In V4 20 an  additional data field was created to attempt saving the V4 20 links list as  well as any assigned material properties with the grating data  This  required adding data fields to the binary schema with a flag to identify  which type of file was being loaded  The logic that was used is not  sufficiently robust to correctly align the binary data in every case  This  causes an unrecoverable read error when a file containing catalog data is  read by a different GSolver 4 20 version  This problem is being addressed   The current work around is to eliminate material catalog links in 4 20 data  before importing it to V5 1  This problem can al
67. eceeeeee OL  4 4 1 GRATING REPRESENTATIONS occococococononononononononnnnnononononononononononononos 52  4 5 HOLOGRAPHIC TOOL  Vp  SH eocosoosonconccrsonoccorsonacesosrancnncorannacconanacoss OF    5 1 N TIES PROFILE TOOL    sccccsseseessseseseesensostssncssosssosonsscossceaessssserseeneore OO    GSolver V5 2 User guide          6 LISTING RUN TAB sisssiccsssvsdessscvasncvsvccenssuncscaccssnsdeisecsavecasvessotesesstse 59  6 1 1 MAKE GRID CURREN Enine saneren rE S AT ia 60  6 2 PARAMETER CONTROL      sseceesseceesssseceesscceesseceessccecessseceesseceesseceessee 60  6 2 1 USING LISTING RUN TO FIND THE DIFFRACTION EFFICIENCY AS A  FUNCTION OF INCIDENT ANGLE  THETA  EXAMPLE            cccceesessecececeeeeeenees 61  6 2 2 ABORT BUTTON   iii a vo Recs esd on Bod fs a Biv e anes 61  6 2 3 EXAMPLE OF VARYING THE THICKNESS OF THE GRATING             645 62  6 2 4 EXAMPLE OF LITTROW CONSTRAINT         ccccccccsseessssceeescceeeessnseaeees 62  637 CELLS TE a ias 63  6 4  FORMULA ENGINE  eisscsssstccsccstccsssascocccecoesesunesescesocostecseessesccsosseseeuess 63  OAT ANTAS AI ET ava ee Res 64  6 4 1 1 EXPRESSIONS viii ddr lin 64  6 4 1 2 Constraint EXpressions it diiaja 66  7 GENETIC ALGORITHM  GA TAB   7 1 OVERVIEW OF DIFFERENTIAL EVOLUTION   e eesseseeesssccecssceceesseceesseo 69  7 2  GUIDING PRINCIPLES ssa scsscdscessccesvadscecsbsnnedssandsvecoseueabedescoducevesseersncs 69  7 3  SETTING GA OPTIONS scscssscecennscvovsiasccsssnevacondasoncesesvaddonsdsdcdoooessedesses 70  7 4 APPLY
68. ect a small distance in the  indicated direction  but do not allow moving past canvas boundaries     2 6 8 Structure    structure  A   Ta a Ch Ea   The Structure command buttons can be used to alter the z order  which   object is on top  of overlapping objects  When creating the piecewise    constant approximation of the grating  the top most object is used at each  grid sample point to define which material property to use     27    GSolver V5 2 User guide    2 6 9 Zoom    Zoom  QA    The zoom and pan commands affect only the canvas view  they have no  effect on the internal object dimensions which are sized to units of the  grating period     2 6 10 Canvas       The Canvas command buttons include the undo and redo commands  also  accessible with control z and control y  as well as the grid and canvas  property dialogs     2 7 Index of Refraction    Each enclosed region in the model is assigned a material property from  which an index of refraction is calculated  The default is for each material  to use the substrate property as assigned on the Parameters form     GSolver comes with a number of predefined material properties in each  model class  This list is not exhaustive and it is expected that materials  will be added as needed by the user  This can be done directly editing the  Gsolver ini file with a text editor  such as Notepad   Or it can be done  from within GSolver using the Material Editor     NOTE  It is recommended that new materials in any model class be added 
69. ed axis                                         Canvas Title  2101 x   File Copy To Clipboard    Yiew Tools  Help  2 Ea  amp    be  SR 2 BE SP  ER    amp   4 00    aa   mm ka  0 50 ls  30 70  5  3 060    oR  E 0 50   x    SumR  Boao     iit   5 020       0 20    01 ss  ooh   semi                00 00 2200 33 00 no 5500  600 77 00 88 00  Axis Axis Labels 2  Data Legend    In addition to the region specific menus  a number of general properties  are accessible for modification from the chart tool bar and menu items     The chart object includes a data editor  Data is copied from the source  when the chart is created  Changing any data items by using the chart data  editor has no effect on the original data source     101    GSolver V5 2 User guide    17 Algorithm Selection    GSolver has three distinct algorithms for solving the inter layer set of  coupled differential equations determined by Maxwell   s equations  and the  Fourier expansion of the permitivity  and impermitivity  of the layer  The  three solution methods are the Algebraic Eigensystem solution  traditional  method for GSolver   a 5  order Runge Kutta method  and a Bulirsch   Stoer method with Richardson extrapolation and rational approximation        The algorithm of choice is selected from the Tools menu     Prunctied csowest toa      File Edit Format Formulas View   Tools Grid Component About                                CA     Sa   ae ese  Nees   TracePro     Parameters   eto   tistingeRUN Calculator Angles
70. ed into the general grating storage array  after which  a RUN will use the results of the GA run  Previously the only way to  update the internal grating array was directly from the 2D Editor     Approximation    function    7 1 Overview of Differential Evolution    DE parameterizes optimization problems  A specific set of parameters  a  vector  is associated with a merit function whose extremum is to be found   A set of parameter vectors is a population  The algorithm will alter various  population member entries with other entries  as well as creating new  entries from random distributions  Population members with    good    merit  functions are chosen more often than others to serve as a source of  parameters  New vectors are made up with these    good    parameters as well  as new random members and the entire set is iterated until some stopping  criterion is reached  See the web page above for tutorial information     7 2 Guiding Principles    Applying DE to the grating problem creates some difficulties  For  example  most parameterizations of the grating problem require careful    69    GSolver V5 2 User guide    attention to physical constraints to produce meaningful solutions  The  piecewise constant approximation suggests a direct parameterization  based on the geometric constraints  cell thickness and width   However   the cells that make up the grating are constrained in the following ways   all cells in a layer must have the same thickness  the sum of the widths o
71. eneral three dimensional case  the coefficients are coupled   between x and y   The Fourier coefficients of the permittivity and  impermitivity are directly computed and used  The inverses of these two  matrices could also be calculated and similar use could be made of them   Inter layer Solution  Inhomogeneous Plane Wave Expansion    120    GSolver V5 2 User guide    19 2 1 3 Formulation of Eigensystem Solution    Applying the curl equations to the assumed form of the fields within the  n    layer  and eliminating the z terms  four coupled equations remain                       dS K iij 2  dz   Ik S vij 7 IK   v   I k A Eliza a Koa    soa   pq  Y  1k  S    IkU   2 y E A at  dz   IK yj t at k Sen   xpq  ypa        ypa p   pg  dU      xij   xy  acy   TY ES pq  1 T i Say KS   pg  dU          a A k   u Ela ky  ES gq HIS ay  K 45 5   where p i g  and q j h  This represents a set of coupled first order  differential equations that are solved by standard eigenvector techniques   Sx  Sy  Ux  and U  are functions of z only and their functional values are  needed at the top and bottom of each layer  They turn out to be the sums  over terms of the eigenvector times exp 4  z   where A  is the appropriate  eigenvalue and z is either 0  top of layer  or tn  the n    layer thickness     All solvers  SolveTE  SolveTM  Solve  Solve3D  use the same  eigensystem solver  The coefficient matrix is formed  the matrix is  balanced  the Hessian is found  and the system is solved with LR  decomposit
72. enter as two dimensional  arrays  By pairing ah with ehl  and eh with ahl  convergence of the TM  and general polarization is greatly accelerated  Indeed  for one  and two   dimensional gratings  only a few evanescent orders are needed to converge  to better than the 1  level for dielectrics  For larger phase shift materials   such as metals  three to eight evanescent orders are generally sufficient   Some experimentation with the number of orders retained is recommended  to demonstrate convergence  The diffraction efficiency may not converge  monotonically  but could have an exponentially damped sinusoid  component     19 2 2 Intra layer Solutions  Boundary Conditions    The fields in each region are readily solved  To complete the problem  the  tangential electric and magnetic fields must be made continuous across  each interface  The general problem can be set up as a series of matrix  manipulations that include finding at least one inverse per boundary  The  internal layers required to track only the x  and y components of the E and  H fields and are  therefore  4s x 4s dimensional  where s 2 orders 1    The superstrate and substrate require calculation of the x   y  and z   components of E and H and are 6s x 6s dimensional  The Stack matrix  methods of solving the boundary conditions are significantly different than  the Gaussian elimination method  Both are described below  The first step  in either case is to reorder the equations so that the final matrix inversion  co
73. entifies a color with an index of refraction entry is  identical for both the real and the imaginary pars  Following is a  description of the algorithm for the real part  n      91    GSolver V5 2 User guide    Refractive Index Color Map  cancel             Real part Color Map Imaginary part Color Map  1 50000  0 00000  250  250  250 1 00000  1 00000  50 250 501  50000  250  250  50 2 00000  50  50  250   2 50000  150  250  250  15 00000  250  50  50   4 00000  20  20  50     250000 2 00000            Controls    R G B  fi  50  250  50 Replace   Insert   Delete   coron         Given a value n  find the two entries in the appropriate list that bracket it  such that    n Snn   where n  and nz are consecutive members of the list     Then draw a line in RGB space from the n  RGB coordinate to the nz RGB  coordinate  and find the RGB coordinate for the linear interpolant given by  n between n  and nz  The resulting color is used for the n value     The Color Map may be altered as needed  break points may be added   removed  and changed  The COLOR button may be used to find a specific  COLOR RGB coordinate     Use the Replace  Insert  and Delete buttons  together with the Control  entries  n  R  G  B  to modify the list     The color lookup list is stored with the grating in the gs5 file  When  GSolver is started it creates a new color lookup table based on default  values  To use a custom lookup table  simply save a grating file with the  desired lookup table  Then  after starting
74. er  However  the more complex  the grating structure  the more Fourier coefficients are needed to describe  it sufficiently  Experience has shown that  generally  the number of terms  needed is a strong function of the period to wavelength ratio  and not so  much as the wavelength to grating feature ratio     All classical diffraction gratings fall into the 2 dimensional category  Most  of these gratings may be defined as a surface height relief of the substrate     Hes   EA       AAA AAA AAA   gt   Period  The figure illustrates an example of a lamellar approximation to a  sawtooth grating profile  Only a single period needs to be defined  Simple  surface relief gratings such as blaze  sinusoidal  triangular  and binary are  constructed by a thin layer stack approximation  Each layer consists of  some number of index transitions  1 for the present example  where the  index transition point is placed at the appropriate location so that the stack  approximates the surface relief desired  Any degree of accuracy may be  imposed by increasing the number of layers  However  once the individual  layer thickness becomes significantly smaller than a wavelength  less than  a few percent   little change is noted in the solution  More complicated  grating structures might require several index transitions per layer     113    GSolver V5 2 User guide    Any complex number may be entered as an index of refraction  The  GSolver code enforces correct sign conventions so that no material  ex
75. f  the cells in a row must equal 1 since the unit canvas width is one period     In addition to the grating geometry parameters  the global parameters may  also be used  These include grating period  wavelength  and the angles that  define the illumination plane wave     The actual material properties in any particular cell are problematic  Since  GSolver ties all indices of refraction to an actual material in a catalog  it is  difficult to allow arbitrary changes in these indices  However a limited  solution is to create specialized materials that cover the range of the index  of refraction  the search space  at known  specific wavelengths  Then   using those materials  the wavelength can be allowed to vary over the  discrete space of wavelengths so that different index of refractions are  selected in a controlled manner     7 3 Setting GA Options    The DE options are set in a dialog  shown below  which is invoked by  clicking the Options button  cell F17 on the default GA grid      70    GSolver V5 2 User guide       Genetic Algorithm Settings  Differential Evolution ES  Population  nominally 10x total number of parameters Clncel  Weight   07 nominally   0 8  D lt F lt  1   larger values   gt  faster convergence  Cross over   0 3 nominally 0 9 0 lt  CR lt  1   Max Iterations   25 Stopping criterial    Number of Real Parameters  E      Select differential solution mode      Goal settings for selected orders    Order Goal Weight   RandtBin  Fl  Enter DE Goals  fo  R y  fo fi
76. h results from the Approximate function     Two other grating representations are also created for the Listing RUN tab  and the GA tab  In both cases the Populate function copies the results of  the Approximate function representation to the respective grids     When the RUN  Listing RUN tab  and RUN GA  GA tab  buttons are  pressed  the solver routines are invoked with the grating definition given  on their respective grid     To copy any modifcations from the Listing RUN grid  or the GA grid  to  the grating definition generated by the Approximate function simple click  the Copy Update button on the grid     If you make modifications to the grating on  say  the Listing RUN grid   and then want to use those modification to do a GA run  you will need to  first Copy Update the Listing RUN grid  to update the Approximate data  structure  and then Populate the GA grid     4 5 Holographic Tool  Vp  Sy    New to Version 5 1 22 is an additional holographic tool  VH is used to  generate volume holograms with fringes close to the normal direction to  the grating  SH is used to generate a fringe pattern parallel to the grating  a  Bragg reflector   SH creates a series a thin film slabs  in the piecewise  approximation  whose index of refraction varies periodically     54    GSolver V5 2 User guide    The Vy tool  button Vy  assumes that some material  base index  has  some density modulation  The modulation is defined by a sinusoidal  variation  The index of refraction is given by   n
77. hapter     2 6 2 Main    25    GSolver V5 2 User guide    CEC x  Deol   50 89    The default Main command button bar contains the following commands   New     start a new GSolver window  Load     load a saved    gs5  grating structure  Save     a grating structure  Cut  copy and paste  apply to graphical as well as to data items  Print    2 6 3 Drawing       The default Drawing command button bar contains commands to generate  various graphical items  Included on this command bar are additional  buttons to instantiate the Materials Editor  and the Color Map dialogs   Other drawing commands     line  polyline  text fields  bitmaps  and ports      are included for convenient grating design annotation and markups  and  are not otherwise used for actual grating structures     2 6 4 Rotate    Rotate E  Gatas    These commands are used to rotate graphical objects  The default canvas  properties include a snap to grid  allows only discrete moves based on grid  spacing  and angle snap  discrete angles based on grid spacing   These  snap properties may be toggled on or off     2 6 5 Layout    Layout  H ang    26    GSolver V5 2 User guide    The Layout commands are used to size multiple selected drawing objects  to each other  Use the shift key in concert with mouse button to select  multiple objects     2 6 6 Align    Tel ess    The Align commands are used to align multiple selected drawing objects  with each other     2 6 7 Nudge  Nudge ES    The Nudge commands move the selected obj
78. he number of line segments that define  the boundary may be set to any reasonable number  The default is 15   Enter the number of line segments in grid location D2     There are two columns of coefficients  labeled A and B in the equation  below  with A entries in grid locations C4 13  and B entries in grid  locations D4 13  The general sinusoid profile is defined by the following  formula  where AO is in grid location C3  Al and B1 are in grid locations  C4 and DA  and so forth     y A    YA  cos x    B  sin x     i 1 N    Any desired number of coefficients may be used  The table may be  extended simply by entering nonzero values in grid locations Cn where  n gt 13 and so forth     General poly line     This form provides a method for constructing an  arbitrary poly line approximation to a general profile  Enter the  coordinates of the poly line end points as an  X Y  pair in grid locations  An  Bn starting with n 2  All x coordinate entries must be in the range  O lt  x lt  1  where 1 represents one grating period unit  y coordinate values  should be in the range y gt  0  y is absolute  0 lt x lt 1  x is scaled by Period      General cubic spline     This tool is very similar in operation to the  General poly line  The difference is that every 3 consecutive points are  taken as a cubic spline definition  Thus  the number of points entered in  the table should be a multiple of 3     These two tools allow for precise point location for both a poly line and  spline profile def
79. hibits gain  The n and k values are entered as positive real numbers with  n strictly greater than 0  The solver makes k      k       k  which indicates  absorption with the sign convention used     Use of the lamellar approximation permits arbitrarily complex grating  structures to be analyzed     19 1 4 3 Dimensional Gratings    Three dimensional gratings are crossed gratings     periodic diffraction  structures etched along both the x  and y dimensions  GSolver uses the  same 3D solver that was used in versions 1 0 through 4 0 This means that  the TM convergence is not accelerated  The reason is that the fundamental  theorem of algebra does not apply to polynomials in more than one  variable  However  there remains an expectation that  in time  the problem  can be significantly mitigated using the ideas that have satisfactorily  solved the two dimensional convergence problems  Some recent progress  in this area has been made if the grating as appropriate symmetries   However  since these ideas only apply to a certain class of gratings they  cannot be used for the general case     As an example  suppose that a dimpled surface is to be analyzed  The  following figure illustrates how an elliptical mesa  in a unit cell of the  crossed periodic structure  might be approximated     Y Period       X  Period    114    GSolver V5 2 User guide    In the figure  note that the x  and y periods are independent  and that the  number and placement of the index transition regions are also
80. hott material entry example is shown below     BK7  2 27189   0 0101081  0 0105925  0 00020817   7 64725e   006  4 24099e 007    This is the Schott model for the glass BK7     The index of refraction for the Schott model is calculated according to the  following formula      1 2  A E    AS yo as       n      A         31    GSolver V5 2 User guide    where A is in microns and the six parameters are labeled c2 through c7  The  Schott material model is real so materials of type Schott return k   0     2 7 7 Polynomial    The Polynomial model allows for tenth order polynomials to define both  the real and imaginary parts of an index of refraction  This requires 20 real  parameters to define a material model of type Polynomial  The basic INI  gives a few hypothetical materials  For example    type2  1 5  0  2  0  0  0  0  0  0  0  O   0 1  0 095   0 1  0  O  0  0  0   0  0    defines a polynomial mode of name type2  The 20 comma delimited  parameters are used to calculate real and imaginary indices of refraction  according to the following formulas     9    CA     0   9     1  Caer  i 0    where the absolute value signs assure that n and k are both non negative   2 7 8 Table    The Table model is the most general material model  It consists of a  material name followed by a list of entries  Each line in the list consists of  three numbers  wavelength  n  and k  The wavelength is in microns     n           ke       If a wavelength evaluation is done at a wavelength that is not in 
81. ined on the  Parameters tab   The vertical dimensions are absolute  However it is often  convenient to construct a grating with a predetermined number of layers  with a certain total thickness  The Vertical Scale Facter multiples the  vertical scale  scale factor  gt  0   by the desired quantity  In short  the  canvas vertical scale is relative to the Vertical Scale Factor     The Editor tools and operating principles are discussed below     44    GSolver V5 2 User guide    4 1 Coordinate System    The canvas width is equal to 1 grating period for all unit settings  ie  10  units on the ruler      The canvas origin is the lower left hand corner  The two rulers that span  the canvas  on the left and top  represent units relative to the canvas view   The substrate lies in the region  lt 0 on the vertical scale  and is not  accessible from the canvas   The substrate and superstrate material  properties are assigned on the Parameters form   All drawing must be done  on the canvas     There are two dialogs that hold the definitions of how the canvas is  displayed  They are the    Canvas properties         and    Measurements and  size      dialogs  Although the canvas width always maps to 1 grating  period  this unit length can also be mapped to some number of pixels on  the screen  This is done in the following manner   GSolver sets the default coordinate mapping style to MM_LOMETRIC  which is interpreted as one logical unit equals 0 1 mm  on the monitor    The actual dimensions 
82. inition     49    GSolver V5 2 User guide    4 3 5 Conformal Coats    Conformal coats are created by selecting  the profile group or object  copying it   and shifting the copy vertically  The  copy properties are then set  and the new  object is sent to the bottom of the z        stack  or the original object is brought to the front  This procedure is  illustrated with the following example     Conformal coat on a blaze profile     1   2     3   4     Start a new canvas by clicking on File gt New   Click on the custom tool icon  select the blaze profile tool   default   and click OK  This puts a blaze profile on the canvas   Right click the blaze profile object and set the material property  While holding down the control key  click on the blaze profile  object and drag it up  towards the top of the canvas   This makes a  copy of the profile object so there are now two on the canvas   Right click on the new copy and set the material properties to the  coating material    Move the copy so that the peak of the copy is a few grid units  above the original  most of the copy will overlap the original   Right click on the new copy again and then click on the Order  option and then Send to back    You may want to turn off the    snap to grid    property of the canvas  To fill in the small areas at the base of the coating use the rectangle  tool to create two small rectangles to fill in the area remaining  Use  the order property to put the new objects behind the original     The gra
83. ion  The fields are then calculated at the top and bottom of the  layer  z 0 and z d  the thickness of the n    layer      The E fields are unnormalized  and may be multiplied by any quantity  without affecting the computation of the resultant diffraction efficiencies   This fact is used to    normalize    the internal fields so that no exponential is  ever taken with a positive real  exponentially growing  argument  Without  this precaution  there would be exponentially growing solutions that cause  instabilities for    deep    gratings     The full coefficient matrix system that needs to be solved is of order s   where s   2m 1  and m is the number of orders retained  GSolver uses a    121    GSolver V5 2 User guide    symmetric order calculation so that the calculated orders range from    m to   m  This enhances convergence by producing a balanced Fourier sum   Examination of the coefficient matrix reveals certain symmetries that  permit a reduced system to be solved  and the remaining eigenvectors and  eigenvalues are related with simple algebraic expressions to reduce the  system solutions  This is an important step  as the solution of the  eigensystem in each layer is a principal component of the solution time  budget  the other component being the boundary condition solver     19 2 1 4 Eigensystem Order Reduction    GSolver solves a reduced eigensystem due to the following structure     E le ola  al     Ba 9  Q  Q  Q  Q     0 A     where the B matrix is the coefficient
84. is given in the  graphing chapter     81    GSolver V5 2 User guide    10 3D Editor Tab    Some crossed grating  3D  structures can be solved with GSolver  The 3D  Editor is the interface for defining these structures and is essentially the  same as in prior versions of GSolver           F untitled   GSolver  50 jo  x  UO IMINO NO       _       Ele dt Format Formulas ew Tools Grid Component About    Ree ee Woe hols   Parameters   Edtor   Listng   RUN   Ga   Run   Resuts 3D Editor  30 Fun    Layer thickness   0    Delete   Current layer  p    Insert 3D structure        Physical Memory  536 02 Mt  7 43 PM        NOTE  with file version 5 1 1 1  the 3D Editor Tab must have units set to  Microns  And all entries with units are interpreted in Microns     82    GSolver V5 2 User guide    10 1 Limits on Solving 3D Structures    The coupled wave solution is based on solving the truncated infinite set of  Maxwell   s equations by the well known algebraic eigensystem method   This implies that for each layer of the grating regions a full complex  eigensystem is solved  followed by a boundary conditions solver  This  process is iterated through each layer  from the substrate to the superstrate   The behavior and solvability of general complex eigensystems has been  thoroughly studied for decades     The size of the eigensystem  including auxiliary memory arrays for  holding intermediate results  using 64bit floating point structures   is  roughly estimated as    bytes  1760 2   orders  
85. it to the model list  Replace  the current material selection  Delete to remove the current selection     For the Table Model materials  the second set of buttons are used to edit  the list  and the first set of buttons are used to update the Table material  object in the Table catalog     The Chart provides a graph of the currently selected material and any  changes  The graph has a number of interactive properties  including the  ability to drag data points with the mouse  see the chapter on graphing      2 9 Types of Saved Data    There are three types of data files that are created  saved  and loaded  within GSolver  First there is the grating definition file with all of the  related data structures and parameters  This is a binary file of type gs5     The second type of data files contains the saved contents of the various  grids  Listing Run  GA  and Results  The grid contents are saved as ASCII  and can be viewed and manipulated by any text editor  The contents of the  grids can be saved and loaded  allowing for archiving various data runs  based on a single grating definition  They can also be loaded into other  programs for further analysis     The third type of file supports saving the graphs  The graphs are generated  with the SoftwareFX client server graphics interface  including the  Microsoft GDI libraries for optimal display device interaction   These  graphs can be saved in a variety of formats    cfx    bmp  and   emf   All  graphic images can be copied to th
86. l the  current version of GSolver is closed  However  the internal materials  tables that are created  by reading the GSolver ini file when GSolver starts   are modified  and any changes are available for immediate application     x  int   wzd   save  coy   Table Model 7  ENEE                                  0 211964  1 862  2 776  0 213807  1 83963  2  75288  0 215683  1 793  2 757  0 217591  1 79319  2 75488  0 219534  1 806  2 755                                              0 221512  1 82019  2 75475 DE BR Ne fF DE ma 1  0 223526  1 838  2 754 Wavelength  microns   0 225577  1 85831  2 75175 sl  y  0 227666  1 88  2 748 Lambda 1 fi Regraph   Lambda 2  0 4         Edit selected table line  nontable model entry      24 7944  15 46  37 682        Selected Table listing  gt  Ma  Insert   Replace Delete   Insert   Replace   Delete                  There are two sets of edit buttons on the bottom of the dialog  Insert   Replace  and Delete   The first set applies to all materials  The second  apply to the table entries themselves in a line by line fashion     The first step in editing a material is to select a model from the drop down  list box  the next is to select a specific material  The selected material    35    GSolver V5 2 User guide    properties are then loaded in the large list box  for Table Models  or in the  Edit box for the other materials     Make any modifications to the material parameters in the edit box and  select the edit operation desired  Insert to add 
87. la D5 100  To check the result increment or decrement the  parameter in D5 or simply have the Grid show all the cell formula  entries using menu item Formulas    gt Formula Expressions    6  Enter 0 in D5  10 in D6  and 200 in D7   7  Click RUN  The total grating thickness is varied from 0 to 2     6 2 4 Example of Littrow constraint    The Littrow condition constrains the incident angle  Theta  by the  wavelength to period ratio  One way to implement this constraint is  Theta   asin lambda   2 Period    Additional checking should be done to ensure that the argument of the asin  is correct  and that IThetal lt 90  The example below shows one way to  implement a Littrow condition constraint using the wavelength as the free  parameter  fixing the Period   If this example is worked following the  previous example  clear the layer thickness formulas by using the dialog  tool to enter the formula  0 1 in all the layer cells    1  Populate the grid  if needed    2  In cell B6  the wavelength parameter  enter    D5 100 1    62    GSolver V5 2 User guide    3  In cell B2  Theta cell  enter    degrees asin if abs B6  2 B7   lt 1 B6  2 B7  0      4  Enter O in DS  1 in D6 and 99 in D7  This will change the  wavelength from 1 to 1 99 microns   Click RUN  6  Another way to constrain this formula is as follows    degrees asin if abs B6  2 B7   lt 1 B6  2 B7  0        gt  0  amp  amp    lt 90    2    Note there are a variety of ways to enter this constraint  see section  5 2 1 2   The appe
88. lel  port  and USB type keys      In general  the GSolver executable is static linked  This means that it is a  stand alone application and does not rely on a host of Microsoft   DLLs   However the basic graphics  charting  engine requires the ChartFXO  clientserver core dll as well as the GDI library  which is a native  component for most Microsoft OS   These additional libraries are installed  in the local GSolver directory   install directory  support  to minimize  possible conflicts with the host system and other applications     GSolver uses the system registry to store the user tool bar and menu  selections  basic form layouts  and working file names  The materials  catalog is called GSolver ini   The    ini    file type is a hold over from earlier  versions of GSolver      GSolver V5 2 User guide    1 1 1 New V5 1 Features    Version 5 1 represents a major rework of previous versions of GSolver    V4 20c is the prior version   Many features have been added  many others  expanded  Following is a list of the principal differences between V5 1  and previous versions      Graphical Grating Editor     Automatic piecewise approximation construction     Greatly expanded genetic algorithm for automatic design     General algebraic constraints and equation editor     Improved graphing     Object linking and embedding  for interfacing to other programs  with drag and drop capability      Modified interface with independent floating GSolver windows     The materials file  Gsolver
89. ll can be altered by simply clicking  on it  A new material may then be assigned to that region by clicking on  the Material button and selecting a new material     The boundary lines between regions of a cell can be moved by dragging  with the mouse  or altered by entering new values in the X  and Y  text  boxes at the top of the form     84    GSolver V5 2 User guide    The 3D layer structure is numbered starting with the first layer which lies  on the substrate  and then increasing for each layer above     The Holographic tool and the Sine tool automate two popular 3D grating  profiles  The basic 3D grating parameters are entered on the Parameters  Tab as usual  the additional Y period is entered on the 3DEditor tab     10 2 1 Holographic Tool    A holographic grating may require 1 or many layers depending on whether  the modulation of the photoresist has density variation in the z direction or  simply in the x   and y directions  The tool handles either situation     The tool assumes that some material  base index  has some density  modulation  The modulation is defined by a sinusoidal variation of up to  10  order  The index of refraction is given by    n x  y z  n   ny  gt _A  sin  jK x   sz tan        where n  is the base index of refraction  and nz is the modulation index  K  is the in plane  spatial  k vector  27 A   27 Ay   and s 27 thickness    is  the so called slant angle and causes modulation in the z direction  When y    0 only one layer is needed     The gener
90. meters are checked  the first column will run through its values  and  then repeat as often as required by the loop     If the Listing RUN tool is used to generate the results  then the first  column represents the value of the parameter in cell D5  see the  Listing RUN chapter      9 1 Diffraction Efficiency  The diffraction efficiency is defined as follows   DE       E conj E       E conj E       E conj E         re k py   Keine    where subscript k   diffraction order  kzrx is the z component of the k     diffraction order  as defined by the grating equation   and R is reflection   R gets changed to T for the transmitted orders  Since all orders are  represented as plane waves  if the z component of the diffracted k vector  is O  or pure imaginary   then DE is identically O for that order     9 2 Phases    Phase for each order is defined as follows  given the complex E field for  the n    order equal E   first calculate    sz sign   re E  xim E      the sign of the z component of the usual vector cross product  Next  compute       re E    im E         HSZ X arccos  dd E im E                80    GSolver V5 2 User guide    on the range  n lt  p lt  n  The   sign  of the   operation  is used for the  transmitted orders  and the     sign for the reflected orders  This defines the  complex angle between the real and imaginary components of the complex  E field vector  The dot in the above formula is the usual vector dot  product  No attempt has been made to do phase unwrapping
91. mize dialog to turn on and off any toolbar  and use  the Command page of the toolbar Customize dialog to add or remove  buttons from any toolbar  Command buttons may be dragged from one  toolbar to another  To remove a button from a toolbar simply drag it from  the toolbar to the Command button palette     Toolbars are docking enabled     23    GSolver V5 2 User guide    2 6 1 Menu bar  OE    File Edit Format Formulas View Tools Grid Component About       The File menu item includes the commands for saving and loading saved  gs5  GSolver V5 1  grating files  It also hosts the printing commands  The  print commands will be active for any form that supports printing     Use the Import GS4 command to attempt to import a Version 4 20 grating  file  This command is active for the Editor tab form  To import a gs4 file   start from a new GSolverV50 window  Click the Editor tab and then click  the import command on the File menu  GSolver V5 1 will import the file   assigning constant materials for all of the grating regions  If a required  constant material is not found  a new constant material is created  There  may be problems importing gs4 gratings that have non constant materials   see the known bugs section      The Edit menu command list includes numerous actions that apply to the  grid data structures in the Listing RUN form  the GA form and the Results  form  The bottom section of the Edit menu contains a group of commands  that apply to the graphical Editor form  Although mo
92. n  or  bottom up   ending up with the sets of equations in R and T  This final  system  in R and T  are then solved  The internal fields are iteratively  solved  reusing the same matrix work storage area for each layer in turn     Thus the fields are first calculated in the first layer  and numerical values  are found for all field components at the top and bottom of the layer   These fields are solutions to Maxwell   s equations within the layer  They  can be multiplied by any arbitrary constant  which allows scaling such that  numerical overflow is avoided  The fields are then solved for in the next  layer  at the top and bottom  The internal interface boundary condition is  then solved using Gaussian elimination to remove the internal interface   leaving field solutions at the top of the first layer and the bottom of the  second layer  This proceeds through the grating stack  ending with field  solutions at the superstrate interface  top   and substrate interface   bottom   These fields are then matched  using the remaining boundary  conditions  and divergence free conditions to solve for the R   s and T   s in  terms of the w   s and k   s     19 2 2 2 Stack Matrix Methods    Boundary condition solving based on the stack matrix method is illustrated  in the following figure     input fields output fields    Each interface has fields approaching it and leaving it  the substrate has  only outgoing fields   The input and output fields are all multiplied by an    layer interf
93. n of the arguments    HMEAN      The harmonic mean of the arguments    LARGE R  N  The N  largest value in range R    MAX      The maximum of the arguments     95    GSolver V5 2 User guide    MEDIAN      The median  middle value  of the range R1    MIN      The minimum the arguments    MODE      The mode or most frequently occurring value    MSQ      The mean of the squares of the arguments    PERCENTILE R  N  The value from the range R that is at the N   percentile in R    PERCENTRANK R  N  The percentile rank of the number N among the  values in range R    PERMUT S  T  The number of T objects that can be chosen from the set  S  where order is significant    PTTEST R1  R2  The significance level of the two sided T test for the  paired samples contained in ranges R1 and R2    QUARTILE R  Q  The quartile Q of the data in range R    RANK E  R   O   The rank of a numeric argument E in the range R    SSQ      The sum of squares of the arguments     RMS      The root of the mean of squares of the arguments    SMALL R  N  The N    smallest number in range R    SSE      The sum squared error of the arguments    STD      The population standard deviation  N weighting  the arguments     STDS      The sample standard deviation  N 1 weighting     SUM      The sum of the arguments    T N  T  The integral of Student s T distribution with N degrees of  freedom from  o to T    TTEST R  X  The significance level of the two sided single population  T test for the population samples contained
94. ndix contains a listing of all the functions available in  the grid formula engine as well as formula syntax     6 3 Cell List    Cell F15 contains the label    Cell List     Any cell designation  such as B2   C12  G23  etc   that is entered in the column below F15 will be included  on the Results List     For example  assume that you want to include a listing of the contents of  cell B2  theta  which may be the results of a formula calculation  on the  Results listing  Simply enter    B2    in column F below the    Cell List    label  During a Run cycle  GSolver  scans down column F  starting at row 16  for a list of cell designations   Then for each parameter update it records those current cell contents in the  Results listing  This provides a way to include any grating definition  results in the Results listing for additional analysis     6 4 Formula Engine    Any cell entry that begins with an equals sign     is interpreted as a  formula  Each formula is evaluated immediately and the results are shown  in the same cell  To expose the formula scripts of a cell  select it and use  the menu item Formulas   Formula Expression     63    GSolver V5 2 User guide    Formulas are limited to 512 characters  Formula recursion is not  supported  That is  a formula cannot depend  either directly or indirectly   on its own output value     All calculations are done in double precision  Calculations with logical  operators      amp  amp   Il      consider a non zero value as TRUE and a
95. ng Run  and GA tabs when an item in the respective grids are selected     The numerical precision selection applies regardless of which solution  algorithm is selected  see Chapter 16   Generally the Algebraic Eigenvalue  method should be used  It solves the system of differential equations  simultaneously     18 1 1 Example Calculation    This example illustrates the value of increased precision  The following  Blaze grating in conical mount with elliptic polarization is used     Start GSolver  From the Parameters tab   Change the substrate to Table model and AL  Change the Lines mm to 1200   Change the wavelength to 0 5 microns  Change THETA to 17 5 degrees   Change PHI to 10 degrees   Change BETA to 10 degrees    From the Editor Tab   Selecte the Custom Profile Tool  menu    gt Component    Special Profile  tool    Select Blaze  default  and set the blaze angle to 17 5  cell C3   Select OK  Verify that the material is Table   AL  right click the figure and check  materials property    Select the    Approximation    button to load up the piecewise constant  approximation     From the Run Tab    Select Orders with Start   1 and Stop   25   Click RUN     109    GSolver V5 2 User guide    When the calculation is finished plot the 1R through the SumR columns   You should see something like the following    Untitled chart  6       3  iS  2  o  E  W     e     O  z  a       1 iJ i  i   12 00 15 00 18 00 21 00 24 00  Orders       Notice that at order 19 and 24 the calculation appea
96. nnects the superstrate with the substrate  The Gaussian system used in  the Solve3D Fnlmat3D code is conceptually easier and is described first   followed by the Stack matrix methods     123    GSolver V5 2 User guide    19 2 2 1 Gaussian Elimination    At the first boundary  going from the superstrate down  the equivalence of  the tangential E and H fields require that  UO    Ry   S  0     ij  1  4 990   Ryy   S yy  0   Syoolk i      k u    k  Rey     key Ryy   KU    0        joo lk Uy  Ti ku        A D k   R   kU    0     zy xij    where R  u  S  and U are defined in Sections 16 2 1 and 16 2 2  For s total  orders  2 orders 1   each field component  x  y  z  has s entries  At the  internal interface  between the n    and n 1  layers  the tangential fields  require  S       xij     d    Si  0     Sy  d   Sp  0   Ut  d  U1  0     n  U i     d   U y   0     yij  where d is the thickness of the n    layer  At the last interface  with the  substrate  the boundary conditions dictate that    TS d   TES Sad   kaTa KT    UR     k Vay  k yTy   kU   d     where d is now the thickness of the n    layer  This set of equations   together with the divergence free conditions  no charge is accumulating  within the grating  lead to two more equations    Ki Ray  k  vip Ryy   ky Ray  0  Ky La   Loar Li    ky Daj  0    124    GSolver V5 2 User guide    which represent a solvable system  The trick is to solve the internal fields  iteratively  eliminating dependence on the internal fields top dow
97. nto one row of twice the thickness     Since the sampling is done at the grid spacing  it is convenient to leave the  snap to grid property turned on  It takes a little discipline not to attempt to  create finer detail  Some experimentation with a grating structure will  indicate what feature size is required for accurately estimating the  diffraction efficiency     4 4 1 Grating Representations    52    GSolver V5 2 User guide    There are four internal representations of the grating structure  The  following is an overview of their interrelationship  and indications of  which representation is sent to the solver routines to calculate the  diffraction efficiency   See sec 1 2 figure for additional detail               Approximate            e   Listing RUN     o      Results    T    Y D  A    a    populate         al          Copy Update  Run Tab    Results       53    GSolver V5 2 User guide    The Canvas  on the Editor Tab  contains a list of geometric primitives   and represent the grating structure  within a single period   No diffraction  efficiency calculations are done using the list of geometric primitives     Whenever the Approximate button is clicked  the list of geometric  primitives are converted to a piecewise constant approximation  This  internal representation is the basic grating description which is passed to  the solver routines  For example  working from the Run tab  clicking the  RUN button will invoke the solver routines with the grating structure  whic
98. of refraction     The grating region  which may also be thought of as a modulation region   naturally divides itself into three categories depending on the number of  geometric degrees of freedom  In GSolver these have been termed 1   2  or  3 dimensional gratings  The same code is used for 1  and 2 dimensional  gratings  Three dimensional  or crossed gratings  mix or couple the x  and  y dimension layer Fourier coefficients  which complicates the  convergence optimizations used elsewhere     19 1 1 Stratified Grating Approximation    All gratings are constructed as piecewise constant lamellar stacks  This is  described in detail in the following paragraphs     19 1 2 1 Dimensional Gratings    A one dimensional grating or modulation region has a single degree of  freedom  A stack of uniform  isotropic thin films is an example of a one     112    GSolver V5 2 User guide    dimensional modulation region  The only geometric degree of freedom is  the thickness of each layer  along the z direction     19 1 3 2 Dimensional Gratings    Two dimensional gratings consist of a stack of layers  each consisting of a  periodic array  or stripes of homogeneous materials  The orientation from  layer to layer must be the same  In GSolver the uniform dimension is  taken as the y direction  the periodic dimension is the x direction  and the  thickness of the layer is the z direction     There are no restrictions on the number of layers  or the number of  materials within each period in each lay
99. or Tab for greater detail   It  can be made finer in two ways  1  by changing the grid spacing by  selecting Grid Properties from the Grid menu  which can also be  activated by right clicking in the canvas area  or 2  by changing the  canvas resolution  a number of view units equals one grating  period   which can be accessed under the menu entry  Edit gt Canvas Properties  Also  the actual layer and inter layer  geometric dimensions of any piecewise constant feature are  accessible  and modifiable on the Listing RUN tab   Click the Run tab  This brings up the standard global parameter list  similar to that of prior versions of GSolver  Using the check boxes   select one or several parameters  enter limits and then click the  RUN button  The calculated results are shown on the Results Tab   Alternatively  click on the Listing RUN tab to bring up the single  parameter editable list option   On the Listing RUN tab click the Populate button to load the list  from the current internal piecewise constant construct  If the     Approximation    button on the Editor form has not been clicked   this construct is empty  and so nothing will change  The piecewise  constant listing is discussed in the Listing RUN chapter   For this example the Listing RUN will be used for a couple of  simple calculations  To create a run with the angle of incidence  changing  Enter the following formula into grid B2    D5 2    13    GSolver V5 2 User guide    18     19     20     21    22    23     24    
100. panded capabilities  In particular  all materials are now tied  to material properties that assign indices of refraction for each region   including the superstrate and the substrate  This requires new data  structures that do not exist in previous versions of GSolver     An import function is provided to attempt conversion of V4 20c binary  grating files    gs4  into the V5 1 format  In many cases the material index  of refraction properties are assigned constant values in V4 20c  On import   the constant index of refraction properties are translated into material type  CONSTANT  see Gsolver ini file format   and this property is added to  the current material list automatically if it is not found     Holographic gratings are approximated as a set of constant index of  refraction regions  Depending on the granularity of the index modulation   this may lead to a very large number of materials of type CONSTANT     To import a V4 20 GSolver object  open a new GSolver window and click  on the Editor tab  Then click on the menu item File gt Import GS4 20c  A  file open dialog is created in which you should select the existing   gs4  file  After selection and clicking the OK button  GSolver creates a dummy  4 0 data structure and loads the   gs4 binary object into it  It then reads  through the data structure and creates a V5 1 data structure from it  using  default values for any information that are not assigned  In particular  V5 1  must assign a material type  INI model and mo
101. period of around 2 0  a total thickness of about 7 6   and an  1T order with approximately 96 9  efficiency are typical     Change the mode settings under GA Options to examine the behavior of  different DE evaluation schedules     Following is a modification to the above example to find the best grating  for simultaneously maximizing transmission  in the 1T and    IT  for  thickness  period and angle of incidence  The best such configuration will  have 1T    IT   0 5     1     2     Enter the following in B2   if F7 gt 0 amp  amp F7 lt 80 F7 40   Enter 0 in D7 and 80 in E7    75    GSolver V5 2 User guide    3  Change the goals on the Options dialog to  1T 0 5 1 and  1T 0 5 1  4  Click RUN GA    A typical run may result in Theta   2   Period   2 7 and thickness   2 7  with IT   42   and    1T   47      76    GSolver V5 2 User guide    8 Execution  RUN Tab        Just as in previous versions of GSolver  the RUN tab provides immediate  access to several key grating parameters   Ce as    Ee Edt Foma Pomiuss Yew Ioas Gwi Comoonert hat   gS athe g aa      rper   ato En ja Ren  re   orar   one      Run Parameters    Stat Stop Ine  A      Tat cider Lilio conaran  Wavekegh      A joi Ci thala   a CIN            Pewakal Memory  517 28 Me   7 40 PM         8 1 1 Run Constraints    The RUN tab parameters that are checked define a loop over which the  selected parameters vary     Select a parameter and enter the start  increment  and stop values for it   Click on RUN to start the calcul
102. product  If there  is no grating  then S is initialized to the identity and the final calculation  simply turns out to be a solution of the interface Fresnel equations     The implementation of the stack method is somewhat altered if the  problem is purely a TE or a TM mode  In that case certain vector  components are identically zero     128    GSolver V5 2 User guide    20 Trace Pro Material Runs       GSolver has an integrated tool for generating a material property file   essentially a BRDF for a grating  suitable for reading into TracePro     The  idea is to set up a grating and loop through all the angles  and wavelengths  for radiation incident from the superstrate to the substrate  normal mode   as well as from the substrate to the superstrate  reverse normal   For  normal parameter selections  a large number of GSolver runs may be  generated  On completion of the normal mode the results of the calculation  are stored to temporary arrays and the grating structure is then temporarily  inverted  the superstrate and substrate materials are swapped  and the  order of the grating layer structure is inverted  and the series of loops are  run through again  Finally  the run data from both sets of runs  normal and  inverted  are written to a text file in a format suitable for import into  TracePro    and the grating structure is returned to its normal orientation     GSolver expects the superstrate to have only real valued indices of  refraction  If the TracePro   tool is run
103. r       The GS4 Editor is new to GSolver V5 2  it includes editing syntax of  V4 20 and is a layer by layer graphical editor  A representation of the  editor is shown in the following figure         I bs      Ele Edit Format Formulas View Tools Grid Component About     osa   Be 9 5 ems  Free y o noOLoOCABm e              Parameters   Graphical Ector 684 Editor   ssngRUN   ca   run   Resuts   sedi   3DRun   Angescac      Define grating profile with GS4 syntax    X  fk  0 20318725099601  Layer thickness    0 0249999942779   Current Layer    6      Add Insert Layers     Add on top     Insert at current layer  N_x   Single layer  N transitions  N ties   Linear profile N tie point       3D View      dbl dick to set index  Click drag transitions       9 29AM  INUM AE        This editor operates directly on the internal discrete approximation  and  each layer in the grating can be displayed in the graphic window on the  left  A layer consists of various regions which each region identified by a    56    GSolver V5 2 User guide    width  relative to a period  and an index of refraction  Each    block    in the  layer can be directly edited by clicking on and dragging the boundary lines   or after selecting a boundary line by clicking and dragging it  simply  entering the relative location in the text box      Boundary lines are numbered from left to right  Each boundary is limited  by the position of the boundary on the immediate left and immediate right   Thus a boundary may not be 
104. r  fields are obtained  in the case of no diffraction these are the Fresnel  fields   When klz  or k3z become purely imaginary  the related DE is  identically 0  This happens for evanescent waves  which can be thought of  as standing waves at the boundary surface since the grating is being  illuminated by an infinite extent plane wave     The fields internal to each grating layer are found by solving Maxwell   s  equations with the permittivity expanded as a Fourier series  This leads to  the solution of the field equations with a number of unknown amplitude  coefficients  These are found by application of the boundary conditions for  the tangential components of the E and H fields  By ordering the equations  properly all internal fields may be eliminated from the calculation  greatly  simplifying the solution and allowing it to proceed in an iterated manner   reusing the same work arrays  The final boundary condition call results in  the incident  reflected  and transmitted fields     19 2 1 Maxwell   s Equations    The solution of the field equations within each layer  and the region of the  problem  is found by solving the first order Maxwell     19 2 1 1 Superstrate and Substrate Solutions    The superstrate and substrate are semi infinite  homogeneous media  It is  common knowledge that a traveling wave solution to Maxwell   s  equations  in terms of the E field  may be written as    E    E       R  exp   kl  r     ij    E     gt  T  exp   k3     r     d2   ij    117    
105. r  for information purposes     Layer 1 is the first layer of the grating structure and interfaces to the  substrate  Each subsequent layer lies on top of the previous layer     The first thing to do is to populate the grid with the grating definition  structure created on the Editor using the Approximation function     Any empty grid cell can be used to hold intermediate results  The grid  supports split views for both vertical and horizontal splitting     Grid specific menu items are grouped under Format  Formulas  View and  Grid  Many of the controls operate on specific elements of the grid  In  those cases  the element must be selected before the controls are activated     6 1 1 Make Grid Current    Make grid current option copies the current piecewise grating structure   including parameters  as represented on the grid to the internal grating  storage array  It has no effect on the Canvas  graphic representation  of the  grating  This allows for any updates changes to the grating structure to be  used between the Grating Listing tab  the GA tab  and the RUN tab  For  example  after a GA run  the resulting grating structure can be copied into  the general grating storage array  after which a RUN will use the results of  the GA run     6 2 Parameter Control    The Listing RUN grid is equipped with a single parameter which is  located in cell DS  This cell can be incremented and decremented  by the  increment value in cell E5  using the button controls in F7 and E7     When
106. r Phoenix  Editions 2003     W  Magnus  S  Winkler  Hill   s Equation  Dover Phoenix Editions  2004     131    
107. r components of the k vector in the superstrate  region  1  and the substrate  region 3  for order  m  my   The x  and y  kvector  components are the same in the super  and substrates due to boundary    89    GSolver V5 2 User guide    conditions  The diffraction order angles are then calculated in the usual  way from these components     90    GSolver V5 2 User guide    13 Dialogs       13 1 Refractive Index Selection Dialog    The superstrate and substrate materials properties are set with the  following dialog which is similar to the material selection property page  used to set material properties for the Editor canvas objects     Refractive Index Selection E  OK Apply Cancel    IV Lambda change update Index    1 47977  0 00000      Table Model X   KCL he    Color Map         The superstrate and substrate are not represented on the Editor canvas  so  the color assignments are not relevant     13 2 Refractive Index Color Map Dialog    Every material property has two colors that represent the real and  imaginary parts of the index of refraction  The mapping between a color  and the value of the index of refraction is set using the Color Map dialog     The dialog contain two lists that represent the range for the real  n  and  imaginary  k  parts of that index of refraction  Each list is comprised of a  number of entries  in increasing order  together with a color defined in  RGB space  8 bit coordinates   Numbers in the list are called break points     The algorithm that id
108. raphical object is created  Note the material property does not take a  default value but is set according to the substrate material property     Edit gt Measurements and Size     This dialog controls that canvas  viewport units and display scheme  It is recommended that the default  settings be used  See the Editor form chapter for more details     Edit gt Canvas Properties     This dialog allows control of the relative  canvas size  number of canvas units to 1 period   See the Editor form  chapter for more details     Edit gt Color Map     This Dialog controls the color look up table for the  real and imaginary parts of the index of refraction  See the Refractive  Index Color Map Dialog for more details     Edit gt Material     This command brings up the Materials editor dialog   See the Materials Editor dialog for more details     The Format and Grid menu items all apply to the data grids on the various  forms  As will be noted  it is possible  separately from the grating  to save  as a text file the data on any grid  Thus  several different parameter runs  may be saved  and reloaded  for a single grating configuration  The grid  data only is saved and loaded with this feature  not the internal piecewise  constant data structure  Several commands apply only if a grid item is  selected  If a command does not apply it is grayed out  disabled      The Formulas menu item group applies to the Listing RUN and GA grid  formula engine which is detailed in the Grid Formula Engine c
109. reference the cell in which it resides  by  using the symbol    For example  the formula  A1   A2     gt 2  amp  amp    lt  B5  Il    C7 means  the value of the current cell is the sum of cells Al and  A2  and that value must be either greater than 2 and less than or equal to  the value of cell B5  or equal to the value of cell C7  The benefit of  constraint expressions is maximized when combined with current cell  reference support     as indicated in the above example     Constraint violation generates an error dialog box  and so can be  inconvenient in loops  An alternative is to us the if    1  2  function  This  function returns  1 if the condition in the first slot is true  otherwise it  returns the result in  2  For example     if  d5 100 gt  90  28 d5 100 lt 90 d5 0     will return the value d5 100 if it is between  90 and 90  otherwise the  function returns 0     67    GSolver V5 2 User guide    7 Genetic Algorithm  GA Tab     The GSolverV5 1 genetic algorithm has been significantly enhanced  It is  based on Differential Evolution  DE   a class of genetic algorithms for  which there is a large literature   The Differential Evolution home page is    http   www icsi berkeley edu  storn code html          F    untitled   GSolver  50        e Edit Format Formulas View Tools Grid Component About     Reese Wook Oe    Parameters   Editor   Listng RUn GA  Run   Resuts   3D E  tor   30 Run     HA A RARA Se E ees  GA Grating Definition Listing             Real Parameters  Min 
110. resented as    119    GSolver V5 2 User guide    E      S  JexpKk     r   ij   H   Uy  2  exp    Jk     r   ij    where S and U are unknown complex valued vector field functions     The key to the coupled wave expansion within each layer is to replace      with a truncated Fourier series representation  Both e  the permittivity   and the inverse of e  impermitivity  are required  The permittivity within  each layer is a function of x and y only  for the general three dimensional  grating case  but not of z  These are periodic functions in A  and Ay     elx  y     gt    amp    expUK  gx   IK hy   gh    elx  y     Dee  expUK  gx   IK hy   gh   where the Fourier coefficients are constants  e and       are only strictly  inverses when gh ranges from     to  00  When the series are truncated  they may no longer be inverses  This is the origin of some of the  convergence problem generally  and manifested principally in the TM  polarization case  By properly adjusting the coefficients of the truncated  series so that the permittivity and impermitivity are inverses for any  truncation order  convergence is greatly facilitated  For one  and two   dimensional gratings  the permittivity and impermitivity are functions of a  single variable and it is fairly straightforward to enforce the proper  relationships  The one  and two dimensional code calculates the Fourier  coefficients of the permittivity  eh   the impermitivity  ah   and the  inverses of each of these  eh1  ah1      For the g
111. rs to become unstable   the SumR result for order 24 is NAN indicating a problem      Return to the Run tab and select the menu item Tools    128 Bit Floating    Point and then click on RUN again  the calculation will take several times  longer to run   When complete the plot now looks like    110    GSolver V5 2 User guide          Examination of the Results table values indicate that the calculations at 19  and 24 orders appears better behaved     111    GSolver V5 2 User guide    19 Diffraction Solution Implementation       This chapter contains a general description of the theory used by GSolver  to solve the grating equations  After a review of the general ideas behind  the grating structure  the formulation for Maxwell equations and various  solution techniques are discussed     19 1 The Grating    A general periodic grating structure is defined to exist at the interface of  two semi infinite homogeneous  isotropic media called the superstrate  and  the substrate  In GSolver the superstrate is characterized by a single real  index of refraction making it a lossless dielectric  This permits the  definition of the normalized incident plane wave anywhere in the medium   The substrate is characterized by a single complex number  The  transmitted energy  or rather complex E field  is calculated at the top  or  entrance into the substrate  If the substrate is lossy  then the fields will  decay away exponentially  depending on the size of the imaginary  component of the index 
112. so manifest itself between  different installs of V4 20c     37    GSolver V5 2 User guide    3 Parameters Tab       This chapter describes the various data fields and controls on the    Parameters tab form which is shown in the following figure     a o         File Edit Format Formulas View Tools Grid Component About     S Bea et WOeKkKo             Parameters   eto   Listing RUN   GA   Run   Results   3D Editor   3D Run      Default Parameter Values    Mic v a  Vacuum Wavelength  fi microns  Microns 2  UNITS Selection    Eno Pais e eae fi conversion  from microns  factor  or Lines mm  17000 a Superstrate Index  select    1 00000  0 00000     Substrate Index  select    1 50000  0 00000   Angles of Incidence selec      THETA  fo IV   order convention  PHI    0    m POLARIZATION    ALPHA  fo  BETA  fo    or Stokes Parameters                  Physical Memory  500 24 ME  7 44 PM  Z       The figure in the lower right depicts the grating  showing the illumination  k vector  plane wave   along with the various diffracted orders     38            GSolver V5 2 User guide    The various Parameter entries are discussed in subsequent sections     3 1 Units Selection    The internal representations of wavelength and grating period are in units  of microns  For display  different units may be chosen for these quantities   Several common length units are available for selection from the Units  drop down list box  Selecting one of these defines the units conversion  factor for the display 
113. ss is the Table model  Table models are the  most general  and easily extensible  Also most index of refraction data is  recorded in tabular form     93    GSolver V5 2 User guide    15 Grid Formula Engine       Quick Reference Guide to Built in Functions    15 1 Mathematical Functions    The following lists the supported mathematical functions   Function Description  ABS X  The absolute value of X   ACOS X  The arc cosine of X   ASIN X  The arc sine of X   ATAN X  The 2 quadrant arc tangent of X   ATAN2 X  Y  The 4 quadrant arc tangent of Y X   CEIL X  The smallest integer greater than or equal to X   COS X  The cosine of X   COSH X  The hyperbolic cosine of X   DEGREES X  Converts the angle expressed in radians to degrees   DET M  The determinant of the square matrix range M   DOT R1  R2  The dot product of the vectors R1 and R2   EXP X  e raised to the X power   FACT N  The value of N    FLOOR X  The largest integer less than or equal to X   FRAC X  The fractional portion of X   GAMMA X  The value of the gamma function evaluated at X   GRAND    A 12th degree binomial approximation to a Gaussian  random number with zero mean and unit variance   INT X  The integer portion of X   LN X  The log base e  natural log  of X   LNGAMMA X  The log base e of the gamma function evaluated at X   LOG X  The log base 10 of X   LOG10 X  The log base 10 of X   LOG2 X  The log base 2 of X   MOD X  Y  The remainder of X Y   MODULUS X  Y  The modulus of X Y     94    GSolver V5 2 User guide   
114. st of these commands  are self explanatory  notes for particular commands are presented below     Edit gt Components     This command activates the Components dialog   Each object on the Editor canvas is identified with a default name  This  dialog helps navigate a grating construct with numerous objects  It also  provides an alternative way to call up the properties dialog for any  particular object     Edit   Properties     The Properties dialog can be used to define the  properties of the selected Editor drawing object  The essential property is  the Material  which defines the index of refraction for the object  Other  properties exist for convenience  and include the object name  edit flags   indicating whether a property can be altered  the thickness of the  boundary line  and the color  By default the color is tied to the index of  refraction  see the Editor Form chapter   However  the color can also be  set independently of the assigned index of refraction for display purposes    24    GSolver V5 2 User guide    only  since the display color has no effect on the assigned material  property  Note that the boundary line is generally not used in creating the  piecewise constant approximation of the canvas objects  However if the  boundary line is made thick enough  and intersects a grid point  it may be  included and assigned default superstrate properties by the piecewise  constant algorithm     Edit   Default Properties     The Default Properties are used when a new  g
115. st the 512 byte limit  e Ranges look like B12  G29  A1  D5    Operators  order of precedence       14   12   12   12  112   12   11   11   10   10   lt  lt 9   gt  gt 9     lt  8     823  112    1    Unary percent   Exponentiation   Unary plus   Unary minus   Bitwise complement  integer   Logical not   Multiplication   Division   Remainder  integer mod   Addition   Subtraction   Shift left  bit shift on integer   Shift right  bit shift on integer   Less than   Greater than   Less than or equal   Greater than or equal   Equal   Not equal   Bitwise And or string concatenation  Bitwise XOR  integer   Bitwise Or   Logical And   Logical Or   Conditional  like the C language conditional     65    GSolver V5 2 User guide    In formulas with more than one operator  the grid formula evaluates  operators in the order of precedence presented above  with highest  precedence first  That is  AND OR NOT operators are evaluated after  inequality operators in a logical expression  and multiplication division  operations are performed before subtraction addition operations in an  arithmetic expression  Operators at the same precedence level are  evaluated from left to right     Indirect Reference    An indirect cell reference specifies a row  column offset from the current  cell location with the follow syntax      t  column offset  row offset     e If one value is included  the grid formula assumes that it is a  column offset  For example  the offset reference    1  tells the  grid formula to
116. stna RUN   GA   Run   Resuts   3DEdtor   30 Run   anges cate    E Grating Editor Cetea scaler  rp  if Approximation        ua       12 36PM    BE Z    The main area is called the    canvas    where all drawing takes place  The  canvas represents an edge on view of the grating  The substrate exists in  the region below the canvas  The area above the substrate is the  superstrate  The canvas is the    modulation region    where the grating  exists  This is illustrated in the following figure     43    GSolver V5 2 User guide       Once a figure is drawn  using the primitive shapes and automatic profile  tools  a click on the    Approximation    radio button in the upper left corner  invokes the piecewise constant approximation routine  This routine  examines the canvas at the each of the canvas grid points and creates a  piecewise constant approximation  the internal representation GSolver  uses for diffraction calculations     If drawing objects overlap  the object on    top    determines the index of  refraction for that region  If several objects are grouped  the grouped  object is treated as a single object with the    first    object in the group  setting the material property for the group     New to version 5 1 18 is the Vertical Scale Factor  in the upper righthand  comer of Editor form  The scale factor multiples the vertical dimension  when the    Approximation    function is called  GSolver assumes that all  horizontal dimensions are relative to a grating period  def
117. superstrate and substrate      19 2 Theory    This section contains a presentation of the theory of the solution of the  diffraction problem  The grating is defined as a piecewise constant   periodic  lamellar structure at the boundary between the semi infinite  superstrate and substrate regions     The grating is illuminated by an incident plane wave determined by five  parameters  a wavelength and four angles  Two angles determine direction  of travel from the superstrate to the substrate  and two angles determine  the state of polarization  The incident E field has unit magnitude  The only  dimensioned measures in the problem are the wavelength and the grating  period s   Since these lengths enter as ratios  their units are not important  as long as they are the same  such as microns      GSolver computes the fields internal to each layer  and explicitly at the  boundaries  These fields are complex inhomogeneous plane waves  The  reflected diffracted fields and transmitted diffracted fields are computed  by eliminating all internal fields and solving for the fields at the top and  bottom interface  The diffraction efficiency is defined to be    116    GSolver V5 2 User guide    DE     R   Re k1     kz           DE       y          T           Re k3     kz     where Il ll is the norm  sum of the magnitude squared of the vector  components   and the subscripts ij refer to the ij    diffracted field  and Rj   T  are the complex vector E field magnitudes  For i j 0 the specula
118. t connects top  and bottom2  and so forth down through the  layers  If S  is the stack for layer 1  and S  is the stack for layer 2  the  combined stack is found to be        1 7       S7 1 S  83   Sa  Si  I S  83   SiS   S  H ie  1  1 2  bl   S   1 S3S     3  1  8        1  38    S  LU    LU      Note that one 4s x 4s matrix inversion is replaced by two 2s x 2s inverses   Thus the stack method is not only faster  it is more stable than the    Gaussian method  The stack methods are used in all solvers other than the  3D grating case              The final stack matrix is complicated by the fact that the external fields  require all vector components  and are  therefore  of a different dimension   When the grating layers have been solved there is found a single stack  matrix  S  This is placed in the following 6s x 6s final boundary condition  solver as follows          UO  R          1 S   k S R   1 S   k x  0 u  id 12  1x  11 y  UO  S  k x  S  7  k x    R     S   k x  0    0 k  0 T    0 0   0 0 k JT   0 T                 where the sub blocks are appropriately dimensioned  GSolver calls the  matrix that pre multiplies the RT vector the F matrix  This matrix is    127    GSolver V5 2 User guide    formed in Fnlmat TE TM  and a final partial inverse is performed  Since  the bottom rows of the terms on the left are all 0  only those rows that are  needed in the inverse are computed  The notation kx indicates a matrix  that  when multiplied by a vector  results in a vector cross 
119. t set of loop conditions are completed  a second  dialog pops up asking if the user wishes to invert the grating and  complete the second set of loop conditions  Click OK    On completion  a file dialog pops up  Enter the name of the text  file in which to record the results  If that file already exists  the  contents are over written     130    GSolver V5 2 User guide    21 References       E G  Loewen  et al     Grating Efficiency theory as it applies to blazed and  holographic gratings     Apl  Opt  16 77 2711     E  Popov  et al     Lamellar metallic grating anomalies     Apl  Opt   33 94 5214     M G  Moharam  et al      Diffraction analysis of dielectric surface relief  gratings     JOSA A 72 82 1386     M G  Moharam  et al      Rigorous coupled wave analysis of metallic  surface relief gratings     JOSA a 3 86 1780     L Li     Multilayer modal method for diffraction gratings of arbitrary  profile  depth  and permittivity     JOSA A 10 93 2581     L Li     Convergence of the coupled wave method for metallic lamellar  diffraction gratings     JOSA A 10 93 1184     T K  Gaylord  et al      Zero reflectivity high spatial frequency rectangular   groove dielectric surface relief gratings     Apl Opt 25 86 4562     T K  Gaylord  et al      Analysis and applications of optical diffraction by  gratings     Proc  IEEE 73 85 894     M  Neviere  E  Popov  Light Propagation in Periodic Media  Marcel  Dekker  Inc  2003     L  Brillouin  Wave Propagation in Periodic Structures  Dove
120. talog   Graphical object description  Grid data       Grid Formula Engine                Canvas  drawing  editor                 Graphing utility    Maxwell equn  solver                   Piecewise constant  grating structure             Each top level GSolver window  as depicted in the figure above  is  designed to operate on a single grating structure     The objects in blue are shared components  The objects on the left are  unique to each top level GSolver window  Therefore if multiple GSolver  windows are open  each with some grating structure entered  then all  parameter settings are unique to that window   s particular grating     When GSolver is started  the first order of operation is to look for the INI  file in the local directory where GSolver was launched  If GSolver does  not find one  it creates a new one with default materials of each type     When GSolver shuts down  its final operation is to rewrite the INI file  with the current material structure  Thus  if there are multiple GSolver  windows open from the same directory  the last one closed will overwrite  the INI file  This should be kept in mind when using the GSolver material  editor to add or otherwise change the material catalog     2 2 Drag and Drop    GSolver V5 1 is built as an OLE  Object Linking and Embedding  object   This permits the various graphical fields to be dragged between different    19    GSolver V5 2 User guide    GSolver windows  as well as any other OLE enabled application  such as
121. that  varies from the Current entry to the Stop value in increments of the value  in cell E5  Formulas are used to set up a particular order calculation     Refer to Chapter 5 for a description of the use of formulas in a grid     88    GSolver V5 2 User guide    12 1 Example DE Angle Calc    This example creates a table of the  1 order angles as a function of the  incident angle  assuming the substrate is type Constant One 5 and the  superstrate is type Constant Ones     1  Click on the Angles Calc tab   2  Enter a  1 in cell B2   3  In cell B3 enter the following    D5   4  Click the RUN button  cell D9   The table displays values in degrees for the diffracted angle for the  1R  order  labeled deTheta   the  1T order  labeled deTheta3  and the relevant  Phi angle     Formulas can be used to alter any of the parameters in cells B2 through  B6  For crossed  3D  gratings  click on the 3D button  The table is now  augmented with an additional order  since orders are then defined in the x   and y directions     12 2 Definition of the Angle Calc    The Angle Calculation for the diffraction order is defined as follows   where A   wavelength  and A are the X  and Y periods define     dx Alh   dy A A   For normal gratings Y    oo  dy   0     Set Nsup   Superstrate index of refraction  and Nsw    N3  K3    complex  substrate index of refraction  Now calculate     k    N1sin 0 cos       m dx sal kl  E  k  k  k    N1sin 0   sin      m  dy k3  _ SPN   k   k           These are the vecto
122. the canvas    7  Move the mouse cursor into the interior of the rectangle and right  click  This brings up an item property menu  Select Properties    8  Select a material for the rectangular region just created  In  principle  any shape may be made  and assigned a property  For  overlapping shapes  the region on top is used when making the  grating definition    9  Drag the rectangle to the bottom of the canvas so it rests on the  substrate region    10  The units of the canvas are normalized to 1 grating period  The  view region can be sized to any reasonable size  however the width    12    GSolver V5 2 User guide    11     12     13     14     15     16     17     of the canvas is 1 period no matter how the canvas is sized for  display purposes  This is explained in detail in the Editor chapter   Recalling that periodic boundary conditions are assumed  the  single rectangle drawn in the canvas represents a binary grating  looking edge on  Once the grating is defined with the graphical  editor  an internal piecewise constant approximation can be  created  This gives the representation used in the RCW analysis   Click on the Approximation radio button in the upper left corner of  the canvas area to create the piecewise constant approximation   Each time this button is clicked  and only then  the internal  representation of the piecewise constant construct is recalculated   The spatial resolution of the piecewise constant construct is  determined by the canvas grid  see Edit
123. the table   GSolver linearly interpolates the table  For example  the following is a  partial entry for silver  AG      AG    0 186412 0 995 1 13  0 187836 1 00425 1 14938  0 189282 1 012 1 16    32    GSolver V5 2 User guide    0 19075 1 0195 1 16813   0 192242 1 028 1 18   0 193757 1 0375 1 19438   0 195296 1 048 1 21   0 196859 1 05963 1 22563   0 198448 1 072 1 24   0 200063 1 08481 1 25125   0 201704 1 098 1 26   0 203373 1 11163 1 26563   0 205069 1 125 1 27   0 206793 1 13719 1 275   0 208547 1 149 1 28   0 210331 1 16144 1 28531   0 212146 1 173 1 29   0 213992 1 18188 1 29281   0 215871 1 19 1 295  For a wavelength selection of 0 20  for example  the table value entries at  0 198448 and 0 200063 would be linearly interpolated  This is a common    method of tabulating indices of refraction  and users are encouraged to use  the Table model     2 7 9 Color Map    Indices of refraction  both real and imaginary parts  are represented by  colors on the Editor canvas  The two colors are given as a background and  a cross hatching pattern  Assigning of the colors is through a user   definable color map interpolation scheme     33    GSolver V5 2 User guide    Refractive Index Color Map mm  coed      Real part Color Map Imaginary part Color Map    0 00000  0  O  0  0 00000  250  250  250   1 00000  150  150  50  1 00000  50  250  50   1 50000  250  250  50  2 00000  50  50  250   2 50000  150  250  250  15 00000  250  50  50   4 00000  20  20  50                Controls    R 
124. ting listing generated by the piecewise constant approximation   which is the internal representation of the grating for purposes of  calculation  can be edited for precise thicknesses  This is discussed in  Chapter 5     4 3 6 Uniform  fill  Coats    Uniform  fill  coats are made in a similar N  manner to the conformal coats discussed   N    50       GSolver V5 2 User guide    above  Simply select the rectangle tool  set its properties and size  width as  wide as the canvas   and then put it at the bottom off the z order  All other  objects will be on top  and any canvas space is now covered by the fill  material defined by the rectangle object     4 3 7 Text and Lines    For convenience GSolver contains text and line tools that can be used to  annotate grating structures on the canvas  Text and line tools do not have a  material property  and should not be used as part of the grating  approximation  They do have a color property  but this is not tied to any  particular material     However if it happens that a line or text object intersects a grid point  it is  possible that the piecewise constant approximation algorithm will assign  some  undefined  property to that location  Therefore the text and grid  lines should be used for annotation only  if they affect the piecewise  constant approximation algorithm they should be either temporarily  covered  sent behind something   moved slightly  or not used     4 4 Automatic Piecewise Approximation    Once the grating profile is
125. turns 1 if X  contains  an error  otherwise 0    ISNUMBER X  1 if X is a numeric value  otherwise 0    ISSTRING X  1 if X is a string value  otherwise 0    TRUE The logical value 1    AND      0 if any argument is 0  1 if all arguments are 1  otherwise  1    NAND      O if all arguments are 1  1 if any argument is 0  otherwise  1    NOR      0 if any argument is 1  1 if all arguments are 0  otherwise  1    NOT X  0 if X 1  1 if X 0  otherwise  1    OR      0 if all arguments are 0  1 if any argument is 1  otherwise  1    XOR       1 if any argument is not 0 or 1  otherwise 0 if the number of  arguments valued 1 is even  1 if the number of arguments  valued 1 is odd     15 6 Date and Time Functions    The following lists the supported date and time functions   DATE Y  M  D  The date value for year Y  month M  and day D   DATEVALUE S  The corresponding date value for a given string S   DAYS360 S  E  The number of days between two dates  based on a  30 360 day count system   DAY DT  The day number in the date time value DT   EDATE S  M  The date time value representing number of months  M     98    GSolver V5 2 User guide    before or after start date  S    EOMONTH S  M  The date time value of the last day of the month M  months after S  for M    or M months before if M is     HOUR DT  The hour value  0 23  of date time value DT   MINUTE DT  The minute value  0 59  of date time value DT   MONTH DT  The number of the month in date time value DT   NETWORKDAYS S  E   H   Number of 
126. ults tab is activated automatically  The  results grid is configured to hold the results during the first run through of  the parameter loop  The user can  therefore  click over to the Results tab  and watch the table being filled  At the end of the calculation GSolver  eliminates zero value columns     6 2 2 Abort Button    It is possible to set up grating structures that take a very long time to both  allocate memory and run the defined calculation  The Abort button  attempts to stop the loop  However the calculation only responds to the    61    GSolver V5 2 User guide    abort message at certain convenient places  For example  if the operating  system is off trying to allocate sufficient RAM the abort will not happen  until the OS returns from that activity     6  A 3 Example of varying the thickness of the grating     Populate the grid by clicking the Populate button  assumes you  have defined a grating with the Editor    2  Select the Thickness Formula tool using menu item Grid    gt   Thickness Formula   3  On the Thickness formula dialog click on the All button  This tells  GSolver that the formula should be entered in every layer thickness  cell on the grid  If you only want to vary the thickness of some of  the layers  then click to deselect other layers from the list  A  selected layer is indicated with a         sign    4  Enter the following into the entry text box on the dialog    D5 100   5  Click OK  The grid layer cells should now be populated with the  formu
127. using the algebraic eigensystem method of  solution  In particular all growing exponential solutions may be avoided  with proper renormalization of the eigenvalues  or ordering of the solution  space  GSolver also takes advantage of the intra layer field normalizations   which are never actually evaluated absolutely   The internal fields are  scaled to eliminate any growing exponential  The remaining numerical  stability issue is in the calculation of the eigensystem of M  and limitations  due to finite  round off  precision arithmetic  see Chapter 17      GSolver incorporates an exact truncated Fourier series inversion  the  impermitivity is the inverse of the permitivity independent of truncation  order   matrix balancing  reduction to Hessian form  and QR  decomposition to solve the eigensystem  However for large eigensystems   lots of orders retained in the Fourier representation of the permitivity    and for slow convergence of the Fourier system  numerical round off error  can propagate through the eigensystem solution leading to meaningless    103    GSolver V5 2 User guide    results  In that case additional numerical precision can often stabilize the  solution     There are no user modifiable parameters associated with the Algebraic  Eigensystem  AE  method of solution  The numerical formulation of the  solution is generally stable for arbitrary grating layer thickness and for  arbitrary polarization  This method is recommended     17 1 2 5  Order Runge Kutta  RK    
128. ution of the boundary conditions which explains why  some gratings require a large number of orders  beyond the number of real  propagating orders  be retained to get    convergence    or physically  meaningful results  This is particularly true for gratings that contain  materials where relative differences in complex index of refraction are  large  and the field is in TM mode     8 1 4 Run Stop    The RUN button executes a loop defined by the selected parameters   There is always at least one calculation in a RUN  which represents the  current version of all the parameters  even if no parameters are selected     The STOP button simply posts a message to the GSolver message queue  to halt the current calculation  This is a non deterministic action and  GSolver will respond to the STOP command at a convenient point     78    GSolver V5 2 User guide    9 Results Tab       The Results tab holds the grid where the calculated diffraction efficiencies  are posted  Reintroduced in GSolver 5 1 is a simple phase calculation  which is also listed     untitled A         File Edit Format Formulas Yiew Tools Grid Component About        kee e 2 Woe hk Of   Parameters   Eator   Listngrun   ca   Rin Results  30 Eator   30 Run      E      9 0000  0 04    0 04    0 96    0 96    4 00000C       oor 00 0 0399824    0 0399824    sone 78361    0 959661    a 78361    0 960018    4  00000C       0 0200  0 0399294    0 0399294    10 000712901    0 958645    0 000712901    0 960071    1  00000C      
129. value Max Value  lo 1 0 369141    lo 11 0 113068  lo 11 0 0106201                                                          Weight  0 70000000  CrossOver  0 30000000  Population  25  Maxiterations  25  Method  Rand  Bin    GA tes Options                                                             N e y                         Physical Memory  537 96 Mt  7 39PM    a       68    GSolver V5 2 User guide    The GSolver DE implementation allows for an arbitrary number of real  parameters  and all of the popular evolution strategies  However some care  and skill are required to find any particular grating efficiency solution  If  the solution constraints are too far afield of any physical solution  the  algorithm is likely to simply wander around in parameter space and never  produce a satisfactory result  However the application of DE to grating  design is a very powerful tool in optimization     This chapter explains DE and how it applies to grating design     NOTE  I file version 5 1 1 1 an additional menu item as been added to the  Menu Grid menu called    Make grid current     This option will copy the  current piecewise grating structure  including parameters  to the internal  grating storage array  It has no effect on the Canvas  graphic  representation  of the grating  This allows for any updates changes to the  grating structure to be used between the Grating Listing tab  the GA tab   and the RUN tab  For example  after a GA run  the resulting grating  structure can be copi
130. working days between S and E   NOW The date time value of the current system date and time   SECOND DT  The seconds value  0 59  of the date time value DT   TIME H  M  S  The time value for hour H  minute M  and second S   TIMEVALUE S  The corresponding time value for a given string value S   TODAY The date value of the current system date   WEEKDAY  D  Integer representing the day of the week on which day D  falls  1 is Sunday  7 is Saturday   YEAR DT  The year value of date time value DT   YEARFRAC S  E   B   The portion of the year represented by the  number of days between start date S and end date E     15 7 Miscellaneous Functions    The following lists miscellaneous supported functions    CELLREF N1 N2  A reference to the cell in column N1 and row N2    CHOOSE N       The N  argument from the list    COL C  The column address of the cell referenced by C    COLS R  The number of columns in the specified range R    HLOOKUP X  S R  The cell in range S that is R rows beneath X    INIT X1  X2  The first argument on the first recalculation pass and the  second argument on all subsequent recalculation passes when  Grid is performing iterative calculations    INTERP2D R1 R2  N  The interpolation value for a 2 dimensional vector    INTERP3D R  X Y The interpolation value for a 3 dimensional vector    MATCH V  R  T   The relative position in range R of value V based on  positioning criteria T    N R  The numeric value of the top left cell in range R    RANGEREF N1  N2  N3  N4  A
131. ys along with the  mouse in the usual manner  The many options available for  graphical display are discussed in the Graphing Options chapter   Return to the Listing RUN tab  Reset the parameter D5 to 0 and  change cell B2 to 10 for a fixed 10 degree incidence angle   Enter the following formula in cell B6  wavelength     if D5 100 gt  5 D5 100  5   This is a from of a conditional entry  The wavelength remains  constant  0 5 microns  if D5 100 lt  0 5  Otherwise it changes  linearly with D5 as given in the formula   In cell B7 enter the following formula   1 4 D5 100     14    GSolver V5 2 User guide    This formula changes the grating period from 1 to 2 linearly as D5  changes from 0 to 100    25  Change the orders field to 5    26  Click the Run button and examine the results     Note that the thickness of any layer can be entered as a constant or  through a formula on the grid listing  With this capability all film  thicknesses  layers  can be accurately set  the finite grid resolution of the  canvas does not limit layer thicknesses     1 3 2 Blaze Grating Example    For the Blaze grating use the tool button that shows a Blaze profile in  black  This is a general tool that includes common grating design tasks    Note that the dimensions need to be considered carefully as pointed out in  section 1 2         x Blaze Tool  Aa Y Henno Button    1  From within the Editor tab  click on the Blaze tool button  This  brings up the Custom Profile Construction dialog which includes  
132. zation over a range of angles and or wavelengths  If a parameter  in the Integrated Merit Function area is selected the diffraction efficiency  is solved for the range of parameters selected and the above merit function  is accumulated  The parameter range is uniformly sampled from the Start  to Stop range with  Sample samples  The resulting merit function is used  by the GA     Note  By using this feature  the calculation of the merit function can be  significantly increased  It is recommended that the number of samples be  set to a small number initially to gauge the CPU time     The GA grid contains the same functionality  formula engine  as the  Listing RUN grid  The formula engine is described Section 5 2     7 4 Applying Constraints    The GA parameters are selected from a uniform random population  given  by Min Value and Max Value  for each parameter in the list  It is very  important to remember that DE makes algebraic combinations of current  parameters to use as new parameters  Therefore actual parameters are  not constrained to the Min and Max bounds     Each formula should also have a constraint on the chosen parameter so  that the result gives a physically realizable value  For example  if a cell  width is to be altered  you must enter a constraint on the other cells in that    72    GSolver V5 2 User guide    grating layer so that that total width  sum of all the cells in a layer  sums  to 1  The order of operation is illustrated in the following examples     7
    
Download Pdf Manuals
 
 
    
Related Search
    
Related Contents
VISTA SL C - V & V dei F.lli Verrocchio S.n.c.  _ EG-Konformitätserklärung  T'nB CAJJ  Philips PET723/12 User's Manual  GD 930 Q - 107409024 A.indb  取扱説明書 HDR-FX7  Intenso 5509850 4GB Black tablet  ダウンロード  Optoma TH1020 data projector  Buildings User Guide - Government of Ontario    Copyright © All rights reserved. 
   Failed to retrieve file