Soon, we will launch a new and updated customer portal, which is an important step toward providing our customers with one place to learn, interact, and get help.
Learn more.

How to Design Birefringent Polarizers

This article explains:
  • What birefringence is
  • How Zemax models birefringence
  • How to model a two-crystal birefringent polarizer
  • How to compute the extinction ratio of the polarizer for a general ray

The article is accompanied by a ZIP archive containing the samples used and a macro. This can be downloaded from the final page of the article.


Mark Nicholson
Polarization and Thin Film Coatings

What is Birefringence?

Normal glasses are homogeneous and isotropic, that is, they have the same refractive index no matter what direction light travels through them. Uniaxial materials, such as Calcite, have a crystal axis which defines an axis of symmetry. These materials refract rays differently, depending on the polarization state of the ray and the angle the ray makes with respect to the crystal axis. Therefore there are two possible refraction angles for any ray, representing two orthogoanl polarization states. This phenomenon is known as double refraction or birefringence.

Birefringent materials always bend rays according to Snell's law, but the effective index of refraction in the media depends on the input polarization state of the ray and the angle the ray makes to the crystal axis. "Ordinary" rays are refracted by:

nsinq = nosinq'

where no is the ordinary refractive index. which is just Snell's law. "Extraordinary" rays are refracted by:

nsinq = n(qw)sinq'

which is also Snell's law, but note that the refractive index is now a function of the angle  qw, which is the angle between the crystal axis vector a and the refracted wavevector k.

Now here is the hard part. The ray vector S, which points in the direction of energy flow, does not follow the wave vector k but instead makes a small angle with respect to it. In normal glasses k and S are the same vector and we just keep track of k. In birefringent media we must consider the ray and wave vectors as being different. The vectors k and S both lie in the same plane as the crystal axis vector a, and

cosqw = ka

The effective refractive index seen by the extraordinary ray is defined by:

(1/n(qw))2 =  (cosqw /no)2 + (sinqw /ne)2

where ne is the extraordinary index of refraction.

The Birefringent-In Surface
Clearly tracing birefingent rays is more complex than ordinary ray-tracing: we must consider two refractive indices and the orientation of the ray and wave vectors relative to a crystal axis vector. So, birefringent ray tracing is performed only when called for. It starts when a ray hits a Birefringent In surface, and ends when the ray hits a Birefringent Out surface. Only Coordinate Break surfaces are allowed between a Birefringent IN and Birefringent Out surface.

In normal ray-tracing the ray vector S and the wave vector k point in the same direction: the direction of energy flow. Therefore in normal ray-tracing the k vector components define the ray's direction cosines.

In birefringent ray-tracing, k and S are not identical but are coplanar with the crystal axis vector a. The components of S now define the ray's direction cosines.

Here is an example of a ray entering a block of calcite. The dotted line represents the crystal axis:

An example birefringent ray-trace

The ray enters the calcite and appears to be split (more on this later) into two rays. The ordinary ray refracts normally, and as the surface is flat, it is not bent. The extraordinary ray undergoes double refraction, once at the surface and again at the crystal axis, and so is deviated, even though the surface is flat and the ray is at normal incidence.

This is how this is entered in Zemax:

The birefringent 1 surface

The ray is traced surface-by-surface normally until it hits the Birefringent In surface. This has the same surface shape as the Standard surface (i.e., a conic asphere) Note the glass used is CALCITE: this is used as the ordinary index. Zemax will look in the same catalog for a glass named CALCITE-E. This contains the extraordinary index of the material. By using two glasses, every piece of data about the glass (transmission, dispersion, thermal properties etc) can be incorporated for both indices.

The crystal axis orientation relative to the surface normal is defined by the parameter data of the Birefringent-In surface:

The crystal axis definition

The direction cosines of the crystal axis are entered directly, in the local coordinates of the Birefringent-In surface. The "Draw Axis" parameter specifies the length of the dotted line shown in layout plots to represent the axis, in lens units. This may be set to zero to avoid drawing the axis, if required.

Now the layout plot above is misleading: it appears to show a ray being split into ordinary and extraordinary components. In sequential ray-tracing, rays can never split: one ray in must give only one ray out. The Mode flag in the parameters of the Birefringent In surface tells Zemax which ray to trace:

  • if mode = 0, then Zemax traces the ordinary ray;
  • if mode = 1, then Zemax traces the extraordinary ray

This layout plot is computed by using one configuration of the design with mode = 0, and another with mode = 1, and overlaying the plots for the two configurations:

The settings used fo rthe 3D layout above

The multiconfiguration editor. Ordinary rays are traced in configuration 1, extraordinary rays in configuration 2

Birefringent Polarizers

Modelling birefringent polarizers usually requires two birefringent media, with the crystal axes of the two media rotated in some fashion. For example, the Rochon polarizer is made of two prisms of a birefringent material (KDP in this case)

A Rochon polarizer. Note the crystal axes of the two prisms are rotated 90 degrees with respect to each other.

In this Rochon, two prisms of KDP are cemented together with their crystal axes rotated by 90° with respect to each other. In the first, the crystal axis is oriented so its direction cosines form the vector {0,0,1}, such that the crystal axis points along the local z-axis. This is shown by the dashed red line.

In the second, the crystal axis is at {1, 0, 0} so the crystal axis lies in the x-axis. This data is entered using the parameter data of the Birefringent In surface. The crystal axis can be located at any position with respect to the surface vertex by entering the direction cosines of the axis in this manner.

