The following tutorials will guide you through many of the important aspects for designing a photonic circuit using IPKISS. Each tutorial is designed to be the fastest route to get to a certain result, with a minimum of overhead or distraction. Furthermore each tutorial has a list of learning objectives and is composed of several steps that progressively build up to that result.

Each step of the tutorial contains executable Python files that are internally documented using python inline comments. The files are displayed inside the documentation, and can be downloaded. They are also available in the ‘samples’ folder of your installation.

A tutorial also has a series of prerequisites, as indicated by the arrows below. It is not strictly necessary to go through all the prerequisites before starting a step-by-step guide: the tutorials are made such that all concepts that are required, are introduced in the tutorial itself.


Fig. 1 Structure of the tutorials

Getting started

Install IPKISS
The very first step is to install our tools correctly.
Getting familiar with python
Knowing python is not a strict requirement to learn ipkiss but having some basic understanding will certainly help you
Quickstart: A first circuit
This tutorial has brings you to results quickly without getting too deep into the nuts and bolts of IPKISS. This is the quickest way to have a pretty good idea of the principles and functionality.

Layout tutorials

Simple Layout
This tutorial introduces the most basic functionality to specify the layout part of your design.
Advanced Layout
This tutorial introduces you to more advanced layout functionality: It introduces layout hierarchy, waveguides, and routes.

Caphe tutorials

Simple caphe
This tutorial introduces the most basic functionality necessary to define and simulate a frequency domain model.
Advanced caphe
This tutorial introduces you to more advanced caphe functionality: It introduces hierarchy, waveguides and code compiling for faster simulations.