BeamLab is an award-winning set of simulation tools for beam propagation through optical devices and waveguides in your familiar MATLAB® environment. Examples encompass a large variety of propagation scenarios for both bulk and waveguide optics including lenses, gratings, apertures, couplers, splitters, multiplexers, and modulators. Solving complex optical problems has never been easier!

New BeamLab 1.2 (Jan. 2018) — Explore completely new waveguide design possibilities! Learn more »

Unlimited Plotting Options

Simple Coding

The following few lines of code produce a video that shows the light vortex in a multimode fiber generated by a Gaussian beam at oblique incidence and slightly offset from the fiber axis.

%% Required parameters
gridPoints = [200 200];
gridSize = [100 100];
lambda = 1.55;
indexFunction{1} = @(b) homogeneous(b,200,1);
indexFunction{2} = @(b) singlecore(b,4800,[50 50],1.46,1.45);

%% Create beamProblem
beamProblem = beamset(gridPoints,gridSize,lambda,indexFunction,...

%% Create input field
inputField = gaussinput(beamProblem,[15 15],...
    'Shift',[15 0 200],'Angle',[5 90]);

%% Start BPM calculation
bpmData = bpmsolver(beamProblem,inputField);

Key Features

  • MATLAB® toolboxes implementing a Beam Propagation Method (BPM) solver and a waveguide mode solver
  • Intuitive user interface based on MATLAB® — no hassle with learning a new proprietary language
  • Full-vectorial and semi-vectorial beam propagation and mode analysis based on the finite difference method
  • 3D or 2D analysis
  • Wide-angle and nonlinear beam propagation
  • Different types of boundary and symmetry conditions
  • High flexibility in waveguide and input field design with steadily growing library of easy-to-use functions
  • High flexibility in implementing various parameter sweeps and optimization problems1
  • High flexibility in post-processing and editing any output data and graphs to your liking
  • Parallel computing using multicore processors and computer clusters2
  • Extensive plotting and visualization options
  • Platform-independent (Windows, macOS, Linux)
  1. For advanced optimization problems BeamLab supports the MATLAB® Optimization Toolbox™.
  2. Requires MATLAB® Parallel Computing Toolbox™.


Photonic Crystal Fiber

Beam propagation in a photonic crystal fiber
View demo

Spiral Waveguide

Beam propagation in a waveguide wrapped around a straight waveguide
View demo


Beam propagation in a waveguide splitter
View demo

Fiber Modes

Eigenmode calculation of an optical fiber
View demo

Fiber Dispersion

Dispersion evaluation of an optical fiber
View demo

Directional Coupler

Beam propagation in a co-directional waveguide coupler
View demo

Multimode Interference Coupler

Beam propagation in a 2D/3D MMI coupler
View demo

Mach-Zehnder Modulator

Beam propagation in a Mach-Zehnder modulator
View demo

Rib Waveguide Modes

Eigenmode calculation of a rib waveguide
View demo

Spatial Filter

Beam propagation through a spatial filter removing random phase fluctuations
View demo

Nonlinear Self-focusing

Self-focusing of a high-power Gaussian beam in a nonlinear medium.
View demo

Meander Waveguide

Beam propagation in a sinusoidally oscillating waveguide
View demo

Your Benefits

  • Flexible licensing models: Buy BeamLab for 3, 6, or 12 months or as a subscription.
  • Priority support: As a customer you will receive priority support, first in line!
  • 30 day money back guarantee: Should you not be fully satisfied with BeamLab you will receive a full refund.

MathWorks Connections Program

  • CodeSeeder is an official partner of the MathWorks Connections Program and supplier of third-party MATLAB® products.
  • BeamLab is implemented natively in MATLAB® und supports all versions from 7.11 (R2010b) to the latest one.
  • If you are interested in testing BeamLab but currently don’t have access to MATLAB®, please click on the relevant checkbox during sign up to receive further instructions.