About Milan Rother
I build simulation tools and infrastructure and solve numerical modeling problems for engineering teams.
Long ago during my studies I was already building small numerical side projects. A symbolic circuit analysis tool, an eigenmode solver for the Schrödinger equation, a CUDA-accelerated 2D FDTD solver, a MIMO vector fitting implementation, and so on. I even wrote a 120-page LaTeX manuscript on linear system theory during the summer of 2021 to help out a friend.
During my master's I dipped my toes into the RFIC EDA world and worked on compact modeling and layout generation of RFIC passives (inductors, transformers, baluns...). This has now become RapidPassives, an open-source library.
At the beginning of my PhD (early 2023) I diverged from the circuit path to the more general system level, where you have signal flow diagrams and ODEs instead of Maxwell and KVL/KCL. During that time PathSim started as a side project. Initially just an analog computer emulator, it evolved into a fully fledged continuous and discrete (hybrid, we have events!) system modeling and simulation framework. I announced it in March 2025 as an open alternative to Simulink, and a modern take on system modeling in general. Clean API, mutability from the get-go, robust solvers (stiffness, algebraic loops, no problem). Today (mid 2026) we are at roughly 400 stars on GitHub and have many users and collaborators worldwide, some of them prominent figures such as the MIT Plasma Science and Fusion Center, scikit-rf, and JSBSim developers.
Now I'm making the full roundtrip back through circuits and fields, bringing it all together into one vertically integrated stack: EM solvers (RapidFEM, RapidMoM), a symbolic circuit engine (SANE), and system-level simulation (PathSim, FastSim). One architecture: SSA-style compute graphs at the heart of the engines, Rust cores, Python APIs, browser interfaces. The commercial EDA world splits these levels across vendors and decades of legacy. I think one coherent, modern stack can do better.
Those who have talked to me know that I can't stop talking about numerics, modeling, and simulation principles and ideas.
I work as a freelancer and license my tools commercially, free for academia. If you have something you want my take on, or need some ideas and even implementation, don't hesitate to reach out.
Timeline
- 2026: one stack. The full roundtrip back through circuits and fields, built as one stack rather than six tools: RapidFEM and RapidMoM for electromagnetic fields, RapidMesh generating what RapidMoM solves on, RSLAB underneath as the sparse direct solver, SANE for symbolic and numeric circuit analysis, FastSim compiling system models to native code. One architecture throughout: SSA-style compute graphs at the heart of the engines, Rust cores, Python APIs, browser interfaces. The commercial EDA world splits these levels across vendors and decades of legacy; I think one coherent stack can do better. The design question behind all of it: what do you actually want from simulation tools today? Rent cloud compute for a few days, spin the solvers up fast (a few MB of install, not GB), run big parallel optimization and data-generation batches headless, tear everything down again, train surrogates on the results. That takes deterministic solvers, resource management you can schedule (peak memory predicted from the symbolic analysis before anything runs), and models that are differentiable, written by agents if need be, and still readable and auditable by humans.
- 2025-2026: fusion. The MIT Plasma Science and Fusion Center and the UK Atomic Energy Authority build tritium fuel-cycle models on PathSim: a zero-dimensional residence-time model of an ARC-class power plant, a one-dimensional liquid-metal bubble column, and full FESTIM finite-element transport, all coupled inside one timestepping loop. The same system model runs against lab experiments like BABY and LIBRA and against whole power-plant concepts, and a thirty-component bubbler transient solves in seconds, fast enough for Monte Carlo and uncertainty quantification runs. PathView came out of the same collaboration: it started at the Plasma Science and Fusion Center as a way to build and inspect PathSim models visually. From November 2025 I rewrote it on my own stack and it moved to the PathSim organization, where it is hosted free for everyone. I presented the framework at the IAEA workshop on digital engineering for fusion energy in December 2025, and I am a co-author on the multi-fidelity fuel-cycle paper that came out of the collaboration.
- 2025: open source. The repository had been public since the summer of 2024, but March 2025 is when I actually announced PathSim: an open alternative to Simulink, with a clean API, mutability from the get-go, and robust solvers (stiffness, algebraic loops, no problem). Published in the Journal of Open Source Software, released on PyPI and conda-forge, and picked up faster than I expected. It is past 400 stars and nine contributors. The domain toolboxes cover chemical engineering, batteries, vehicles, flight dynamics, RF and FMI co-simulation, several of them contributed by people I have never met. JSBSim picked it up for flight dynamics. PathView followed: the same models as drag-and-drop block diagrams in the browser, running entirely client-side through Pyodide, nothing to install. PySimHub came out of the same year, built together with Peter Corke and Jared Callaham: a tag-based community platform for simulation tools across Python's scattered domains.
- 2024-2025: Analog Insydes, revisited. From December 2024 I worked with Ralf Sommer, the inventor of Analog Insydes, on reviving that tool: symbolic circuit analysis in Mathematica, from the Fraunhofer ITWM, largely out of use today. In June 2026 I picked those ideas back up on my own stack; this became SANE.
- 2023-2024: PathSim. Started in early 2023 at the beginning of the PhD as an analog computer emulator side project, PathSim grew into a full hybrid system modeling and simulation framework: custom solvers, an event system for discrete behaviour alongside continuous dynamics, and a block-diagram API built from first principles. It stayed on my own machine for a year and a half, versioned as 31 zip snapshots, before the repository went public in the summer of 2024. The earliest snapshot, December 2023, already contains Simulation, Connection and the block names the API uses today. The same stretch brought three more: a minimalistic harmonic balance framework for nonlinear periodic steady-state response, a symbolic circuit analysis tool inspired by Analog Insydes, and a finite volume solver for quasi-electrostatic frequency-domain analysis that came out of the sensor modeling at the institute. The solver needed a mesh, so I wrote a 2D QuadTree mesher that refines toward edges and balances itself. It was my first mesher, and the idea that a solver and its mesher should be designed together stuck; RapidMesh follows the same principle today.
- 2023-2025: research associate, CMOS design. Research associate at the Institut fuer CMOS Design, TU Braunschweig. Three strands ran in parallel: numerical modeling of electrochemical sensors for analog circuit design, system design and hardware for bio-impedance spectroscopy, and an EDA pipeline for RFIC passives that was validated in silicon for cryogenic quantum applications. That last one started as a Tkinter window that drew inductors and exported GDS. It became RapidPassives: browser-based layout generation with real-time preview and a WebGL viewer that renders million-polygon GDS at 60 fps.
- 2023-now: PhD candidate, TU Ilmenau. External PhD program in electrical engineering, run alongside the work in Braunschweig and everything that grew out of it.
- 2022-2023: first repos. The first experiments that went public: an interactive 2D electromagnetic FDTD environment with a live field view, a fast relaxed vector fitting implementation that turns measured MIMO frequency responses into compact circuit models, and an interactive Bode plot tool for teaching. Vector fitting had been sitting in a folder since 2020 as rational interpolation experiments, complex fitting by iteratively reweighted least squares, and a stack of papers on passivity enforcement. December 2022 is when it went into a repository.
- 2022-2023: GDS rendering. A master's seminar on the visualization of GDSII layouts that turned into a real tool: a GDS renderer with a Tkinter GUI around it, reading the PDK's layermaps and display resources so a layout renders in its true layer colors, packaged as a single executable through eight versions. The goal was full layout renderings, up to 3D: extrude the layerstack and render the chip in Blender. The computational geometry from this time is where the random polygon generator came from, and the RapidPassives viewer picks up the same problem in WebGL today.
- 2021-2022: desktop toys. A run of interactive desktop toys, all pygame, all packaged with PyInstaller into a single executable so I could hand someone a file instead of an install guide. A Verlet physics sandbox with numba-compiled constraint solving, a few thousand particles on collision courses, a random polygon generator built out of packed circles, and a slime mould simulation with a few hundred thousand trail-following agents (numba on the CPU, CUDA when a GPU was available). The one I kept using was the interactive Laplace domain: drag poles and zeros around the complex plane and watch magnitude, phase and step response follow in real time. It went into the tutorials.
- 2021-2023: M.Sc. electrical engineering, TU Braunschweig. Master of science with honors, thesis graded excellent. Written at the Institut fuer CMOS Design between October 2022 and March 2023: area optimized neural network based modelling of passive magnetic structures for chip-level integration. Three things had to be built for it: a polygonal winding parametrization that reduces a spiral inductor to a handful of geometric parameters, a reduction of Infineon's B12HFC layerstack to the layers an EM solver actually needs (the full stack makes the simulation unaffordable), and a fully analytical derivation of the first and second partial derivatives of RLCk transfer functions with respect to the circuit parameters, read off the block structure of the MNA matrices. The goal back then was to give the optimizer exact gradients instead of finite differences. Today SANE computes the same sensitivities symbolically over a whole compute graph, and RapidPassives generates the windings and layerstacks.
- 2021-2023: research assistant, CMOS design. High-frequency measurement calibration methods, design and implementation of verification hardware, teaching the circuit theory seminar.
- 2020-2021: writing it down. The 120-page LaTeX manuscript on linear system theory, written over the summer of 2021 to help out a friend: Laplace analysis, poles and zeros in the complex plane, frequency response, state space. It has since been translated to English. A separate writeup on state-space representations of linear time-invariant network models came first, in 2020. And for the tutorials I animated the parts that are hard to draw on a blackboard: the rotating phasor, resonance sweeping through a Bode plot, the step response of a damped oscillator.
- 2020-2021: eigenmodes. A finite-difference eigenmode solver for the Schrödinger equation, 1D and 2D: discretize the Laplacian, add the potential on the diagonal, and hand the matrix to an eigensolver to get the bound states and energy levels. Since the potential is just an array over the grid, anything works as input: potential wells, hand-drawn sketches, even photographs. I found it funny to feed it a photo of Schrödinger himself.
- 2019-2021: before GitHub. The first real project never made it to a repository. MiCir was a symbolic network analysis library written in Python from scratch: my own matrix class, my own complex arithmetic, my own polynomial and symbolic element types in s. There was numpy, of course, but I wanted to understand what it was doing before using it. It read netlists, solved networks symbolically, synthesised Cauer ladders from a driving-point impedance, and drew its own Bode and locus plots. In February 2020 I typeset the whole thing in LaTeX. SANE builds on the same idea today: keep the circuit's symbolic structure instead of collapsing it into numbers. The same folder holds the detours: Mandelbrot fractals in the complex plane, Monte Carlo estimates of pi, a DFT written out by hand.
- 2019-2020: internship, Volkswagen AG. Low-voltage and redundant power supply systems in Wolfsburg: concept, schematic, hardware, ASIL considerations.
- 2019: network synthesis. A seminar talk at the institute for electronic devices and circuits, on the synthesis of passive one-ports: which driving-point functions a network of resistors, inductors and capacitors can realise at all, and how to build one that does. Positive-real functions, Foster and Cauer ladders, and the Bott-Duffin recursion that reaches any of them. This was my first contact with the synthesis direction, constructing a circuit from a given impedance function instead of analyzing a given circuit. MiCir picked up the Cauer ladders shortly after, and SANE builds on the same theme today.
- 2018-2021: teaching assistant, TU Braunschweig. Weekly independent tutorials on linear dynamical systems and circuit theory for 50+ students. The Fachschaft tutorial for Netzwerke / Wechselstroeme und Netzwerke came with its own problem set, typeset and drawn from scratch and never quite finished: networks with switching instants, initial values, asymptotic stability, harmonic steady state.
- 2015-2021: B.Sc. electrical engineering, TU Braunschweig. Bachelor of science, thesis graded excellent. Written over the winter of 2020/21: order reduction of interconnect network models for efficient calculation with SPICE simulators. A reduced RLC network model is only usable if it stays passive and stable, and both properties are readable off the structure of the MNA system matrices before any reduction happens. Working on this I first encountered rational fitting, passivity enforcement, and the papers my vector fitting implementation later grew from.
- 2014-2021: climbing coach, DAV Braunschweig. Led the competition climbing team from entry level to international level, over seven years.
Publications and writing
- PathSim: a system simulation framework. Journal of Open Source Software 10(109), 8158, 2025. [ doi ]
- Physics-informed tritium fuel cycle modelling workflow for fusion reactors, with R. Delaporte-Mathurin, R. MacDonald, J. Dark, T. Zulfiqar and K. B. Woller. arXiv:2603.25751, 2026. [ arxiv ]
- I built an open-source Simulink alternative that runs in your browser. dev.to. [ article ]
- Linear time-invariant systems: a 120-page manuscript on system theory, in German and English. [ de ] [ en ]
Talks
- PathSim: block diagram simulation in pure Python. PyCon DE & PyData, April 2026. [ talk ]
- An open-source Python framework for dynamic system simulation in fusion energy applications. OSSFE 2026, March 2026.
- PathSim, at the IAEA Workshop on Digital Engineering for Fusion Energy Research, MIT Plasma Science and Fusion Center, December 2025. [ workshop ]
- PathSim, at the GAMM RSE/RDM workshop, December 2025.
- The decentralized perspective on dynamical system simulation. Guest lecture at the MUSEN colloquium, TU Braunschweig, May 2025.
- PathSim, at Gauss Fusion, May 2025, and at IFAS, May 2025.
- Die Anatomie eines Systemsimulators. IMMS, March 2025.