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 Resonator – Advanced Software for
Laser Resonator Design and Optimization

Example Case: Multipass Amplifier

We consider a laser amplifier, where a beam passes a laser crystal many times with different angles. With other software, it could be extremely tedious to define all the arm lengths and beam angles. With RP Resonator, however, you can parametrize the setup such that all passes are generated with a loop, where all detailed values are automatically calculated from a few given parameters. The code required for that is not particularly complicated:

; ----------------------
; Parameters:
w0 := 600 um  { initial beam radius }
L_cr := 15 mm  { length of crystal }
d_cr := 10 mm  { width of crystal }
n_cr := 1.82  { refractive index of crystal }
F_cr := 0.4  { focusing power of crystal }
s_m := 12 mm  { size of mirrors }
N := 7  { number of passes through the crystal }
a_min := 200 mm  { minimum distance }
da := 20 mm  { increment of distances }
dth := 2 deg  { angular increment }
; ----------------------
a(j) := a_min + (j - 1) * da
th_max := (N - 1) * dth  { maximum angle }
th(j) := th_max - (j - 1) * dth
th_i(j) := arcsin(sin(th(j)) / n_cr)
resonator: single pass, z = 0, w = w0
* air: d = a(N) / cos(th(1))
for j := 1 to N - 1 do
* prism: l = L_cr, d = d_cr, theta = eval(-cos(j * pi) * th(j)), alpha = 0, n = n_cr, n2 = F_cr / L_cr, ""
* air: d = eval(a(j) / cos(th(j)))
* mirror: theta = eval(cos(j * pi) * 0.5 * (90 deg - th(j))), size = s_m
* air: d = eval(L_cr * tan(th_i(j)) + a(j) * (tan(th(j)) + tan(th(j + 1))))
* mirror: theta = eval(cos(j * pi) * 0.5 * (90 deg - th(j + 1))), size = s_m
* air: d = eval(a(j) / cos(th(j + 1)))
* air: d = a(N) + da
resonator end

(The calls of the eval() function force the program to immediately calculate and store the numerical values of the given expressions, rather than evaluating them later on, when the variable j has changed already.)

Of course, this flexible approach makes it easy later on to modify some parameters, such as beam angles or arm lengths, for example for optimization purposes.

First, we want to have the optical setup shown graphically in order to check that everything has been defined correctly:

diagram 1, size_px = (600, 180):
draw resonator, direction = th(1)

We define the direction of the initial beam such that the output beam will be exactly horizontal. The result:

multipass amplifier setup

Simply by changing the variable N from 7 to 11, you would obtain the following:

multipass amplifier setup

Now we plot the beam radius vs. position:

beam radius vs. position in multipass amplifier

The beam radius is stabilized by the thermal lens of the laser crystal.

Finally, we plot the beam radius at the output as a function of the dioptric power of the thermal lens of the laser crystal:

variation of dioptric power of the crystal

(back to the list of example cases)