Tempura
Tempura turns a gate layout into the electrostatic potential it produces in a
semiconductor heterostructure. You give it the lateral gate pattern (from a GDS
or DXF file, or by hand) and a vertical stack of dielectrics, metals, and a
QuantumRegion; it returns the potential each gate creates in the plane where your
quantum dots, tunnel barriers, or Majorana modes live.
It is built for device physicists who are fluent in Python and in semiconductor-device concepts, but who would rather not assemble a mesh and a Poisson solver by hand.
The workflow
Every Tempura model follows the same path:
- Layout — crop a layout file to the active region and rasterize its gates onto a shared grid.
- Device — stack that lateral geometry with dielectrics, metals, and a
QuantumRegionto define the full 3D sample. - Solve — mesh the device into a
pescadoPoisson problem and compute one potential per gate. - Inspect — look at the mesh, the fields, and the response in the
QuantumRegionplane.
The solve is linear, so once you have one potential per gate you get any real gate configuration for free, by superposition. The expensive geometry assembly and matrix factorization happen once; new voltage settings are just a weighted sum of the basis fields.
Where to start
- Triple Quantum Dot — the recommended first read: a complete GDS-backed workflow from layout to solved potential.
- Minimal Kitaev Chain — a second worked example, starting from a DXF file with an explicit physical scale.
The API Reference then documents the package one source file at a time. Each page explains the logic of that file — and the math, where there is any — above its generated signatures, including the internal mesh-planning and solver modules. The reference overview also condenses the physical model: the Poisson equation, the four boundary conditions, and why the gate-basis solve works by superposition.
Public modules
tempura— the happy-path import for the core layout-to-solve workflow.tempura.layout— loading and rasterizing layouts.tempura.electrostatics— building devices, meshing, and Poisson solves.tempura.plotting/tempura.viewer— inspection and browser-export helpers.
Pescado
Tempura wraps pescado, an electrostatics package developed at CEA. The
framework is described in:
- Electrostatics in semiconducting devices I: The Pure Electrostatics Self-Consistent Approximation
- Electrostatics in semiconducting devices II: Solving the Helmholtz equation
AI disclosure
Parts of this documentation and codebase were drafted with the help of AI tools and reviewed by the maintainers.