Simulation · Jonction bimateriau

Hétérojonction

Simulation d'une jonction p-n entre deux matériaux semi-conducteurs distincts (ex : CdS/CdTe, a-Si/c-Si, GaInP/GaAs). Module simulations/heterojunction.py, résolution SESAME NIST avec alignement de bandes selon la règle d'Anderson.

Diagramme de bandes hétérojonction
Fig. 1 — diagramme d'alignement de bandes (ΔEc, ΔEv à l'interface CdS/CdTe).

Modèle d'alignement de bandes (Règle d'Anderson)

Implémenté dans calculate_band_offsets(), SPARC calcule les discontinuités à l'interface à partir des affinités électroniques (χ) de chaque matériau :

ΔEc = χn − χp                        (discontinuité bande de conduction)
ΔEv = ΔEc − (Eg,p − Eg,n)           (discontinuité bande de valence)
Incertitude : ±0.2 eV (Van de Walle & Martin, 1987)

Classification automatique du type de jonction

Type Description Impact simulation
Type I (Straddling) Un gap inclus dans l'autre Normal, simulation fiable
Type II (Staggered) Bandes décalées, séparation spatiale des porteurs Avertissement: FF réduit sans tunneling
Type III (Broken Gap) Pas de chevauchement des gaps Erreur critique : simulation probablement invalide

Flux d'exécution interne

  1. Calcul des offsets : calculate_band_offsets() détermine ΔEc, ΔEv et le type de jonction. Valide les affinités (plage [0.5, 6.0] eV).
  2. Pièges d'interface (Dit) : Si dit_config est fourni, ajoute des états d'interface sur une zone de largeur dit_width (défaut 2×10⁻⁷ cm) autour de la jonction. Densité en cm⁻², sections efficaces σe et σh en cm².
  3. Contacts : Ohmiques par défaut. Support Schottky via contact_types et work_functions. Vitesses de recombinaison de surface Sn/Sp (défaut : 10⁷ cm/s).
  4. Génération optique : TMM si les deux matériaux sont dans la base n/k, sinon Beer-Lambert.
  5. Résolution IV : Même algorithme que l'homojonction. Repli 1D automatique si le mode 2D diverge (flag dimension_fallback).
  6. Validation spécifique hétérojonction : Détection spike/cliff (|ΔEc| > 0.5 eV → tunneling non modélisé), vérification broken gap.

Hétérojonction Gradée

La fonction simulate_graded_heterojunction() découpe la zone d'interface en grade_sublayers sous-couches avec interpolation linéaire des propriétés matériaux :

Mat(x) = (1−w)·Mat_n + w·Mat_p    où  w = (x−x0)/(x1−x0)

Des clippes de sécurité sont appliqués (Eg ∈ [0.01, 4.0] eV, χ ∈ [1.0, 5.0] eV, mobilités > 0) pour éviter les instabilités numériques dans Sesame.

Paramètres d'entrée

Clé JSON Type Unité Description
materials.n_type string Matériau de la région N (ex: "CdS", "a-Si")
materials.p_type string Matériau de la région P (ex: "CdTe", "c-Si")
geometry.thickness_n float cm Épaisseur fenêtre N (émetteur)
geometry.thickness_p float cm Épaisseur absorbeur P
doping.n_region float cm⁻³ Dopage N
doping.p_region float cm⁻³ Dopage P
interface.recombination_velocity float cm/s Vitesse de recombinaison de surface à l'interface
interface.dit.density float cm⁻² Densité d'états d'interface (Dit)
interface.dit.sigma_e float cm² Section efficace de capture des électrons
interface.dit.energy float eV Niveau énergétique du piège (0 = milieu du gap)
graded.grade_width float cm (Hétéro gradée) Largeur de la zone de transition
graded.grade_sublayers int (Hétéro gradée) Nombre de sous-couches (défaut: 6)

Sorties spécifiques à l'hétérojonction

Clé Description
band_offsets.delta_Ec Discontinuité de la bande de conduction ΔEc (eV)
band_offsets.delta_Ev Discontinuité de la bande de valence ΔEv (eV)
band_offsets.junction_type "type_I", "type_II" ou "type_III"
band_offsets.has_tunneling_issue True si |ΔEc| ou |ΔEv| > 0.5 eV
hetero_limitations Liste de diagnostics d'interface (tunneling, staggered, broken gap…)
band_diagram Profils Ec, Ev, Ef des deux matériaux

Exemple de configuration JSON

config_cds_cdte.json
{
  "simulation_name": "cds_cdte_hetero",
  "simulation_type": "heterojunction",
  "materials": {
    "n_type": "CdS",
    "p_type": "CdTe"
  },
  "geometry": {
    "thickness_n": 1e-5,
    "thickness_p": 2e-4
  },
  "doping": {
    "n_region": 1e18,
    "p_region": 1e15
  },
  "interface": {
    "recombination_velocity": 1e4,
    "dit": {
      "density": 1e11,
      "sigma_e": 1e-15,
      "sigma_h": 1e-15,
      "energy": 0.0
    }
  },
  "voltages": { "start": 0.0, "stop": 0.9, "points": 60 },
  "illumination": { "enabled": true, "photon_flux": 2.5e17, "absorption_coefficient": 1e4 },
  "optical_model": "auto"
}

Mises en garde

Tunneling non modélisé. SESAME n'implémente pas le transport tunnel. Si |ΔEc| ou |ΔEv| > 0.5 eV, Jsc et FF seront sous-estimés. Le flag hetero_limitations[].type = "tunneling_not_modeled" est automatiquement ajouté aux résultats.
Dipôles d'interface. La règle d'Anderson (χ_n − χ_p) ignore les charges fixes à l'interface et les reconstructions atomiques. Incertitude intrinsèque : ±0.2 eV sur ΔEc.

Références

  • Anderson, R.L. (1960). Germanium-gallium arsenide heterojunctions. IBM J. Res. Dev., 4, 283.
  • Sze, S.M. & Ng, K.K. (2007). Physics of Semiconductor Devices, 3rd ed., §12.5. Wiley.
  • Van de Walle, C.G. & Martin, R.M. (1987). Theoretical study of band offsets. Phys. Rev. B 35, 8154.