SCATMECH > Classes and Functions >
Grating Models >
CrossRCW_Model
class CrossRCW_Model
The class CrossRCW_Model implements Rigorous Coupled-Wave
theory of L. Li for a crossed grating, that is, a grating with periodicity along two directions.
The class has a member parameter of type
CrossGrating that describes the
specific grating. The class calculates fields in
reflection or transmission, and for incident radiation propagating from above or below. The fields outside of the
grating are accessed through the function, GetAmplitude(int i,int j),
while diffraction efficiencies are accessed through the function
GetIntensity(int i,int j).
Parameters:
Parameter |
Data Type |
Description |
Default |
thetai |
double |
The incident angle, measured from the surface normal [degrees]. |
0 |
lambda |
double |
The wavelength of the light in vacuum [µm]. |
0.532 |
rotation |
double |
The azimuthal rotation of the sample [degrees]. |
0 |
type |
int |
Indicates whether the light is incident from above the
substrate or from within the substrate and whether the
scattering is evaluated in reflection or transmission.
The choices are:
0 : Light is incident from the above the substrate, and scattering is evaluated in reflection.
1 : Light is incident from the above the substrate, and scattering is evaluated in transmission.
2 : Light is incident from the within the substrate, and scattering is evaluated in reflection.
3 : Light is incident from the within the substrate, and scattering is evaluated in transmission.
For 1, 2, and 3, the substrate must be non-absorbing.
|
0 |
order1 |
int |
The maximum Floquet order in the field expansion in the 1st coordinate. |
10 |
order2 |
int |
The maximum Floquet order in the field expansion in the 2nd coordinate. |
10 |
grating |
CrossGrating_Ptr |
A description of the grating profile and optical properties. |
OneD_CrossGrating |
The following parameter is not a formal parameter, but is accessible using the set_parameter(parameter,value) function.
Parameter |
Data Type |
Description |
Default |
WriteEigenvalues |
string |
If this value is set, it specifies a file to which the eigenvalues for each
of the layers are written. This information can be used to evaluate the band structure of
a photonic crystal. |
(blank) |
See also:
SCATMECH Home,
MuellerMatrix,
JonesMatrix, CrossGrating
L. Li, "New formulation of the Fourier modal method for crossed surface-relief gratings,"
J. Opt. Soc. Am. A 14, 2758-2767 (1997).
L. Li, "Formulation and comparison of two recursive matrix algorithms for modeling layered diffraction gratings,"
J. Opt. Soc. Am. A 13, 1024-1035 (1996).
Include file:
#include "crossrcw.h"
Source code:
crossrcw.cpp
Definition of public elements:
class CrossRCW_Model : public Model {
public:
JonesMatrix GetAmplitude(int i,int j);
MuellerMatrix GetIntensity(int i,int j);
Vector GetDirection(int i,int j);
CVector GetPropagationVector(int i,int j);
CVector GetEField(const JonesVector& input, const Vector& pos);
CVector GetHField(const JonesVector& input, const Vector& pos);
CVector GetDField(const JonesVector& input, const Vector& pos);
CVector GetBField(const JonesVector& input, const Vector& pos);
};
GetAmplitude(i,j)
returns the Jones matrix associated with the (i,j) order diffraction.
The Jones matrix relates the amplitude of the diffracted plane wave
to the amplitude of the incident plane wave.
Top of Page
GetDirection(i,j)
returns the direction of propagation associated with the (i,j) order diffraction.
If the substrate is absorbing or if the diffraction order does not propagate, then this function will return (0,0,0).
If it is propagating, the vector will have unit length.
Top of Page
GetIntensity(i,j) returns the Mueller matrix diffraction efficiency for the (i,j) diffracted
order.
If the order does not propagate, then the function returns a zero Mueller matrix.
Top of Page
GetPropagationVector(i,j) returns the propagation vector for the (i,j) diffracted
order.
Top of Page
These functions return the amplitude of the electric field (GetEField), the magnetic field (GetHField),
the electric displacement (GetDField), and the magnetic induction (GetBField), evaluated at location pos for a
given incident Jones vector input. Locations are defined with respect to the top of the grating (incident beam side), with positive z coordinates
being in the incident half-space. At this time, the fields can only be evaluated outside of the grating, and only in the region defined by parameter type.
That is, if type is 0, the fields can be evaluated above the grating, and if type is 1, the fields can be evaluated below the grating.
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)
|