Now when light propagates through birefringent media, the index of refraction of the glass is different for the S and P polarizations. {Note that the S-polarization has nothing to do with the S vector defined earlier. The S vector is the ray vector that points in the direction of energy propagation. This vector has an associated electric field which is orthogonal to S. We refer to the polarization of the S vector as a mixture of S- and P- polarization states. Note also that within the birefringent medium, the S and P polarization directions are also not in general the same as those used by the coating and Fresnel surface effects computation. Within the birefringent medium S and P refer to the perpendicular and parallel orientations relative to the crystal axis rather than the surface normal vector.}

The ordinary index is seen by the perpendicular, or S-polarized light, while the effective (angle-dependent) index is seen by the parallel or P-polarized light. The plane that contains the refracted ray and the crystal axis vector is the parallel plane; and the P- polarization lies in this plane,  normal to the ray vector S. The S- polarization is perpendicular to both the P-polarization and the ray vector S.

If the mode is 0, the ordinary ray is traced, which only has an S- component, so the P component transmission is set to zero. If the mode is 1, the extraordinary ray is traced, and the S component is therefore set to zero.

This technique yields the correct transmission results for each possible path separately. However, to get the total transmission requires analysis of each possible combination of modes for every pair of birefringent surfaces. If there are 2 pairs of birefringent surfaces in the system, 4 separate ray traces are required; and if there are 3 pairs of birefringent surfaces, 8 traces required, etc.

For the Rochon, the required combination of rays is given in the multi-configuration editor:

The multiconfiguration editor shows that every possible combination of ray-tracing in each crystal is performed.

So for each ray we trace, we:
  • trace the ordinary component of the ray in crystal 1, and the ordinary component of the ray in crystal 2 (config 1)
  • trace the ordinary component of the ray in crystal 1, and the extraordinary component in crystal 2 (config 2)
  • trace the extraordinary component of the ray in crystal 1, and the ordinary component in crystal 2 (config 3)
  • trace the extraordinary component of the ray in crystal 1, and the extraordinary component in crystal 2 (config 4)

We then recombine the rays by adding their field amplitudes together, not their intensities. This is a key point, and is discussed in detail on the next page.

Calculating Extinction Ratio

In this particular sample file, rays which see the extraordinary index in the second crystal are bent at the crystal-crystal interface. In the first crystal, the crystal axis is along z and so the a ray sees the same index irrespective of its polarization. Remember: inside the birefringent material the S-polarization refers to a plane perpendicular to the crystal axis and the P to a plane parallel to it. At normal incidence with the crystal axis in z these are indistinguishable.

In the second, with the crystal axis along x, the S-polarization is still perpendicular to the crystal axis, and the P is parallel to it. These two limiting cases are clearly distinguishable. Therefore, rays polarized in y are bent at the crystal-crystal interface.

Rays polarized in y are bent whilst those in x are not

In this example, modes 1 and 3 (in which the ordinary ray is traced in the second crystal) are transmitted undeviated by the crystal, whilst configs 2 and 4 are bent by double refraction.

Let's say we want to compute the extinction ratio of the undeviated beam. Experimentally, we might illuminate the polarizer with y-polarizer light and measure the transmitted intensity, then repeat with x-polarized light, and then take the ratio. That is exactly what we will do in Zemax. The complication is that "the" transmitted intensity is the coherent sum of two configurations. So, instead of adding intensities, we must add fields, and then compute the intensities. The easiest way to do this is with a ZPL macro.

Here are the keywords we'll need (see the manual for the full syntax):

POLDEFINE Ex, Ey, PhaX, PhaY to define the initial polarization state of the ray, and

POLTRACE Hx, Hy, Px, Py, wavelength, vec, surf to perform polarization ray-tracing on the ray specified, to the surface specified, and to store the resulting data in an array specified by the vec expression. The data we need is stored in the following elements of this data array:

2: E-Field X component, real

3: E-Field Y component, real

4: E-Field Z component, real

5: E-Field X component, imaginary

6: E-Field Y component, imaginary

7: E-Field Z component, imaginary

To compute the total intensity in the ray described by summing configuration 1 and configuration 3, the code is:

and the routine print_vector is just

In the main body of the macro the key  section is:

Using this to trace an axial ray gives an extinction ratio of infinity, whilst a general skew ray shows energy being transmitted from the x-polarized rays, and hence has a small extinction.


 An axial ray  An arbitrary skew ray


The Polarization Pupil Map can also sum the field amplitudes to compute the transmission of a given polarization state across the pupil. Because there may be any number of birefingent crystals there may be any number of configurations, this feature lets you define which configurations to consider simply by typing a space-delimited list of configuration numbers.

The Polarization Pupil Map can add field amplitudes to perfrom a calculation similar to that perfromed by the macro

The settings show which configurations are added 

Summary and References

This article has demonstrated the basic techniques needed to model birefringent components in Zemax. In summary:

  • Birefringent materials require Zemax to trace two rays in each piece of birefringent material to compute the ordinary and extraordinary ray-trace
  • This is most easily handled for a general component by using a configuration for each ray, and using the Mode parameter of the Birefringent-In surface
  • A two-crystal component therefore requires four configurations, a three-crystal component will need eight, etc
  • The ray amplitudes, not intensities, need to be added across configurations to compute the total transmitted energy.

Further Reading

1. Saleh and Teich, Fundamentals of Photonics, Wiley Interscience

2. Quan-Ting Liang, "Simple ray tracing formulas for uniaxial optical crystals", Applied Optics Vol. 29, No. 7, (1990).