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.
Expert knowledge of numerical methods to solve ODEs/DAEs/PDEs arising from real-world engineering problems.
MoreYears of research experience. Published in peer-reviewed journals and presented at international conferences.
MoreExperience building state-of-the-art solvers/tools packaged into ready-to-use and user-friendly products.
MoreLead a team of talented professional scientists. Supervised academic theses in collaboration with ETH Zurich.
MoreLed the development of NPDECODES for the advanced CSE course Numerical Methods for PDEs at ETH Zurich.
MoreForward-looking software developer who enjoys exploring new development tooling. Always eager to learn.
MoreAs 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.
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.
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).
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.
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.
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.
I'm always interested in new ideas and collaborations.