Description:
GDCalc is a MATLABbased tool for diffraction
grating simulation, which has utility for a variety of grating types and
applications, e.g.:
 surface relief
gratings
 multilayer gratings
 biperiodic gratings
 binary/lamellar or
blazed kinoform gratings
 subwavelength gratings
(e.g., photonic crystals, metamaterials)
 polarization gratings
(e.g., form birefringence, wiregrid polarizers)
 motheye
antireflection structures (e.g. for solar cells or highpower lasers)
 micro optics, nano optics, diffractive optics (e.g. phaseFresnel
structures)
Many illustrative applications of GDCalc
can be found in the peerreviewed literature by searching for “GDCalc” in Google Scholar.
Capabilities and Limitations:
GDCalc computes diffraction efficiencies and
polarization characteristics (multiorder transmission and reflection) of
line gratings, biperiodic gratings, and multilayerstack gratings with any
number of layers and materials (dielectric or metallic).
The diffraction grating simulation algorithms are based on Rigorous
CoupledWave Theory (RCWA), aka. the "Fourier Modal Method" (FMM),
using a 3D generalization of Li's Fast Fourier
Factorization method. The code is limited to nonmagnetic, isotropic,
linear optical media, and the algorithms are based on a blockstructured
geometry model (i.e. grating structures are decomposed into homogeneous,
rectangular blocks). Curved and tapered surfaces can be approximated using
the "staircase approximation", which is routinely used for
dielectric gratings, although the approximation can create convergence
difficulties with highly conducting metal gratings.
GDCalc is implemented entirely in MATLAB®, providing a
convenient, usermodifiable functional interface, and making it easy to
incorporate grating components in custom optical design and simulation
models. Standard MATLAB utilities such as fminsearch and the Global
Optimization Toolbox can be adapted for grating design. Also, GDCalc has a powerful "vectorization" capability
for efficiently performing multidimensional parameter sweeps, e.g., as part
of a global search process.
Explore the online documentation and demo code to test GDCalc's
diffraction grating simulation capabilities; run the GDCalc
data validation and plotting functions on your grating structure of interest;
and then apply GDCalc's full computational
capabilities to your structure.
Platforms: Windows, Macintosh, UNIX, Linux
MathWorks product required: MATLAB
To get started with GDCalc:
Step 1, Download:
Download the code/utilities package in the following zip file …
The following files are included:
File

Version

Comment

GDCalc_Intro.pdf
(241 KB)

09/22/2006

conceptual introduction

GDCalc_Demo.pdf
(537 KB)

09/22/2006

application examples

GDCalc.pdf
(1158 KB)

09/17/2008

User’s Reference; Theory and Methods

gdc.m

06/13/2017

data validation; entry point to calculation engine

gdc_plot.m

06/13/2017

grating visualization utility

gdc_intro.m

02/10/2016

code examples from GDCalc_intro.pdf

gdc_eff.m

06/13/2017

converts gdc output into
diffraction efficiencies

gdc_power.m

06/13/2017

computes internal power flux in a diffraction grating

gdc_engine.p

06/13/2017

required for the following demo scripts
(built with MATLAB R2017a)

gdc_demo1a.m

03/16/2016

uniperiodic, sinusoidal grating

gdc_demo1b.m

03/16/2016

gdc_demo1c.m

03/16/2016

gdc_demo2.m

03/16/2016

biperiodic grating – rectangular pyramids

gdc_demo3.m

03/16/2016

biperiodic checkerboard grating

gdc_demo4.m

03/16/2016

gdc_demo5.m

03/16/2016

biperiodic grating – circular pillars

gdc_demo6.m

03/16/2016

biperiodic grating – skewed metal grid

gdc_demo7.m

03/16/2016

gdc_demo8.m

03/16/2016

biperiodic grating – square metal grid

gdc_demo9.m

03/16/2016

alignment sensor

gdc_demo10.m

03/16/2016

slanted lamellar grating

gdc_demo11.m

03/16/2016

crossedline grating

gdc_demo12.m

03/16/2016

fullfield demo, sinusoidal line grating

gdc_demo13.m

03/16/2016

fullfield demo, biperiodic grating

gdc_demo14.m

03/16/2016

fullfield demo, alignment sensor

gdc_demo15.m

04/17/2016

EUV patternedmultilayer grating

circle_partition.m

02/10/2016

required for demo 5

read_nk.m

06/13/2017

required for demo 10 and demo 11

EH_map.m

03/16/2016

required for demo’s 12, 13, and 14

Ru.nk

05/12/2005

required for demo 10

dC.nk

05/12/2005

required for demo 10

W.nk

05/12/2005

required for demo 11

Install all files (except the pdf's) on your MATLAB path. (Note: *.m files
are MATLAB source code, the *.p file is
MATLABencrypted pcode, and *.nk files are text.)
Step 2, Test: First
skim through GD‑Calc_Intro.pdf to learn the basics of how grating geometry is
specified in GD‑Calc. (The code examples are in gdc_intro.m,
which requires gdc.m and gdc_plot.m.
Each code listing builds on previous listings, so run them in order.) Then
review GD‑Calc_Demo.pdf for a more extensive introduction with examples of
diffraction calculations, and test the performance of the demo scripts on
your computer. Set up your grating model of interest and run it through gdc.m (with no output arguments) and gdc_plot.m
to check data validity and visually confirm model correctness.
Step 3, Run Your Application:
Run diffraction simulations for your application with the download. No
purchase is required. Product and applications support is offered on a fee
basis.
Information contact:
Ken Johnson
KJ Innovation
2502 Robertson Rd
Santa Clara, CA 95051
USA
Tel: 4082444721
Email: kjinnovation@earthlink.net
Web: kjinnovation.com

Demo scripts:
Uniperiodic, sinusoidal grating
Biperiodic grating  rectangular pyramids
Biperiodic checkerboard grating
Biperiodic grating  circular posts
Biperiodic
grating  skewed metal grid
Biperiodic grating  square metal grid
Alignment sensor
Slanted lamellar grating
Crossedline grating
