Skip to content

Level C - Numerical Model ​

Level C provides self-consistent numerical solution of semiconductor device equations using 2D mesh-based simulation. This is the most accurate model but computationally intensive, suitable for research and validation purposes.

Fundamental Equations ​

The simulator solves the semiconductor device equations self-consistently:

1. Poisson Equation ​

Relates electrostatic potential to charge density:

Where:

  • : Electrostatic potential (V)
  • , : Electron and hole concentrations (cm⁻³)
  • , : Ionized donor and acceptor concentrations
  • : Silicon permittivity

2. Continuity Equations ​

Conservation of carriers with generation/recombination:

Electrons:

Holes:

For steady-state (DC) analysis:

3. Current Density (Drift-Diffusion) ​

Using Einstein relation:

Physical Interpretation

  • Drift: Carriers move under electric field ( )
  • Diffusion: Carriers move from high to low concentration ( )

Mesh Generation ​

Non-Uniform 2D Mesh ​

The simulator uses a non-uniform rectangular mesh with refinement in critical regions:

Mesh Refinement Strategy ​

RegionTypical SpacingReason
Si/SiO₂ interface0.2-0.5 nmRapid potential variation
Junction edges1-2 nmHigh field, carrier gradients
Channel center2-5 nmModerate variation
Bulk substrate5-20 nmSlow variation

Mesh Quality Requirements ​

For accurate results:

  • Debye length criterion:
  • Gradient criterion: Adjacent cells should have < 2× potential difference
  • Aspect ratio: Keep cell aspect ratio < 10:1

Numerical Methods ​

Scharfetter-Gummel Discretization ​

Standard finite-difference fails for drift-diffusion due to exponential carrier profiles. The Scharfetter-Gummel scheme uses exponential fitting:

Where is the Bernoulli function.

Why Scharfetter-Gummel?

Consider an exponential carrier profile .

Standard FD: → large error

SG scheme: Uses exact solution of drift-diffusion between mesh points → accurate for any

Bernoulli Function Properties ​

The function is computed carefully to avoid numerical overflow.

Gummel Iteration ​

Self-consistent solution uses decoupled iteration:

1. Initial guess: ψ from Poisson with n,p from Boltzmann
2. LOOP until converged:
   a. Solve Poisson equation → update ψ
   b. Solve electron continuity → update n
   c. Solve hole continuity → update p
   d. Check: |Δψ|_max < tolerance?
3. Calculate currents from converged solution

Convergence Issues

Gummel iteration may fail to converge for:

  • High forward bias (strong injection)
  • Very fine mesh (stiff system)
  • Poor initial guess

Solutions: Use Newton-Raphson for difficult cases, continuation methods.

Linear Solver: BiCGSTAB ​

Each Poisson/continuity solve requires solving a sparse linear system .

The BiCGSTAB (Biconjugate Gradient Stabilized) algorithm is used:

  • Handles non-symmetric matrices
  • Good convergence for device equations
  • Memory efficient (no matrix factorization)

Typical settings:

  • Tolerance:
  • Max iterations: 1000
  • Preconditioner: Jacobi (diagonal)

Boundary Conditions ​

Contact Boundary Conditions ​

BoundaryTypeCondition
GateDirichlet
Source/Drain (Ohmic)Dirichlet , ,
SubstrateDirichlet ,

Interface Conditions ​

Oxide-Silicon interface:

Open boundaries (Neumann):

Convergence Behavior ​

Typical Convergence ​

| Iteration | | Status | |-----------|---------------------|--------| | 1 | 0.5 V | Initial | | 5 | 0.05 V | Converging | | 10 | 0.001 V | Near solution | | 15 | 1e-6 V | Converged |

Convergence Tips ​

  1. Good initial guess: Start from equilibrium, increment bias slowly
  2. Under-relaxation: with
  3. Voltage stepping: For large bias, use intermediate steps
  4. Mesh refinement: Coarse mesh first, then refine

Computational Cost ​

Single Bias Point ​

Mesh SizeUnknownsIterationsTime
50×507,500~15~0.5 s
100×10030,000~20~2 s
200×200120,000~25~8 s

I-V Sweep (25 points) ​

Mesh SizeTotal TimePer Point
50×50~10 s0.4 s
100×100~45 s1.8 s
200×200~4 min10 s

GPU Acceleration

WebGPU acceleration can provide 10-50× speedup for larger meshes. Currently experimental - see GPU Acceleration Review.

Output Quantities ​

Level C provides detailed 2D field distributions:

QuantitySymbolUnit
Electrostatic potentialV
Electric field , V/cm
Electron concentrationcm⁻³
Hole concentrationcm⁻³
Current density , A/cm²
Recombination ratecm⁻³/s

Derived Metrics ​

  • Terminal currents: Integrated from current density at contacts
  • Inversion charge:
  • Depletion width: From potential profile analysis
  • Threshold voltage: Extrapolated from Id-Vgs

Physical Models Included ​

Carrier Statistics ​

Boltzmann (default):

Fermi-Dirac (optional):

Recombination Models ​

Shockley-Read-Hall:

Auger (high injection):

Mobility Models ​

Doping-dependent:

Field-dependent:

When to Use Level C ​

✅ Good for:

  • Accurate device characterization
  • Novel device structure analysis
  • 2D field visualization
  • Validating compact models
  • Research applications
  • Understanding internal physics

❌ Not suitable for:

  • Quick parameter exploration (too slow)
  • Circuit-level simulation
  • Large design space sweeps
  • Real-time interaction

Comparison: All Levels ​

FeatureLevel ALevel BLevel C
PhysicsAnalyticalSemi-empiricalNumerical
AccuracyLowMediumHigh
Speed~1 ms~2 ms~1-10 s
2D fields❌❌✅
SCE❌✅✅ (intrinsic)
Custom structures❌❌✅

Implementation Details ​

Code Structure ​

src/physics/levelC/
├── mesh.ts          # Mesh generation
├── poisson.ts       # Poisson solver
├── continuity.ts    # Continuity equations
├── gummel.ts        # Gummel iteration
├── bicgstab.ts      # Linear solver
├── materials.ts     # Material properties
└── worker.ts        # Web Worker interface

Web Worker ​

Level C runs in a Web Worker to avoid blocking the UI:

  • Main thread sends device parameters
  • Worker performs simulation
  • Results returned via postMessage
  • Progress updates for long simulations