Erick Schulz

Full-Stack Scientist

I'm Erick Schulz, a computational science engineer with a PhD in mathematics, bridging the gap between mathematical research and tangible technology with high-performance code.

Applied Mathematics

Expert knowledge of numerical methods to solve ODEs/DAEs/PDEs arising from real-world engineering problems.

More

Research

Years of research experience. Published in peer-reviewed journals and presented at international conferences.

More

Product Development

Experience building state-of-the-art solvers/tools packaged into ready-to-use and user-friendly products.

More

Leadership

Lead a team of talented professional scientists. Supervised academic theses in collaboration with ETH Zurich.

More

Teaching

Led the development of NPDECODES for the advanced CSE course Numerical Methods for PDEs at ETH Zurich.

More

Funk

Forward-looking software developer who enjoys exploring new development tooling. Always eager to learn.

More

My Job

As Head of Scientific Software Development at Plexim, I lead our research division, currently focusing on core solver technology and strategic R&D for the next-generation of simulation tools/products for power-electronics systems design and validation.

Applied Mathematics

For more information on my current work on numerical methods for differential algebraic equations (DAEs) and optimization applied to circuit simulation, see about R&D below and be on the look-out for the release of PLECS 5.0!

My expertise in numerical methods for partial differential equations, such as finite element methods (FEM) and boundary element methods (BEM), stems originally from my studies and ongoing teaching duties.

During my PhD, I carried out research at the interface between numerical methods and geometry. The development of new models for electromagnetism based on the Hodge-Dirac and Hodge-Laplace operators on manifolds led to surprising discoveries about the structure of first-kind boundary integral equations.

My collaboration with Ralf Hiptmair continues to this day, and I am looking foward to new exciting research and discoveries.

Research

Aside from ongoing collaboration with Ralf Hiptmair at ETH Zurich, my main area of research in the past couple years has been solvers for differential algebraic equations (DAEs), as they arise from circuit models and more generally multi-physics systems.

Building robust simulation software for power electronics is challenging, because the high-frequency switching of power semiconductors lead to transients that are extreme for double-precision floating-point arithmetic and system-level models cause multi-scale dynamics. PLECS has established itself as the leading simulation software in the field of power electronics. It has done so by promoting ideal switch models. Despite discontinuities being, as one could say, the worst form of nonlinearity, PLECS cleverly rely on its consequences to perform very robust state-space simulation. High-order integration and avoiding parasitic effects lead to much faster system-level simulations than what would be possible with a typical SPICE-like circuit solver.

However, it is true that parasitic effects during switching may also be relevant to design engineers. This is why our team has been developing a new mixed-formulation mixed-signal multi-physics DAE solver that integrates the best of both worlds. Within the elegant UI of PLECS, users will be able to run different simulation types without having to reproduce their complex schematics in another tool, greatly easing their workflow. In order to acheive this, our team has developed new algorithms and modernized the established technology with contemporary numerical methods that were not previously used in the context of circuit simulation.

I am glad to say that our team has also contributed to the numerical method used in the Nanostep solver, which allows nano-seconds stepsize for real-time simulation of some important circuit topologies on the RT-box (our FPGA platform).

Product Development

Over the past years, my most significant project has been developing a new type of SPICE circuits solver as part of Plexim's contribution to PowerizeD, a large consortium project partially funded by Horizon Europe (for research and innovation). Everything, from the simulation engine to the architecture, the parser, the UI integration and more, has been written from scratch and re-invented by a team of talented scientists and software engineers. The new product redefines state-of-the-art and enables a type of transient analysis simulation (of mixed-signal circuits and power-electronic systems) that hasn't been previously possible with existing solutions.

During my early days at Plexim, I worked on thermal modeling, particularly on surrogate models for thermal paths in semicondutors. Since then, I have been periodically asked to fit, or re-fit with better model identification, thermal networks to impedance data. So I recently made a simple Python package that application engineers can use to proceed with their thermal networks alchemy.

Another side project that I have been enjoying a lot recently is the implementation of a native feature in the software PLECS that works like Telescope in Neovim, Projectile in Emacs, or Spotlight and Raycast on macOS, for engineers to supercharge their workflow without having to be superusers. It allows them to quickly fuzzy-search from anywhere their .plecs model files, launch commands and open tools such as the documentation and integrated console all within one search bar, greatly increasing discoverability of the software's feature.

Teaching

The foundational knowledge about numerical methods for PDEs of recent CSE graduates of ETH Zurich often comes from a dense mandatory course which my colleague Oliver Rietmann and I contributed in building with Prof. Ralf Hiptmair during our years at ETH. At the time, we managed and worked with a team of student developers to build a collection of ~65 simulation and optimization algorithms ranging from thermal phenomena, conservation laws, waves, electrostatics, force calculations, error estimators, convergence analysis and more. As of today, development was moved to an internal gitlab repository.

To see an older (unfortunatly stale) version, follow the link below. Stay tuned for (possibly) an upcoming re-release.

View Course

Funk

I love to learn, whether it's about new math, new science or new software technology. Thinking about how to improve power-electronics engineers' toolkit made me revisit my own software development tools. I wondered how I could improve my workflow, and how the tools I enjoyed could in turn help the engineers choosing our software (see for e.g. the fuzzy-search feature mentioned under Product Development).

A few months ago, this lead me to neovim, tmux and a few other tools that I am still currently having fun exploring. I find that it helps to have a consistent development experience across different operating systems (Windows at home, MacOS at the office, Linux at ETH). This hobby aligned nicely with my goal to discover the new LLM-assisted coding tools that are all the rage these days. It is useful to better understand how far they can go, to know what they are best used for, and to know their limitations. AI has made writing configuration files for personal tools faster and made it easier for busy professionals to express their creativity through their own personalized setups.

If you are curious to see why I am currently re-learning how to type, check out my keyboard layout by following the link below.

Let's build something great.

I'm always interested in new ideas and collaborations.