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.
7th Edition, July 2012, updated to reflect version 5.2.1.4 of code.
Grating Solver Development Company
Contact information:
http://www.gsolver.com
2
GSolver V5.2 User guide
1
INTRODUCTION............................................................................... 8
1.1 OVERVIEW ......................................................................................... 8
1.1.1 NEW V5.1 FEATURES ....................................................................... 9
1.1.2 NEW V5.2 FEATURES ....................................................................... 9
1.2 GSOLVER GRATING DEFINITION .................................................... 10
1.3 EXAMPLE RUN (QUICK START)....................................................... 11
1.3.1 BINARY GRATING EXAMPLE .......................................................... 12
1.3.2 BLAZE GRATING EXAMPLE ............................................................ 15
1.3.3 ALTERNATIVE BLAZE PROCEDURE ................................................. 16
1.3.4 YET ANOTHER BLAZE PROCEDURE ................................................ 17
2 GENERAL PRINCIPLES................................................................ 19
2.1 OVERVIEW ....................................................................................... 19
2.2 DRAG AND DROP .............................................................................. 19
2.3 IMPORTING GRATING DEFITINION BY TEXT FILE ............................ 20
2.3.1 GRATING TEXT FILE FORMAT ........................................................ 20
2.4 IMPORTING V4.20C .......................................................................... 22
2.5 FORMS .............................................................................................. 23
2.6 TOOLBARS AND MENUS ................................................................... 23
2.6.1 MENU BAR ..................................................................................... 24
2.6.2 MAIN .............................................................................................. 25
2.6.3 DRAWING ....................................................................................... 26
2.6.4 ROTATE .......................................................................................... 26
2.6.5 LAYOUT ......................................................................................... 26
2.6.6 ALIGN ............................................................................................ 27
2.6.7 NUDGE ........................................................................................... 27
2.6.8 STRUCTURE .................................................................................... 27
2.6.9 ZOOM ............................................................................................. 28
2.6.10 CANVAS ....................................................................................... 28
2.7 INDEX OF REFRACTION ................................................................... 28
2.7.1 MODELS ......................................................................................... 29
2.7.2 CONSTANT ..................................................................................... 29
2.7.3 DRUDE ........................................................................................... 29
2.7.4 SELLMEIER ..................................................................................... 30
3
GSolver V5.2 User guide
2.7.5 HERZBERGER ................................................................................. 31
2.7.6 SCHOTT .......................................................................................... 31
2.7.7 POLYNOMIAL ................................................................................. 32
2.7.8 TABLE ............................................................................................ 32
2.7.9 COLOR MAP ................................................................................... 33
2.8 MATERIALS EDITOR ........................................................................ 35
2.9 TYPES OF SAVED DATA.................................................................... 36
2.10 KNOWN ‘BUGS’ .............................................................................. 37
2.10.1
INVERSION OF OLE COORDINATES .............................................. 37
2.10.2 V4.20C DATA IMPORT CRASH ...................................................... 37
3 PARAMETERS TAB ....................................................................... 38
3.1 UNITS SELECTION ............................................................................ 39
3.2 ANGLES ............................................................................................ 39
3.3 STOKES DEFINITION ........................................................................ 41
3.4 ORDER CONVENTION ....................................................................... 41
3.5 SUBSTRATE/SUPERSTRATE .............................................................. 41
3.6 SAVING ............................................................................................. 42
4 GRAPHICAL EDITOR (EDITOR TAB) ....................................... 43
4.1 COORDINATE SYSTEM ..................................................................... 45
4.2 CANVAS GRID .................................................................................. 46
4.2.1 ACCELERATOR KEYS...................................................................... 47
4.3 TOOLS .............................................................................................. 47
4.3.1 RECTANGLE ................................................................................... 47
4.3.2 PIECEWISE LINEAR (POLY-LINE) ..................................................... 47
4.3.3 SPLINE CURVE AND ELLIPSE .......................................................... 48
4.3.4 CLASSICAL FORM GENERATION ..................................................... 48
4.3.5 CONFORMAL COATS ....................................................................... 50
4.3.6 UNIFORM (FILL) COATS .................................................................. 50
4.3.7 TEXT AND LINES ............................................................................ 51
4.4 AUTOMATIC PIECEWISE APPROXIMATION ..................................... 51
4.4.1 GRATING REPRESENTATIONS ......................................................... 52
4.5 HOLOGRAPHIC TOOL, VH, SH ......................................................... 54
5 GS4 EDITOR .................................................................................... 56
5.1 N-TIES PROFILE TOOL..................................................................... 58
4
GSolver V5.2 User guide
6 LISTING/RUN TAB ......................................................................... 59
6.1.1 MAKE GRID CURRENT.................................................................... 60
6.2 PARAMETER CONTROL.................................................................... 60
6.2.1 USING LISTING/RUN TO FIND THE DIFFRACTION EFFICIENCY AS A
FUNCTION OF INCIDENT ANGLE (THETA) EXAMPLE. .................................... 61
6.2.2 ABORT BUTTON ............................................................................. 61
6.2.3 EXAMPLE OF VARYING THE THICKNESS OF THE GRATING ............... 62
6.2.4 EXAMPLE OF LITTROW CONSTRAINT .............................................. 62
6.3 CELL LIST ........................................................................................ 63
6.4 FORMULA ENGINE ........................................................................... 63
6.4.1 SYNTAX.......................................................................................... 64
6.4.1.1 Expressions................................................................................. 64
6.4.1.2 Constraint Expressions ............................................................... 66
7 GENETIC ALGORITHM (GA TAB) ............................................ 68
7.1 OVERVIEW OF DIFFERENTIAL EVOLUTION .................................... 69
7.2 GUIDING PRINCIPLES ...................................................................... 69
7.3 SETTING GA OPTIONS ..................................................................... 70
7.4 APPLYING CONSTRAINTS ................................................................ 72
7.4.1 GA DESIGN OF A THIN FILM AR COATING..................................... 73
7.4.2 GA DESIGN EXAMPLE 2 ................................................................. 74
8 EXECUTION (RUN TAB) ............................................................... 77
8.1.1 RUN CONSTRAINTS ........................................................................ 77
8.1.2 1ST
ORDER LITTROW ....................................................................... 78
8.1.3 WRITE FIELDS TO FILE ................................................................... 78
8.1.4 RUN/STOP ...................................................................................... 78
9 RESULTS TAB ................................................................................. 79
9.1 DIFFRACTION EFFICIENCY .............................................................. 80
9.2 PHASES ............................................................................................. 80
9.3 GRAPHING ........................................................................................ 81
10 3D EDITOR TAB .............................................................................. 82
10.1 LIMITS ON SOLVING 3D STRUCTURES .......................................... 83
10.2 DEFINING A 3D GRATING .............................................................. 84
10.2.1 HOLOGRAPHIC TOOL .................................................................... 85
10.3 SINE TOOL ..................................................................................... 86
5
GSolver V5.2 User guide
11 3D RUN TAB ..................................................................................... 87
12 ANGLES CALC ................................................................................ 88
12.1 EXAMPLE DE ANGLE CALC .......................................................... 89
12.2 DEFINITION OF THE ANGLE CALC ................................................ 89
13 DIALOGS .......................................................................................... 91
13.1 REFRACTIVE INDEX SELECTION DIALOG ..................................... 91
13.2 REFRACTIVE INDEX COLOR MAP DIALOG ................................... 91
14 MATERIAL FILE GSOLVER.INI ................................................. 93
15 GRID FORMULA ENGINE ............................................................ 94
15.1 MATHEMATICAL FUNCTIONS ........................................................ 94
15.2 STATISTICAL FUNCTIONS .............................................................. 95
15.3 CONDITIONAL STATISTICAL FUNCTIONS ...................................... 96
15.4 STRING FUNCTIONS ....................................................................... 97
15.5 LOGIC FUNCTIONS ......................................................................... 98
15.6 DATE AND TIME FUNCTIONS ......................................................... 98
15.7 MISCELLANEOUS FUNCTIONS ....................................................... 99
16 GRAPHING OPTIONS ................................................................. 101
17 ALGORITHM SELECTION ........................................................ 102
17.1.1 ALGEBRAIC EIGENSYSTEM SOLUTION (AE) ............................... 103
17.1.2 5TH
ORDER RUNGE-KUTTA (RK) ................................................ 104
17.1.3 BULIRSCH-STOER METHOD (BS) ............................................... 105
17.1.4 GENERAL METHOD COMMENTS ................................................. 105
17.1.5 SETTING ALGORITHM CHOICE .................................................... 106
17.1.6 GAIN ......................................................................................... 107
18 PRECISION DOUBLE DOUBLE AND QUAD DOUBLE ........ 108
18.1.1 EXAMPLE CALCULATION............................................................ 109
19 DIFFRACTION SOLUTION IMPLEMENTATION ................. 112
19.1 THE GRATING .............................................................................. 112
19.1.1 STRATIFIED GRATING APPROXIMATION ..................................... 112
19.1.2 1-DIMENSIONAL GRATINGS........................................................ 112
19.1.3 2-DIMENSIONAL GRATINGS........................................................ 113
19.1.4 3-DIMENSIONAL GRATINGS........................................................ 114
19.1.5 RELATION OF INDEX OF REFRACTION TO PERMITTIVITY ............ 115
6
GSolver V5.2 User guide
19.1.6 SOLUTION ROUTINES.................................................................. 115
19.2 THEORY ........................................................................................ 116
19.2.1 MAXWELL’S EQUATIONS ........................................................... 117
19.2.1.1 Superstrate and Substrate Solutions ....................................... 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 Reduction ................................................ 122
19.2.1.5 Permittivity and Impermitivity ............................................... 122
19.2.2
INTRA-LAYER SOLUTIONS, BOUNDARY CONDITIONS ................. 123
19.2.2.1 Gaussian Elimination ............................................................. 124
19.2.2.2 Stack Matrix Methods ............................................................ 125
20 TRACE-PRO MATERIAL RUNS ................................................ 129
RUN EXAMPLE ........................................................ 129
20.1 TRACEPRO
®
21 REFERENCES ................................................................................ 131
7
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
permittivity (and impermitivity) within each grating layer. GSolver is set
up to work with linear isotropic homogeneous materials.
the Fourier series representation of
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 parallel
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 ChartFX©
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.)
8