RP Photonics logo
RP Photonics
Modeling & Design Software
Technical consulting services on lasers, nonlinear optics, fiber optics etc.
Profit from the knowledge and experience of a top expert!
Powerful simulation and design software.
Make computer models in order to get a comprehensive understanding of your devices!
Success comes from understanding – be it in science or in industrial development.
The famous Encyclopedia of Laser Physics and Technology – available online for free!
The ideal place for finding suppliers for many photonics products.
Advertisers: Make sure to have your products displayed here!
powerful tools for efficient laser development and laser science
This page gives you an overview on our software products.
RP Fiber Calculator is a convenient tool for calculations on optical fibers.
RP Fiber Power is an extremely flexible tool for designing and optimizing fiber devices.
RP Resonator is a particularly flexible tool for laser resonator design.
RP ProPulse can simulate the pulse evolution e.g. in mode-locked lasers and sync-pumped OPOs.
RP Coating is a particularly flexible design tool for dielectric multilayer systems.
RP Q-switch can simulate the power evolution in Q-switched lasers.
Most of our software products support a powerful script language, which gives you an extraordinary degree of flexibility.
Here you learn about software license conditions, updates and upgrades, etc.
Competent technical support is a key quality associated with software from RP Photonics.
RP Photonics has distributors in various countries.
The RP Photonics Software News keep you updated on our developments and give the users additional interesting hints.
Here you can make inquiries e.g. concerning technical details, prices and quotations.
en | de

RP Coating – Advanced Software for
Designing Optical Multilayer Structures

The Basic Concept of the User Interface

The RP Coating program can take its inputs not only from dialogs and forms, but also from a script, which can be edited using the built-in editor. When a script is “executed”, the software reads all the contained commands. If that is done successfully to the end, diagrams can be made for displaying the results. In addition, outputs in text form can be shown in the form, within the graphical diagrams, or written to text files or binary files.

While competing programs with a purely graphical user interface may look nicer, they cannot compete with RP Coating in terms of flexibility:

  • When using other software, the user is expected to enter pure numerical values into form fields, whereas in an RP Coating script one can use mathematical expressions everywhere.
  • In RP Coating, the coating structure does not have to be entered as a table (which could be tedious), but can be constructed with loops, for example, where layer thickness values can be varied systematically with mathematical expressions (see below).
  • One can easily combine different parts of the overall design – for example, a Bragg mirror, a spacer, and a few additional top layers. The overall design can be parametrized easily.
  • RP Coating allows you do do optimizations with arbitrary mathematical forms of the figure-of-merit function. Other programs normally only allow one to enter parameters of a predetermined figure-of-merit function.
  • You can easily implement additional calculations – for example, average quantities over some angular ranges or check effects on ultrashort pulses.
  • For graphical output as well as text output, the script language again provides an enormous flexibility; whatever you imagine to be useful can be implemented – normally with just a few lines of script code.
  • Of course, you can copy & paste within and between scripts, which is much simpler than going through many forms and entering inputs again.

It is not difficult to get started: you can start with one of the demo files and modify it according to your needs, make use of the powerful documentation, and the competent technical support helps you in case of any difficulties.

Since V3, one can even define a custom form in a script (see below). This feature allows one to combine the enormous flexibility of the script language with the nice handling of forms for input and output of data.

The Script Language

RP Coating is controlled with a very powerful script language. Each input script contains everything from the definition of a multilayer structure to the calculations to be made and the resulting graphics. (Of course, you can store frequently used script parts in external files and easily call them in your main script.)

Some code snippets show you that the script language is easy to use.

Simple Bragg Mirror

The first example shows how a simple Bragg mirror is defined:

l_Bragg := 1000 nm  { Bragg wavelength }
N_Bragg := 8  { number of layer pairs }
beam from superstrate
substrate: BK7
for j := 1 to N_Bragg do
* SiO2, d = l / 4 at l_Bragg
* TiO2, d = l / 4 at l_Bragg
superstrate: air

Chirped Mirror

A second example shows the definition of a chirped mirror, where all layer thickness values vary systematically within the coating:

l_Bragg0 := 1000 nm  { Bragg wavelength in the middle }
dl := 5 nm  { change of Bragg wavelength with each layer pair }
N_Bragg := 8  { number of layer pairs }
l_B(j) := l_Bragg0 + (j - N_Bragg / 2) * dl  { Bragg wavelength for layer pair j }
d_SiO2(j) := (var l; l := l_B(j); l / 4 / n_SiO2(l))
d_TiO2(j) := (var l; l := l_B(j); l / 4 / n_TiO2(l))
beam from superstrate
substrate: BK7
for j := 1 to N_Bragg do
* SiO2, d = d_SiO2(j)
* TiO2, d = d_TiO2(j)
superstrate: air

You see that it is straight-forward to implement different types of chirps, add some more layers, etc. That flexibility is usually not obtained for competing products.

Numerical Optimization

Finally, we show a little code for a numerical optimization:

l_HR := 1064  { HR wavelength }
l_HT := 808   { HT wavelength }
FOM():= { merit function }
  sqrt(sum(d := -20 to +20 step 5, T(l_HR + d)^2)
      +sum(d := -20 to +20 step 5, R(l_HT + d)^2))
optimize coating for minimum of FOM()

The defined merit function would be zero for a mirror with vanishing transmission around 1064 nm and vanishing reflectivity around 808 nm – that is the design target of a dichroic mirror used for injecting pump light into a Nd:YAG laser.

Custom Forms

Since V3, RP Coating offers forms which can be tailored to your specialized needs. Such a form can be defined within a script – by yourself, if you like, or we do it for you within the technical support.

custom form for designing Bragg mirrors

See a separate page which explains custom forms in detail.

Script Editors

For editing script code, the software offers powerful editors and related tools. A screen shot shows an editor:

script editing in RP Coating

Some great features of such editors:

  • Multilevel undo/redo functionality
  • Syntax highlighting: recognized command or function names, keywords, comments etc. are shown with different colors. That makes it easier to understand the structure.
  • Parameter hints: if you type in a function name followed by a parenthesis, the editor displays information on the required parameter list. That way it becomes much simpler to utilize the hundreds of supported functions.
  • Syntax check: you can quickly have the syntax of a script checked without executing it.
  • Code snippets library: you can easily insert certain frequently used parts of code into your script. (See the screen shot below.) Users can create own code snippets as an extension for that library.
code snippets library

Custom Forms

Since V3, RP Resonator offers forms which can be tailored to your specialized needs. Such a form can be defined within a script – by yourself, if you like, or we do it for you within the technical support.

custom form for focusing of a laser beam

See a separate page which explains custom forms in detail.

Graphical Output

Your script can define several diagrams for visualizing the results of the calculations. Examples are shown on the pages for various example cases. Each diagram is shown in a separate window, which also allows you to measure positions using one or two cursors, save the graphics in GIF or PNG format, and to copy the graphics to the Windows clipboard. Below you see an example of such a graphics window, showing what optical intensities occur in a Bragg mirror for different wavelengths.

field penetration into a Bragg mirror

Comprehensive Documentation

RP Coating comes with very well worked out documentation, which allows you to have a quick start and work efficiently even when doing sophisticated modeling:

  • There is a manual in PDF format, explaining in detail (on about 40 pages) the principles of the physical model, the user interface, the script language, etc.
  • The context-sensitive online help function is even more comprehensive. See the screen shot below to get an impression.
online help of RP Coating

Technical Support

Any remaining problems can be addressed with the technical support. We make sure that any problems you may have will soon be solved.