The following tutorials will guide you through many of the important aspects for designing a photonic circuit using IPKISS.

Getting started

Installing IPKISS

The first step is to install IPKISS.

Using a code editor

Learn how to use a code editor for writing IPKISS code.


This is the quickest way to have a pretty good idea of the principles and functionality.

Design concepts

Learn about the most important concepts using the Quickstart tutorial.

Background information

Introduction to IPKISS

A quick intro to the overall concept of IPKISS

Overview of IPKISS

A quick overview of the concepts and features of IPKISS

Getting familiar with python

Knowing python is not a strict requirement to learn ipkiss but having some basic understanding will certainly help you.

Layout tutorials

Simple Layout

This tutorial introduces the most basic functionality to specify the layout part of your design.

PCells, Views and parameters

This tutorial introduces the concept of PCells, Views and parameters.

Advanced Layout

This tutorial introduces you to more advanced layout functionality: It introduces layout hierarchy, waveguides, and routes.

Circuit model tutorials

Defining circuit models: Basics

This tutorial explains how to implement compact models in IPKISS. These models are used to run circuit simulations in our circuit solver Caphe.

Defining circuit models: Advanced

This tutorial contains some advanced topics related to circuit simulation.

Defining circuit models based on S-parameter data

This tutorial explains how to build compact models for devices based on existing S-parameter data.

Device simulation tutorials

Running electromagnetic simulations from IPKISS

This tutorial explains how to run electromagnetic simulations from IPKISS.