How to model a dichroic beam splitter

Beam splitters are important optical devices in a variety of different applications. The dichroic beam splitter either transmits or reflects based on wavelength. This article explains how a dichroic beam splitter can be modeled in OpticStudio’s Non-Sequential mode, and how to use the table coating definition to configure the splitter surface.

Authored By Andrew Locke


Article Attachments


Beam splitters are popular optical devices which can be used to divide incident optical energy into reflected and transmitted beam paths. The three general types of beam splitters are:

  • Cube beam splitters
  • Plate beam splitters
  • Pellicle beam splitters

Beam splitters divide energy into the reflected and transmitted paths based on various factors including angle of incidence, polarization state, and wavelength and are easily modeled in OpticStudio.

In this article, we demonstrate how to model a dichroic plate beam splitter in Non-Sequential mode.

Dichroic beam splitters

Dichroic are wavelength-dependent beam splitters that utilize special coatings to separate the beam paths. As such, this article assumes that you are already familiar with the basics of modeling ideal coatings in OpticStudio. If you are not, take a look at the Knowledgebase article “How to model a partially reflective and partially scattering surface” before proceeding.


There are a variety of dichroic beam splitters available from various vendors. The dichroic beam splitter that we will be modeling is based on one that can be purchased from CVI Laser, LLC.1 The dichroic beam splitters available for purchase from CVI can be assigned any one of a number of dichroic coatings that are available.

The beam splitter that we will be modeling is a Short Wave Pass (SWP) type. This particular type of beam splitter is characterized by high transmission (i.e. low reflectivity) at short wavelengths along with low transmission (i.e. high reflectivity) at longer wavelengths. Here is a transmission vs. wavelength curve for a typical SWP dichroic coating:


Full details on CVI Laser’s SWP dichroic beam splitters can be found on their webpage.

Dichroic coatings are characterized by a pass band (wavelength region of high transmission/low reflectivity), a stop band (wavelength region of low transmission/high reflectivity) and a transition region (the wavelength region between these two bands):

The different transmission regions of a SWP coating

For the purposes of modeling simplicity, we are going to model an idealistic version of a typical SWP dichroic beam splitter from CVI. Our modeling assumptions:

  • We do not have access to the full coating prescription data.
  • The dichroic coating with be polarization insensitive.
  • The transmission in the pass band will be 100%.
  • The reflection in the stop band will be 100%.
  • We will not do any modeling of the transition region.

It is important to note that these idealistic assumptions are certainly not required in OpticStudio. As you will see, OpticStudio’s coating modeling capabilities allow for very realistic coating modeling. We are making the above assumptions to simplify the work that we will have to do in this case.

The SWP dichroic beam splitter that we will model will have the following properties:

  • Substrate: N-BK7
  • Clear Aperture: 1”
  • Thickness: 0.25”
  • Dichroic coating on front surface of substrate
  • Pass wavelength: 0.400 microns
  • Stop wavelength: 0.525 microns
  • The rear and edge surfaces of the substrate will be coated with an ideal 1% reflection/99% transmission anti-reflection (AR) coating

Starting point

So that you can focus on the specific modeling capabilities introduced by this article, please download the attached file.

The file includes a Source Ellipse, a Standard Lens (to model the plate beam splitter), and two Detector Rectangles (one to characterize the pass band and one to characterize the stop band) to start:


Observe from the System Explorer window that:

  • The lens units for this system have already been set to inches


  • The Minimum Relative Ray Intensity has been set to 1E-2 (indicating that rays will only be traced if they have at least 1% of the energy that they had originally)


  • The Wavelength Data dialog indicates that the two wavelengths of interest have been assigned to this system, with Wavelength 1 set as the primary:


  • The plate beam splitter does not yet have coatings assigned to it. 

Coating specifications

