SCATMECH > Classes and Functions >
Property Models
> CrossGrating
Abstract class CrossGrating
The abstract class CrossGrating is used by CrossRCW_Model to describe a
two-dimensionally periodic grating. A crossed grating is a grating with periodicity along two directions. The diagram below shows a simple two-dimensionally periodic structure (crossed grating), with the
grating constants, d1 and d2. The grating directions make an angle zeta from perpendicular.
There are several
instantiable models currently available that inherit
CrossGrating:
A number of CrossGratings inherit the properties of Gridded_CrossGrating, an abstract class that
handles the Fourier factorization of the grating structure on a grid:
The CrossGratings that inherit Gridded_CrossGrating discretize the dielectric function on a uniform grid. These gratings are therefore approximations of the desired grating, and the
results of CrossRCW_Model may not be continuous in the grating parameters.
Instantiable Models and Their Parameters:
Parameter |
Data Type |
Description |
Default |
Top of Page
OneD_CrossGrating:
A cross grating defined by a one dimensional grating, using Grating. The grating is aligned so that its grating vector is along the x direction
(see diagram above). The grating can be anisotropic, but not magnetic.
|
medium_i |
dielectric_function |
The
optical constants of the incident medium, expressed as
a complex number (n,k) or, optionally, as a function of
wavelength. The material must be non-absorbing
(k=0).
(Inherited from CrossGrating.)
This parameter must match grating.medium_i.
| 1 |
medium_t |
dielectric_function |
The
optical constants of the transmitted medium, expressed as
a complex number (n,k) or, optionally, as a function of
wavelength.
(Inherited from CrossGrating.)
This parameter must match grating.medium_t.
| (4.05,0.05) |
grating |
Grating_Ptr |
The one-dimensionally periodic grating.
This grating can be anisotropic but not magnetic.
|
Single_Line_Grating |
d2 |
double |
The lattice constant in the second direction [µm]. This parameter should have no effect, but a value is
needed if this grating were overlaid with another cross grating using Overlaid_CrossGrating. The lattice constant in the first direction is obtained from the period of
the grating (d1 = grating.period/cos(zeta)).
|
0.5 |
zeta |
double |
The off-perpendicular angle of the unit cell [deg]. The angle zeta is zero for a rectangular unit cell. This parameter should have no effect, other than to rotate the grating, but a value is
needed if this grating were overlaid with another cross grating using Overlaid_CrossGrating.
|
0 |
Top of Page
Overlaid_CrossGrating:
A grating created by overlaying two other crossed gratings. The two gratings must have identically shaped and
sized unit cells. Also, the medium_i of the bottom grating must match the medium_t of the top grating.
|
medium_i |
dielectric_function |
The
optical constants of the incident medium, expressed as
a complex number (n,k) or, optionally, as a function of
wavelength. The material must be non-absorbing
(k=0).
(Inherited from CrossGrating.)
This parameter must match top.medium_i.
| 1 |
medium_t |
dielectric_function |
The
optical constants of the transmitted medium, expressed as
a complex number (n,k) or, optionally, as a function of
wavelength.
(Inherited from CrossGrating.)
This parameter must match bottom.medium_t.
| (4.05,0.05) |
top |
CrossGrating_Ptr |
The top grating (the one farther from the substrate). The parameter top.medium_i must match medium_i,
and the parameter top.medium_t must match bottom.medium_i. The lattice parameters (d1, d2, and zeta must match those of bottom. |
OneD_CrossGrating |
bottom |
CrossGrating_Ptr |
The bottom grating (the one closer to the substrate). The parameter bottom.medium_i must match top.medium_t,
and the parameter bottom.medium_t must match medium_t. The lattice parameters (d1, d2, and zeta must match those of top. |
OneD_CrossGrating |
overlay1 |
double |
The component of the overlay vector along the 1st coordinate [µm] |
0 |
overlay2 |
double |
The component of the overlay vector along the 2nd coordinate [µm] |
0 |
separation |
double |
The vertical separation between the bottom and top gratings [µm]. This separation is filled with
bottom.medium_i, which must match top.medium_t. |
0 |
Top of Page
Overlaid_1D_CrossGrating:
A grating created by overlaying two one dimensional ratings at a given angle.
The medium_i of the bottom grating must match the medium_t of the top grating. The combined lattice parameters are d1=top.period/sin(angle),
d2=bottom.period/sin(angle), and zeta = 90-angle.
|
medium_i |
dielectric_function |
The
optical constants of the incident medium, expressed as
a complex number (n,k) or, optionally, as a function of
wavelength. The material must be non-absorbing
(k=0).
(Inherited from CrossGrating.)
This must match top.medium_i.
| 1 |
medium_t |
dielectric_function |
The
optical constants of the transmitted medium, expressed as
a complex number (n,k) or, optionally, as a function of
wavelength.
(Inherited from CrossGrating.)
This must match bottom.medium_t.
| (4.05,0.05) |
top |
Grating_Ptr |
The top grating (the one farther from the substrate). The grating direction of this grating is aligned along the
second direction. The period is used to define the period along the second direction of the 2D grating.
The parameter top.medium_i must match medium_i,
and the parameter top.medium_t must match bottom.medium_i. |
Single_Line_Grating |
bottom |
Grating_Ptr |
The top grating (the one closer to the substrate). The grating direction of this grating is aligned along the
first direction. The period is used to define the period along the first direction of the 2D grating.
The parameter bottom.medium_t must match medium_t,
and the parameter top.medium_t must match bottom.medium_i. |
Single_Line_Grating |
angle |
double |
The angle of the top grating with respect to the first grating [deg]. This angle cannot be zero. An angle of 90 degrees means the two gratings are perpendicular
to one another. |
90 |
separation |
double |
The vertical separation between the bottom and top gratings [µm]. This separation is filled with
bottom.medium_i, which must match top.medium_t. |
0 |
Top of Page
Null_CrossGrating:
A trivial cross grating consisting of no features.
|
medium_i |
dielectric_function |
The
optical constants of the incident medium, expressed as
a complex number (n,k) or, optionally, as a function of
wavelength. The material must be non-absorbing
(k=0).
(Inherited from CrossGrating.)
| 1 |
medium_t |
dielectric_function |
The
optical constants of the transmitted medium, expressed as
a complex number (n,k) or, optionally, as a function of
wavelength.
(Inherited from CrossGrating.)
| (4.05,0.05) |
d1 |
double |
The lattice constant in the first direction [µm]. This parameter should have no effect, but a value is
needed if this grating were overlaid with another cross grating. |
0.5 |
d2 |
double |
The lattice constant in the second direction [µm]. This parameter should have no effect, but a value is
needed if this grating were overlaid with another cross grating. |
0.5 |
zeta |
double |
The off-perpendicular angle of the unit cell [deg]. The angle zeta is zero for a rectangular unit cell. This parameter should have no effect, but a value is
needed if this grating were overlaid with another cross grating.
|
0 |
Top of Page
Generic_CrossGrating:
A grating whose unit cell is described in a file. The file format is described in detail below. Relatively complicated three-dimensional structures
can be created with this class. An example of a unit cell is given in the illustrating figure.
|
medium_i |
dielectric_function |
The
optical constants of the incident medium, expressed as
a complex number (n,k) or, optionally, as a function of
wavelength. The material must be non-absorbing
(k=0).
(Inherited from CrossGrating.)
| 1 |
medium_t |
dielectric_function |
The
optical constants of the transmitted medium, expressed as
a complex number (n,k) or, optionally, as a function of
wavelength.
(Inherited from CrossGrating.)
| (4.05,0.05) |
d1 |
double |
The lattice constant along the 1st coordinate of the unit cell [µm].
The value of this parameter can be used within the grating specification file, but it can also be overridden by it.
(Inherited from Gridded_CrossGrating.)
| 0.5 |
d2 |
double |
The lattice constant along the 2nd coordinate of the unit cell [µm].
The value of this parameter can be used within the grating specification file, but it can also be overridden by it.
(Inherited from Gridded_CrossGrating.)
| 0.5 |
zeta |
double |
The off-perpendicular angle of the unit cell [deg]. The angle zeta is zero for
a rectangular unit cell.
The value of this parameter can be used within the grating specification file, but it can also be overridden by it.
(Inherited from Gridded_CrossGrating.)
| 0 |
grid1 |
int |
The number of grid elements in the unit cell along the 1st coordinate. This parameter is optimally a power of 2.
However, the fast fourier transform algorithm that is used can accept any value, but its speed improves when the prime factors of grid1 are small.
(Inherited from Gridded_CrossGrating.)
| 1024 |
grid2 |
int |
The number of grid elements in the unit cell along the 2nd coordinate. This parameter is optimally a power of 2.
However, the fast fourier transform algorithm that is used can accept any value, but its speed improves when the prime factors of grid2 are small.
(Inherited from Gridded_CrossGrating.)
| 1024 |
filename |
string |
The name of the file containing the description of the grating. A description of the format of this
file is given below.
| (blank) |
pstring |
string |
A character string containing the values of the parameters for the grating. The string
must begin with a left parenthesis and end with a right parenthesis. The values must be separated
by commas. The number of parameters listed must be identical to the number of parameters listed in the file. The order
of the parameters is the same as listed in the file.
| (blank) |
nlayers |
int |
The approximate number of layers into which to subdivide the structure. The actual number of layers used will depend upon the structure.
| 10 |
Top of Page
Cylinder_CrossGrating:
A grating consisting of cylinders of one index of refraction embedded in a film of another index of refraction.
|
medium_i |
dielectric_function |
The
optical constants of the incident medium, expressed as
a complex number (n,k) or, optionally, as a function of
wavelength. The material must be non-absorbing
(k=0).
(Inherited from CrossGrating.)
| 1 |
medium_t |
dielectric_function |
The
optical constants of the transmitted medium, expressed as
a complex number (n,k) or, optionally, as a function of
wavelength.
(Inherited from CrossGrating.)
| (4.05,0.05) |
d1 |
double |
The lattice constant along the 1st coordinate of the unit cell [µm].
(Inherited from Gridded_CrossGrating.)
| 0.5 |
d2 |
double |
The lattice constant along the 2nd coordinate of the unit cell [µm].
(Inherited from Gridded_CrossGrating.)
| 0.5 |
zeta |
double |
The off-perpendicular angle of the unit cell [deg]. The angle zeta is zero for
a rectangular unit cell.
(Inherited from Gridded_CrossGrating.)
| 0 |
grid1 |
int |
The number of grid elements in the unit cell along the 1st coordinate. This parameter is optimally a power of 2.
However, the fast fourier transform algorithm that is used can accept any value, but its speed improves when the prime factors of grid1 are small.
(Inherited from Gridded_CrossGrating.)
| 1024 |
grid2 |
int |
The number of grid elements in the unit cell along the 2nd coordinate. This parameter is optimally a power of 2.
However, the fast fourier transform algorithm that is used can accept any value, but its speed improves when the prime factors of grid2 are small.
(Inherited from Gridded_CrossGrating.)
| 1024 |
rtop |
Table |
The radius of the top of the cylinder as a function of angle (in degrees)
around the cylinder [µm]. If this value is a constant, then the top of the cylinder is a circle. If the radius exceeds the boundaries of the grating unit cell, the cylinder is truncated.
| 0.05 |
rbottom |
Table |
The radius of the bottom of the cylinder as a function of angle (in degrees)
around the cylinder [µm]. If this value is a constant, then the bottom of the cylinder is a circle. If the radius exceeds the boundaries of the grating unit cell, the cylinder is truncated.
| 0.05 |
thickness |
double |
The thickness of the layer, which is also the height of the cylinder [µm].
| 0.05 |
nlevels |
int |
The number of levels in the structure.
| 10 |
inside |
dielectric_function |
The
optical constants of the interior of the cylinder, expressed as
a complex number (n,k) or, optionally, as a function of
wavelength.
| (4.05,0.05) |
outside |
dielectric_function |
The
optical constants of the exterior of the cylinder, expressed as
a complex number (n,k) or, optionally, as a function of
wavelength.
| (4.05,0.05) |
Top of Page
Rectangular_CrossGrating:
A binary grating consisting of rectangulars (or parallelograms) of one index of refraction embedded in a film of another index of refraction.
|
medium_i |
dielectric_function |
The
optical constants of the incident medium, expressed as
a complex number (n,k) or, optionally, as a function of
wavelength. The material must be non-absorbing
(k=0).
(Inherited from CrossGrating.)
| 1 |
medium_t |
dielectric_function |
The
optical constants of the transmitted medium, expressed as
a complex number (n,k) or, optionally, as a function of
wavelength.
(Inherited from CrossGrating.)
| (4.05,0.05) |
d1 |
double |
The lattice constant along the 1st coordinate of the unit cell [µm].
(Inherited from Gridded_CrossGrating.)
| 0.5 |
d2 |
double |
The lattice constant along the 2nd coordinate of the unit cell [µm].
(Inherited from Gridded_CrossGrating.)
| 0.5 |
zeta |
double |
The off-perpendicular angle of the unit cell [deg]. The angle zeta is zero for
a rectangular unit cell.
(Inherited from Gridded_CrossGrating.)
| 0 |
grid1 |
int |
The number of grid elements in the unit cell along the 1st coordinate. This parameter is optimally a power of 2.
However, the fast fourier transform algorithm that is used can accept any value, but its speed improves when the prime factors of grid1 are small.
(Inherited from Gridded_CrossGrating.)
| 1024 |
grid2 |
int |
The number of grid elements in the unit cell along the 2nd coordinate. This parameter is optimally a power of 2.
However, the fast fourier transform algorithm that is used can accept any value, but its speed improves when the prime factors of grid2 are small.
(Inherited from Gridded_CrossGrating.)
| 1024 |
length1 |
Table |
The length of one of the sides of the rectangles [µm]. If this size exceeds the boundaries of the grating unit cell, the rectangle is truncated.
| 0.05 |
length2 |
Table |
The length of the other sides of the rectangles [µm]. If this size exceeds the boundaries of the grating unit cell, the rectangle is truncated.
| 0.05 |
zetaa |
Table |
The angle of the parallelogram [degrees].
If this value is zero, then the shape is a rectangle. If the value is the same as zeta, the sides of the parallelogram line up with the unit cell.
| 0 |
thickness |
double |
The thickness of the layer, which is also the height of the cylinder [µm].
| 0.05 |
inside |
dielectric_function |
The
optical constants of the interior of the cylinder, expressed as
a complex number (n,k) or, optionally, as a function of
wavelength.
| (4.05,0.05) |
outside |
dielectric_function |
The
optical constants of the exterior of the cylinder, expressed as
a complex number (n,k) or, optionally, as a function of
wavelength.
| (4.05,0.05) |
Top of Page
Sphere_CrossGrating:
A grating consisting of a film in which an array of spheres is embedded.
|
medium_i |
dielectric_function |
The
optical constants of the incident medium, expressed as
a complex number (n,k) or, optionally, as a function of
wavelength. The material must be non-absorbing
(k=0).
(Inherited from CrossGrating.)
| 1 |
medium_t |
dielectric_function |
The
optical constants of the transmitted medium, expressed as
a complex number (n,k) or, optionally, as a function of
wavelength.
(Inherited from CrossGrating.)
| (4.05,0.05) |
d1 |
double |
The lattice constant along the 1st coordinate of the unit cell [µm].
(Inherited from Gridded_CrossGrating.)
| 0.5 |
d2 |
double |
The lattice constant along the 2nd coordinate of the unit cell [µm].
(Inherited from Gridded_CrossGrating.)
| 0.5 |
zeta |
double |
The off-perpendicular angle of the unit cell [deg]. The angle zeta is zero for
a rectangular unit cell.
(Inherited from Gridded_CrossGrating.)
| 0 |
grid1 |
int |
The number of grid elements in the unit cell along the 1st coordinate. This parameter is optimally a power of 2.
However, the fast fourier transform algorithm that is used can accept any value, but its speed improves when the prime factors of grid1 are small.
(Inherited from Gridded_CrossGrating.)
| 1024 |
grid2 |
int |
The number of grid elements in the unit cell along the 2nd coordinate. This parameter is optimally a power of 2.
However, the fast fourier transform algorithm that is used can accept any value, but its speed improves when the prime factors of grid2 are small.
(Inherited from Gridded_CrossGrating.)
| 1024 |
diameter |
double |
The diameter of the sphere [µm]. If the diameter causes the sphere size to exceed that of the unit cell, the sphere will be truncated.
| 0.05 |
above |
double |
The thickness of the medium that the sphere is embedded in which is above the sphere [µm]. This value must be non-negative.
| 0.05 |
below |
double |
The thickness of the medium that the sphere is embedded in which is below the sphere [µm]. This value must be non-negative.
| 0.05 |
nlevels |
int |
The number of levels into which the sphere is divided. The total number of levels used in the simulation will be the sum of nlevels
and one for each of above and below which are non-zero.
| 10 |
sphere |
dielectric_function |
The
optical constants of the sphere, expressed as
a complex number (n,k) or, optionally, as a function of
wavelength.
| (1.5,0) |
surrounding |
dielectric_function |
The
optical constants of the material in which the sphere is embedded, expressed as
a complex number (n,k) or, optionally, as a function of
wavelength.
| (1.5,0) |
Top of Page
Pyramidal_Pit_CrossGrating:
A surface-relief grating consisting of an array of square pyramidal pits. The materials medium_i and
medium_t are used to build this structure.
|
medium_i |
dielectric_function |
The
optical constants of the incident medium, expressed as
a complex number (n,k) or, optionally, as a function of
wavelength. The material must be non-absorbing
(k=0).
(Inherited from CrossGrating.)
| 1 |
medium_t |
dielectric_function |
The
optical constants of the transmitted medium, expressed as
a complex number (n,k) or, optionally, as a function of
wavelength.
(Inherited from CrossGrating.)
| (4.05,0.05) |
d1 |
double |
The lattice constant along the 1st coordinate of the unit cell [µm].
(Inherited from Gridded_CrossGrating.)
| 0.5 |
d2 |
double |
The lattice constant along the 2nd coordinate of the unit cell [µm].
(Inherited from Gridded_CrossGrating.)
| 0.5 |
zeta |
double |
The off-perpendicular angle of the unit cell [deg]. The angle zeta is zero for
a rectangular unit cell.
(Inherited from Gridded_CrossGrating.)
| 0 |
grid1 |
int |
The number of grid elements in the unit cell along the 1st coordinate. This parameter is optimally a power of 2.
However, the fast fourier transform algorithm that is used can accept any value, but its speed improves when the prime factors of grid1 are small.
(Inherited from Gridded_CrossGrating.)
| 1024 |
grid2 |
int |
The number of grid elements in the unit cell along the 2nd coordinate. This parameter is optimally a power of 2.
However, the fast fourier transform algorithm that is used can accept any value, but its speed improves when the prime factors of grid2 are small.
(Inherited from Gridded_CrossGrating.)
| 1024 |
side |
double |
The length of the base of the pyramidal pit [µm].
| 0.05 |
depth |
double |
The depth of the pits [µm].
| 0.05 |
nlevels |
int |
The number of levels in which the pits are subdivided.
| 10 |
See also:
SCATMECH Home, CrossRCW_Model, CrossRCW_BRDF_Model L. Li, "New formulation of the Fourier modal method for crossed surface-relief gratings,"
J. Opt. Soc. Am. A 14, 2758-2767 (1997).
Include file:
#include "crossgrating.h"
#include "crossgrating2.h"
#include "gcross.h"
Source code:
crossgrating.cpp
crossgrating2.cpp
gcross.cpp
Top of Page
File format for Generic_CrossGrating
This section describes the file format
required by Generic_CrossGrating. The file is a text
file. We will illustrate the format of the file using an
example grating structure, shown below. Dimensions are
generic and parameters can be passed to the model at a later
time using the pstring parameter. It is recommended
that users familiarize themselves with the description for one
dimensional gratings (in Generic_Grating) before moving on
to two dimensional gratings. The grating description for a
cross grating is very similar to that for a one dimensional
grating. Instead of defining coordinates in two dimensions,
with line segments separating regions, a two-dimensional
grating requires coordinates in three dimensions, with
polygons separating regions. While quite complicated structures can be described in this file format, the example we give below
is fairly simple. We will consider a
two-dimensional array of tetrahedral pits in a surface. A
top-down view of this structure is shown below:
The solid black lines above denote the structure. The heavy
black dashed parallelogram denotes the unit cell. The
dimensions of the structure are given by the parameters P
(for the unit cell side length), L (the base of the
tetrahedrons), and D (the depth of the tetrahedrons). We assume for
simplicity that the parallelogram is tilted by 30° (inner
angles of 60° and 120°).
Like the grating description file for one-dimensional
gratings, the grating description file for two-dimensional
gratings is a plain-text file. In order to differentiate
the two-dimensional grating from the one-dimensional grating
description, the first word of the file must be
CROSSGRATING for the two-dimensional grating. There
are five blocks (PARAMETERS, WORKING,
MATERIALS, VERTICES, and BOUNDARIES, in
that order) of data in the file, and each begins with the
name of the block and ends with the word END. In the
following, the five blocks are described. In the text file,
these blocks of data are listed consecutively and in
order. Comments can be located anywhere in the file, are
delimited by a semicolon (;), and run to the end of the
line. Except insofar as linefeeds mark the end of comments,
linefeeds can be placed anywhere in the file. The
PARAMETERS section is essentially identical to that
for a one-dimensional grating. In our example we would use
(including the CROSSGRATING statement):
CROSSGRATING
PARAMETERS
L ; Length of base of pyramid
P ; Length of unit cell (pitch)
D ; Depth of pyramid
END
WORKING Section:
The WORKING section is also essentially identical to that
for a one-dimensional grating. The parameters zeta, d1, d2, and lambda
are predefined by the values given in the class parameters. However, zeta, d1, and d2 can be overridden in the WORKING section. The value zeta
is the angle (in degrees) that the
unit cell is tilted from rectangular (see figure above, a rectangular lattice has zeta equal to 0°).
The lattice constants are d1 and d2, where d1 is in
the x (horizontal) direction, and d2 is
the other lattice constant. The wavelength of the light is lambda and is assigned by CrossRCW_Model.
In our example, we might use:
WORKING
x1 0
x6 L*cosd(60)
x3 P*cosd(60)
x5 L
x2 P
x4 x3+P
x7 x6
y1 0
y2 0
y5 0
y7 L/2*tand(30)
y6 L*sind(60)
y3 P*sind(60)
y4 y3
z1 0
z2 0
z3 0
z4 0
z5 0
z6 0
z7 -D
d1 P
d2 P
zeta 30
END
In our example, x6 is the x coordinate of vertex v6 in the diagram. One in not required to use this scheme for defining the
working variables; the author simply finds this scheme convenient when defining complex gratings.
MATERIALS Section:
The MATERIALS section is also essentially identical to that
for Generic_Grating.
As for the one-dimensional
grating, the two materials medium_i and medium_t are
predefined and determined by the class parameters.
Thus, for this simple grating, where we have no
other materials, we would just use:
MATERIALS
END
Like the Generic_Grating, the keywords ANISO, MAGNETIC, and ANISOMAGNETIC can be used
for anisotropic, magnetic, and anisotropic magnetic media. For cross gratings, when zeta is nonzero, the axes of the anisotropic
media are the same as the unit cell vectors.
VERTICES Section:
The VERTICES section is similar to that for a
Generic_Grating, except that all vertices must have
three coordinates, instead of two. The three coordinates, x, y, and z form a right-handed coordinate system, with x along the d1 side of the unit cell, and z pointing from
the medium_t to medium_i. For our example, we
would use:
VERTICES
v1 (x1,y1,z1)
v2 (x2,y2,z2)
v3 (x3,y3,z3)
v4 (x4,y4,z4)
v5 (x5,y5,z5)
v6 (x6,y6,z6)
v7 (x7,y7,z7)
END
Except for defining d1, d2, and zeta, we could have left out most of the variables in the WORKING section and defined the vertices by
VERTICES
v1 (0,0,0)
v2 (P,0,0)
v3 (P*cosd(60),P*sind(60),0)
v4 (P*cosd(60)+P,P*sind(60),0)
v5 (0,L,0)
v6 (L*cosd(60),L*sind(60),0)
v7 (L*cosd(60),L*sind(60),-D)
END
However, for a much more complicated grating, such a description can get very tedious.
BOUNDARIES Section:
The BOUNDARIES section, like that for the one-dimensional
grating, is used to define all of the boundaries between
materials. Unlike a one-dimensional grating, the boundaries
must be defined with facets, rather than with line segments.
There are two types of facets that are allowed: triangles
and convex quadrangles. The convex quadrangles are further
subdivided by the software into triangles, but are included
to make some grating definitions easier. To define a
triangle, for example, the one with vertices v1, v5, and v7,
we would use:
v1 v5 v7 material_t material_i
That is, we list the three vertices, followed by the two
materials. The order of the materials must correspond to
the ordering of the vertices using a right-handed
convention. That is, as one goes from the first vertex to
the second vertex and then to the third vertex, with a right
hand, the thumb will point from the first material to the
second material. Reversing the two materials will create an
error.
For a convex quadrangle, we use the flag QUAD, followed
by four vertices, and followed again by the two materials.
For example, the quadrangle defined by v5, v2, v3, and v6
(see light dashed blue line in the figure above), we would
use:
QUAD v5 v2 v3 v6 material_t material_i
The vertices must be listed according to adjacent
vertices on the quadrangle, and the right-hand rule is used
for the ordering of the materials. Note that the quadrangle
is divided into two triangles. Thus, the above QUAD
statement is equivalent to
v5 v2 v3 material_t material_i
v2 v3 v6 material_t material_i
For that reason, it is best to ensure that all
quadrangles are convex. That is, no internal angles of the
quadrangles should be greater than 180°. Furthermore, it is best to use the QUAD
designation only for vertices that are co-planar.
Thus, for the above structure, the BOUNDARIES section would be:
BOUNDARIES
v1 v5 v7 material_t material_i
v7 v5 v6 material_t material_i
v1 v7 v6 material_t material_i
QUAD v5 v2 v3 v6 material_t material_i
v2 v4 v3 material_t material_i
END
All boundaries within the unit cell must be defined. Any
line passing in the z direction must pass consistently
through boundaries, starting below the grating with
material_t and ending above the grating with material_i.
Any line passing in the x or y directions must pass
consistently through boundaries, starting and ending with
the same material. If a vertical boundary exists on the
edge of the unit cell, then one should only specify the
boundary on one side.
Top of Page
For More Information
SCATMECH Technical Information and Questions
Sensor Science Division Home Page
Sensor Science Division Inquiries
Website Comments
Current SCATMECH version: 7.22 (April 2021)
|