Skip to content

About

Local workbench for thin-film process recipes, 3D device geometry and silicon equilibrium, with a Quantum ESPRESSO workspace.

Topics

Resources

Stars

1 star

Watchers

0 watching

Forks

Repository files navigation

VirtualFab Studio

A local workbench for thin-film processes and semiconductor device geometry.

Build process recipes, inspect 3D structures, and run traceable silicon equilibrium calculations.

Checks License: MIT Desktop: Windows x64 Status: Prototype

English · 简体中文

Quick start · Features · Validation · Roadmap

VirtualFab process workbench showing a thin-film crossbar, cross-section and process cards

VirtualFab connects a process recipe to the geometry it produces: photoresist, exposure, development, deposition, etching and lift-off remain visible as individual steps. Inspect the resulting layers and contacts, track the evidence behind material parameters, and map supported silicon structures to a one-dimensional equilibrium model.

The desktop app runs locally with Electron. Project files are JSON; calculations use local backends. A separate atomic workspace runs Quantum ESPRESSO calculations for Si and monolayer MoS₂. The current release is an engineering prototype. Its numerical checks and model limits are documented below.

Features

Workflow What you can do
Process recipes Start from crossbar, bottom-gate, top-gate, heterojunction or blank templates. Add, edit, reorder, disable and replay process steps.
Geometry inspection Inspect a 3D local structure, layer separation, wafer/die overview and movable cross-section. Compare lateral sampling resolutions.
Materials and interfaces Edit 25 initial material entries, parameter sources and conditions. Inspect contact topology, PN/PIN candidates, gates and evidence-based band offsets.
Silicon equilibrium Map supported rectangular Si regions and given dopants to a 1D PN/PIN model. View potential, bands, carriers, electric field and depletion-threshold sensitivity.
Atomic calculations Import CIF, POSCAR or extended XYZ. Run local QE SCF, uniform-grid NSCF and band paths, with parameter-sensitivity checks and raw evidence.
Project history Save/open JSON projects, cancel background jobs, inspect historical inputs and export CSV with metadata or result JSON.
Silicon PN equilibrium Atomic workspace
Silicon PN equilibrium computed from a mapped process structure Real Si Kohn-Sham bands and parameter checks in the atomic workspace

The current application interface is in Chinese. The screenshots show built-in examples.

Quick start

Run the process editor

Install Node.js 22.12 or newer and Git, then run:

git clone https://github.com/Ausanx/VirtualFab.git
cd VirtualFab
npm ci
npm start

Open 127.0.0.1:4173. The browser entry supports process editing and geometry inspection. The calculation backends are available through the desktop app.

On Windows, launch the desktop app from the same checkout:

npm run desktop

Choose a template, replay the process cards, inspect the cross-section, then save the project as JSON. Installation downloads dependencies; normal editing does not require an Internet connection.

Enable silicon equilibrium on Windows

Install uv, then build the local solver:

uv venv --python 3.13 .venv-solver
uv pip install --python .venv-solver\Scripts\python.exe -r solver/requirements.txt
npm run build:solver
npm run desktop

In 能带与界面 → PN/PIN 平衡 → 当前工艺结构, create a silicon PN or PIN benchmark, review the regions and path, then calculate. The solver uses DEVSIM 2.11.0 with bundled Python and OpenBLAS.

Optional: enable atomic calculations

Install WSL2 and Git for Windows, then run:

npm run setup:dft

The installer creates an isolated VirtualFab-QE WSL2 environment, downloads verified inputs and compiles QE 7.5. Initial setup needs Internet access, disk space and build time. Later calculations run locally. See the setup guide and DFT method.

Build a Windows portable app

After installing the solver build dependencies above:

npm run package:win

Open dist/VirtualFab-win32-x64/VirtualFab.exe and keep that whole directory together. The package includes the silicon solver; QE and Linux are installed separately. See the full usage and build guide.

Model scope

Area Current scope and limits
Process geometry Sampled XY columns with continuous Z intervals. Deposition is a top-surface approximation. No 3D process kinetics, sidewall flux or experimental process calibration.
Material data Sources and conditions are explicit. Many initial values are estimates; InON band parameters remain missing. Missing values are not treated as zero.
Device physics 300 K, zero-bias, bulk-Si homojunction PN/PIN; given uncompensated dopants, complete ionization, Boltzmann statistics and ideal neutral ohmic ends. Geometry mapping requires a uniform rectangular cross-section.
DFT Fixed-geometry PBE, nonmagnetic, neutral, scalar-relativistic calculations, initially tested on Si/MoS₂. Outputs are sampled Kohn–Sham bands/gaps. DFT is independent of process geometry and device transport.
Validation Numerical convergence, boundary applicability, literature comparison and experimental calibration are separate. A solver finishing successfully does not establish device accuracy.

The Shockley I–V view uses manually supplied model parameters. Predictive transport, gate characteristics, memory effects and photocarrier dynamics are future work.

Project JSON stores job references, not calculation files. Raw results stay in local physics-jobs/<UUID> and dft-jobs/<UUID> directories. Copying the JSON alone does not transfer job evidence. Changed inputs make previous results historical; unconverged or damaged results do not appear as valid curves.

Validation

Run the portable core checks:

npm test
npm run check

GitHub Actions runs these checks on Windows and Linux; Windows-to-WSL and PowerShell checks run on Windows. Desktop interaction and physical calculations have additional local checks:

npm run test:browser
npm run test:desktop
npm run validate:physics
npm run validate:device
npm run test:device:desktop

The physics commands need a built solver. DFT checks need the installed QE backend. Full commands, results and assumptions:

npm run validate:literature:strict currently fails the default MoS₂/WSe₂ band-offset comparison. This is a documented calibration gap. The Si charge-density grid and MoS₂ cutoff also need further refinement; see the DFT report.

Roadmap

  • Process editing, geometry inspection and material evidence.
  • Region-level dopants and process-to-silicon equilibrium mapping (A–B).
  • Local atomic calculations with input/result provenance.
  • Independent numerical comparison and complete public benchmarks (C).
  • Portable calculation-evidence bundles (D).
  • Validated dark silicon J–V (E).
  • Condition-matched MoS₂/WSe₂ extension (F).

The agreed physics roadmap defines the acceptance criteria for each stage.

Contributing

Open an issue with reproduction steps, application/runtime versions and the expected result. A small example project is helpful when you are comfortable sharing it. Keep fixes focused and run the relevant checks. For physical models, include units, assumptions, parameter sources and a verifiable benchmark.

License and acknowledgements

VirtualFab's own source is licensed under MIT. It uses Electron, Three.js, Split Grid, DEVSIM and an adapter for Quantum ESPRESSO. Third-party terms are documented in the solver notices and DFT notices.

About

Local workbench for thin-film process recipes, 3D device geometry and silicon equilibrium, with a Quantum ESPRESSO workspace.

Topics

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages