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 Fiber Power – Simulation and Design Software
for Fiber Optics, Amplifiers and Fiber Lasers

Example Case: Fiber Coupler

Here we show how RP Fiber Power can be used to analyze and optimize fiber couplers. We use the beam propagation feature to analyze a coupler with two inputs and two outputs, where two waveguides come close together over some distance such that their evanescent waves come into contact.

Description of the Model

We first need to define the refractive index profile of the device. We begin with defining a function for the y position of a waveguide as a function of the z coordinate:

y_c := 10 um  { vertical position of core in the coupling region }
y_i := 50 um  { vertical position of core in the input / output regions }
L_c := 2 mm  { length of the coupling region }
L_i := 10 mm  { length of the input and output region }
L_tot := 2 * L_i + L_c { total length }
y_co(z):= { vertical core position vs. z }
  if z <= L_i
  then y_c + (y_i - y_c) * 0.5 * (1 + cos(pi * z / L_i))
  else if z <= L_i + L_c
  then y_c
  else y_c + (y_i - y_c) * 0.5 * (1 + cos(pi * (L_tot - z) / L_i))

We then define the transverse profile of the refractive index of one waveguide as a super-Gaussian function:

n_cl := 1.45  { cladding index }
n_co := n_cl + 0.8e-3  { core index }
dn_core(r) := if abs(r) <= r_core then (n_co - n_cl) * exp(-(1.3 * r / r_core)^6)

From this we get the index profile of a single straight waveguide:

n_f(r) := n_cl + dn_core(r)

The whole coupler structure is defined as a three-dimensional refractive index distribution, and shown in Figure 1:

n_device(x,y,z) := 
   + dn_core(sqrt(x^2 + (y - y_co(z))^2))  { upper waveguide }
   + dn_core(sqrt(x^2 + (y + y_co(z))^2))  { lower waveguide }
refractive index profile of fiber coupler

Figure 1: Refractive index profile of the fiber coupler in the yz plane.

Of course, one could easily implement more sophisticated index profiles, taking into account the tapering of fibers in a fused coupler, or a twisted geometry.

We can now use the mode solver to calculate the modes of the single waveguides, and use these for the input to the upper waveguide, assuming that the input is in the LP01 mode:

calc set_n_profile("n_f", r_core)
  bp_set_grid(x_max, N_x, y_max, N_y, z_max, N_z, N_s);
  bp_set_n_z('n_device(x,y,z)', 'trunc(y_co(z) / (0.2 um))');
  bp_set_A0('A_lm_xy(0, 1, lambda, x, y - y_i)');

The index profile for the beam propagation is set with the function bp_set_n_z(). For each z value, the index distribution in the xy plane is recalculated only if the y position of the waveguides has changed by about 0.2 μm; this saves some computation time.

A few more lines of code, not shown here, define the numerical grid for the beam propagation. The grid has an extension of 50 μm in the x direction, 160 μm in the y direction, and 22 mm (the total length of the device) in the z direction. The numerical resolution in x, y and z direction is 1.56 μm, 1.25 μm and 10 μm, respectively.


After these definitions, we can now simply use the function bp_I(x,y,z) for the optical intensity in the device. The square root of that (i.e., the amplitude distribution) is shown in Figure 2. One sees how light couples into the lower waveguide.

amplitude distribution in the fiber coupler

Figure 2: Amplitude distribution in the fiber coupler for a waveguide distance of 20 μm.

On the right side, we display the amount of power in the two outputs. We take only the LP01 mode content, rejecting any stray light due to the bends, for example. This is achieved by calculating overlap integrals of the field distributions and the modes:

P_out_1():= { output power of port 1 }
  var cy, d, x1, x2, y1, y2;
  cy := dy * round(y_i / dy); { center position of the output port }
  d := 3 * r_core;
  x1 := -dx * round(d / dx);
  x2 := +dx * round(d / dx);
  y1 := cy - dy * round(d / dy);
  y2 := cy + dy * round(d / dy);
  abs2(int(int(bp_A%(x, y, z_max) * A_lm_xy(0, 1, lambda, x, y - y_i), 
    x := x1 to x2 step dx),
    y := y1 to y2 step dy));

Due to the efficient implementation of the beam propagation in RP Fiber Power, a diagram as above can be generated within a few seconds on an ordinary PC.

We can now reduce the distance between the waveguides in the coupling region from 20 μm to 16 μm. The light then mostly couples over to the lower waveguide:

amplitude distribution in the fiber coupler

Figure 3: Amplitude distribution in the fiber coupler for a reduced waveguide distance of 16 μm.

For the next diagram, we also increase the length of the coupling region from 2 mm to 10 mm. We then observe an oscillatory behavior in the coupling region:

amplitude distribution in the fiber coupler

Figure 4: Amplitude distribution in the fiber coupler for an increased length of the coupling region.

For the previous coupler design, we now investigate the wavelength dependence. This is easily done with a few lines of script code (not shown here). The results are shown in Figure 5.

wavelength-dependent coupling

Figure 5: Degree of power coupling as a function of the wavelength.

The somewhat strange shape of the curve in the longer-wavelength region results from bend losses of the waveguides, which get substantial in that region.

Making this diagram requires several minutes, because the full beam propagation has to be done for each wavelength.

We have actually neglected chromatic dispersion, i.e., the wavelength dependence of the refractive index; this could easily be included, e.g. based on Sellmeier formulas.

(back to the list of example cases)