Open-source project · 2026

Quantum Foundry

A multi-physics simulator for post-silicon and 3D-stacked transistors. It ranks 2D channel materials, device geometries and stacking choices on speed, heat and manufacturability together, before anything goes near a fab.

Python 3.11 Apache-2.0 Kwant · HotSpot · gmsh · DEVSIM 10 cited materials

The problem

Silicon transistors are running out of room to shrink. The leading replacements are atomically thin "2D" semiconductors such as MoS₂ and WSe₂, stacked in new geometries: gate-all-around nanosheets, CFETs that stack the n- and p-type transistors on top of each other, and fully monolithic 3D chips.

In June 2026 imec, ASML and TSMC demonstrated 2D-material CMOS on 300 mm wafers. It confirmed an awkward fact: MoS₂ makes the best n-type channel and WSe₂/WS₂ the best p-type, and no single material does both well. So the useful question isn't "which material is fastest?" It's "which combination of materials, dielectrics and stacking is fast enough, stays cool enough, and can actually be manufactured?"

Answering that means joining physics that usually lives in separate, expensive tools. Quantum Foundry joins it in one open pipeline.

How it works

Five stages, each behind a common interface with two interchangeable backends: a fast "stub" for exploring, and a real physics solver for answers. Switching between them is a config change, not a code change.

Pipeline: materials database, then ab-initio, device transport, thermal, and yield stages, feeding a Pareto search Materials cited database JARVIS · C2DB · MP Ab-initio band structure QE + Wannier90 Transport current, switching Kwant NEGF · DEVSIM Thermal junction temperature HotSpot · FEniCSx Yield can it be made? Monte Carlo · Murphy Pareto rank Every stage returns its result with provenance: which backend ran, and whether it was a stub. Pipeline: materials, ab-initio, transport, thermal, yield, Pareto ranking Materialscited database · JARVIS · C2DB · MP Ab-initioband structure · QE + Wannier90 Transportcurrent, switching · Kwant · DEVSIM Thermaljunction temperature · HotSpot Yieldcan it be made? · Monte Carlo Pareto rankingtrade-offs, not a single "winner"
The pipeline. Stages marked with a solver name run that solver for real; the rest use a clearly labelled stub until the solver is wired in.

Why these tools

Kwant for atomistic quantum transport, DEVSIM for classic drift-diffusion, HotSpot as a fast thermal pre-filter before full 3D FEA. All open source, so every result can be reproduced.

Manufacturability is built in

No mature open-source yield tool exists, so yield is modelled directly with Monte Carlo and Poisson/Murphy models. Every candidate is checked against back-end-of-line thermal budgets.

Stacked devices, for real

CFET, GAA and monolithic-3D devices run per-tier, with multi-tier heat flow including the thermal resistance at each bonded interface.

The rule: never report a number a solver didn't produce

Every result carries its provenance. Each stage's output says which backend produced it and whether it was a stub. Every material property that isn't computed cites a named paper or database. A material with missing data is refused, never filled in with a plausible guess.

That rule caught real mistakes. Three of them:

Units bug
5× too cool

Power density was normalised by the wrong device dimension, which scaled total power by L/W. For the default 20 × 100 nm device, every junction temperature, including real HotSpot runs, was fed a fifth of the real power. Caught by checking the formula's units, then fixed in both thermal backends.

Measurement artifact
"DIBL" that wasn't

A drain-induced barrier lowering value looked like real short-channel physics. Reading the model showed its potential has no drain-voltage dependence, so the number was a by-product of the method. It is now flagged in every output instead of being shown as physics.

Citation drift
34.5 → 24 ± 4

MoS₂'s thermal conductivity was seeded as 34.5 W/m·K, "from Yan et al. 2014". The paper's own abstract says 24 ± 4 W/m·K. The higher number circulates in later papers that cite it. The value was corrected to the source.

What it says today

The n/p channel search runs every seeded 2D material in both roles instead of assuming MoS₂ is n-type and WSe₂ is p-type. On the current physics, MoS₂, WSe₂, WS₂, MoTe₂ and WTe₂ all land on the Pareto front for both roles. That's a genuine trade-off, so the tool declines to name a single winner.

Graphene and black phosphorus are excluded, with the reason printed: their effective masses aren't in the cited data yet. Leaving them out openly is the correct behaviour.

These rankings come from stub-level transport and thermal models, labelled as such. They show that the search machinery works, not what the final answer is.

$ qf heterostructure-search
NOTE: Tj values below come from thermal/stub.py's
lumped-RC model, not the real HotSpot backend …

=== n-type role ===
  MoS2_monolayer: Ion=240 uA/um  … [pareto-front]
  WSe2_monolayer: Ion=437 uA/um  … [pareto-front]
  WS2_monolayer:  Ion=471 uA/um  … [pareto-front]
  MoTe2_monolayer: Ion=259 uA/um … [pareto-front]
  WTe2_monolayer: Ion=272 uA/um  … [pareto-front]
  black_phosphorus_monolayer: EXCLUDED — …
    refusing to fabricate.
  graphene_monolayer: EXCLUDED — …
  -> no single recommendation: 5 candidate(s)
     on the pareto front, a real trade-off
     rather than a clear winner

Status and honest limits

LayerStateDetail
Materials databasereal10 cited 2D materials and gate dielectrics
Validationreal6 literature benchmarks, each tied to a specific figure or table
Quantum transportrealKwant NEGF
Drift-diffusionnextDEVSIM backend scaffolded; needs a solver environment
ThermalrealHotSpot compact model incl. multi-tier stacks; 3D meshing via gmsh
3D FEAnextFEniCSx/Elmer on the generated mesh
YieldrealMonte Carlo + Poisson/Murphy/negative-binomial
Ab-initionextQuantum ESPRESSO + Wannier90, designed

The remaining solvers need real compute, and the full parameter sweeps approach HPC scale. That's the next stage of the project, and a good place to contribute.

Try it

pip install -e ".[dev]"
qf run MoS2_monolayer --backend stub
qf heterostructure-search --format markdown

The stub pipeline installs in a minute with no heavy solvers. Real backends install through one conda setup script, and qf preflight reports exactly what's available before any real run.

Contributions are welcome, especially cited materials data, validation benchmarks and new solver backends. See CONTRIBUTING and the roadmap.

Quantum Foundry · Apache-2.0 · built by Shobhit Tripathi github.com/chance304/quantum-foundry