To model the dichroic coating, we will use a table coating in OpticStudio. Of the different coating formats available in OpticStudio, table coatings are among the most flexible. Table coatings allow the transmission, reflection, and absorption properties of a coating to be wavelength, polarization, and angle of incidence dependent. Phase rotations can also be modeled by table coatings. All of this can be done without knowing the specific material properties of the coating being modeled. This is useful because many coating vendors are unwilling to provide specific coating prescriptions. They are usually more willing, however, to provide coating performance information (i.e. relative transmission/reflection data at various wavelengths/angles of incidence).

The table coating format in OpticStudio is compatible with the output from The Essential Macleod thin film software (

For table coatings, data is normally specified at multiple angles of incidence. At each angle of incidence specified, the polarization dependent reflection and transmission for several wavelengths is specified. The syntax for table coatings is as follows:

TABLE [coating name]
ANGL [angle of incidence 1, in degrees]
WAVE [wavelength 1, in mm] [Rs] [Rp] [Ts] [Tp] [Ars] [Arp] [Ats] [Atp]
WAVE [wavelength 2, in mm] [Rs] [Rp] [Ts] [Tp] [Ars] [Arp] [Ats] [Atp]
WAVE [wavelength 3, in mm] [Rs] [Rp] [Ts] [Tp] [Ars] [Arp] [Ats] [Atp]
ANGL [angle of incidence 2, in degrees]
WAVE [wavelength 1, in mm] [Rs] [Rp] [Ts] [Tp] [Ars] [Arp] [Ats] [Atp]
WAVE [wavelength 2, in mm] [Rs] [Rp] [Ts] [Tp] [Ars] [Arp] [Ats] [Atp]
WAVE [wavelength 3, in mm] [Rs] [Rp] [Ts] [Tp] [Ars] [Arp] [Ats] [Atp]


Rs = Reflection coefficient for S polarization
Rp = Reflection coefficient for P polarization
Ts = Transmission coefficient for S polarization
Tp = Transmission coefficient for P polarization

The remaining parameters are the phase rotation angles. These are optional and, in our case, can be left off. If the angles are omitted, no phase change will be introduced by the coating.

Since the reflection and transmission coefficients can be defined separately for S and P polarization states, table coatings can be used to model polarizing beam splitters in OpticStudio.

Given the geometry of our system, we are only interested in one angle of incidence (45 degrees) and two wavelengths (0.400 and 0.525 mm). As stated previously, we are going to assume that our dichroic coating is polarization insensitive (for simplicity). As such, the amount of reflection will be the same for S and P polarization orientations (as will the amount of transmission). Since the 0.40 micron wavelength is in the pass band, the transmission at this wavelength should be 100% and the reflection should be 0%. Likewise, since the 0.525 micron wavelength is in the stop band, the transmission at this wavelength should be 0% and the reflection should be 100%. As such, the resulting table coating is:

WAVE 0.400 0.0 .0.0 1.0 1.0
WAVE 0.525 1.0 1.0 0.0 0.0

Using a text editor (such as Notepad or EditPlus2), open a blank text file and enter the text above.

We will also need to setup our ideal AR coating. Recall that the AR coating we are going to model in this case is one which reflects 1% and transmits 99%. Since we are not modeling any absorption, wavelength or angle of incidence dependence for this coating, we can use the simple "I.transmission" ideal coating format:


Add this coating to your file as well.

Once you have defined the two coatings, save your coating file using an appropriate filename (such as DICHROIC.DAT) in the appropriate directory. Remember that the coating file must end in the extension .DAT and must be stored in the same directory as your other coating files (the default is {Zemax}/Coatings).

Evaluating the coatings

With the necessary coatings defined, we can now apply the coatings to our plate beam splitter.

First, open the menu option, System Explorer...Files. For the coating file, Select the coating file that you just saved in the Coating File drop-down box:


To apply the coatings, open the Object Properties dialog for object 2 and then select the Coat/Scatter tab. The Coat/Scatter tab will initially show the coating and scattering settings for face group 0, the side faces of the plate beam splitter. For these faces, as well as the back face, we want to apply our I.99 ideal AR coating. Do this for group 0 (side faces) and group 2 (back face) of the plate:


Lastly, apply our dichroic coating, SWP, to Face 1, the front face of the beam splitter:


With the appropriate coatings applied, we can now analyze the performance of our dichroic beam splitter. The primary effect of this type of beam splitter is the separation of light based on wavelength. Open a layout window and set the Color Rays By setting to Wave #:


This setting now differentiates the layout rays based on wavelength - there should be two different ray colors visible now. The blue rays (representing wavelength 1 at 0.400 mm) transmit through the beam splitter since they are in the pass band. The green rays (representing wavelength 2 at 0.525 mm) reflect off of the beam splitter since they are in the stop band. This clearly demonstrates that our dichroic beam splitter is working correctly.


Open the Ray Trace Control from the Analyze Ribbon...Ray Trace button, and run an analysis trace in the Ray Trace/Detector Control dialog, making sure that Use Polarization and Split NSC Rays are checked on:


Looking at the resulting display in the Detector Viewers, it is clear that our initial 1 Watt of energy is being divided almost equally between the two beam paths:



Table coating accuracy

We have used the dichroic table coating that we created successfully at two wavelengths, 0.400 mm and 0.525 mm. What about the performance of this coating at other wavelengths?

Open the Wavelength Data dialog and add wavelengths to extend our sampling spectrum as shown:


Navigate to the Analysis tab and find Transmission vs. Wavelength (Analysis...Coatings...Transmission vs. Wavelength). Change the settings of this analysis to show the coating performance of our dichroic coating at an angle of incidence of 45 degrees:


Here is the resulting plot:


Here is a plot of the transmission vs. wavelength for a typical SWP dichroic coating:

Actual transmission vs. wavelength data for a typical SWP coating

As you can see, OpticStudio is modeling the transition region in a linear fashion while, in reality, the transition region adjusts from high transmission to low transmission in a very non-linear fashion. In our case, the transition region is modeled linearly due to the limited amount of data that we used to define the SWP table coating. For table coatings, linear interpolation is used to determine transmission and reflection values at wavelengths between those defined in the table (i.e. between 0.400 mm and 0.525 mm in this case). In other words, as the wavelength increases from 0.400 mm, the transmission drops in a linear fashion until it reaches 0 at 0.525 mm. If we wanted to model the transition region more accurately, we would just have to add the transmission and reflection coefficients for additional wavelengths between 0.400 mm and 0.525 mm in our table coating definition.

Notice that for wavelengths outside of the range of wavelengths defined in the table coating (i.e. wavelengths shorter than 0.400 mm as well as wavelengths longer than 0.525 mm), the transmission remains constant. For wavelengths that fall outside of the range defined in the table coating, no extrapolation is done. OpticStudio will simply use the transmission and reflection coefficients for the nearest defined wavelength. Thus, we would have to add the transmission and reflection coefficients for the additional wavelengths manually to expand the wavelength band of our table coating accurately.

Due to the collimated source used in our model and the orientation of the plate beam splitter, the angle of incidence of all rays hitting the dichroic coating is 45 degrees. How would sources that are not collimated (i.e. with rays that have angles of incidence on the beam splitter other than 45 degrees) be handled?

Open the menu option, Analysis...Coatings...Transmission vs. Angle. Change the settings to show the performance of our dichroic coating:


Here is the resulting transmission vs. angle curve:


Notice that the coating performance is the same across all angles of incidence. While in reality, this is highly unlikely, it is the case with our SWP coating because we only defined one angle of incidence in our data table. Like above, we find that to more accurately model the angle of incidence dependence of our dichroic coating, we would have to add the transmission and reflection coefficients for additional angles of incidence by hand.

Similarly, all of the plots generated by OpticStudio suggest that the performance for S and P polarization states is the same. In reality, the amount of transmission and reflection for a dichroic coating is not just dependent upon wavelength and angle of incidence, but also polarization state. When defining our SWP table coating, we chose not to define different transmission and reflection coefficients for the S and P polarization states, though we certainly could have.

More realistic dichroic coating

Imagine that we wanted to more accurately model our SWP dichroic coating at 45 degrees of incidence. By adding more data to our table coating, we could model:

  • The transition region

  • The polarization dependence of the coating

  • The actual amount of transmission and reflection (rather than assuming that they are either 100% or 0%)

If this is our SWP coating performance at an angle of incidence of 45 degrees:


Here is a more detailed version of the corresponding table coating:

WAVE 0.350 0.06 0.00 0.94 1.00
WAVE 0.355 0.02 0.00 0.98 1.00
WAVE 0.360 0.01 0.00 0.99 1.00
WAVE 0.365 0.06 0.00 0.94 1.00
WAVE 0.370 0.04 0.00 0.96 1.00
WAVE 0.375 0.00 0.00 1.00 1.00
WAVE 0.380 0.03 0.00 0.97 1.00
WAVE 0.385 0.07 0.00 0.93 1.00
WAVE 0.390 0.04 0.00 0.96 1.00
WAVE 0.395 0.00 0.00 1.00 1.00
WAVE 0.400 0.03 0.00 0.97 1.00
WAVE 0.405 0.07 0.00 0.93 1.00
WAVE 0.410 0.05 0.00 0.95 1.00
WAVE 0.415 0.00 0.02 1.00 0.98
WAVE 0.420 0.03 0.03 0.97 0.97
WAVE 0.425 0.07 0.02 0.93 0.98
WAVE 0.430 0.06 0.00 0.94 1.00
WAVE 0.435 0.05 0.02 0.95 0.98
WAVE 0.440 0.07 0.04 0.93 0.96
WAVE 0.445 0.08 0.06 0.92 0.94
WAVE 0.450 0.07 0.05 0.93 0.95
WAVE 0.455 0.15 0.00 0.85 1.00
WAVE 0.460 0.25 0.02 0.75 0.98
WAVE 0.465 0.21 0.13 0.79 0.87
WAVE 0.470 0.08 0.20 0.92 0.80
WAVE 0.475 0.70 0.16 0.30 0.84
WAVE 0.480 0.90 0.06 0.10 0.94
WAVE 0.485 0.98 0.13 0.02 0.87
WAVE 0.490 0.98 0.53 0.02 0.47
WAVE 0.495 0.99 0.84 0.01 0.16
WAVE 0.500 0.99 0.90 0.01 0.10
WAVE 0.505 1.00 0.94 0.00 0.06
WAVE 0.510 1.00 0.96 0.00 0.04
WAVE 0.515 1.00 0.97 0.00 0.03
WAVE 0.520 1.00 0.97 0.00 0.03
WAVE 0.525 1.00 0.97 0.00 0.03
WAVE 0.530 1.00 0.97 0.00 0.03
WAVE 0.535 1.00 0.97 0.00 0.03
WAVE 0.540 1.00 0.97 0.00 0.03
WAVE 0.545 1.00 0.965 0.00 0.035
WAVE 0.550 1.00 0.96 0.00 0.04

You can reopen your coating file in a text editor, and copy/paste this data in. Then, navigate to the Libraries Ribbon...Coatings Tool and select "Reload" to update the coatings in OpticStudio. You can then apply the new realistic coating to the splitter surface. Viewing the Transmission vs Wavelength plot, we can see that this new coating definition is much more realistic, and matches the data more closely:


Obviously, the coating detail has improved greatly. The coating could be further improved by adding even more data points if desired.


1. CVI Laser Optics. 2017. "SWP: Short Wave Pass Dichroic Beamsplitter."

2. Farner, Kelly. 2018. Optical Coherence Tomography - System and Simulation. Zemax. August 31.


Was this article helpful?
0 out of 0 found this helpful



Please sign in to leave a comment.