Plateforme Scientifique de Simulation Photovoltaïque (TCAD)

SPARC

Environnement de simulation drift-diffusion 1D/2D multi-couches pour les cellules solaires à base de Silicium, Pérovskites, III-V et hétérojonctions avancées.

Pilier Scientifique Description & Capacités
Modélisation Physique 1D & 2D Résolution autocohérente de Poisson et de la continuité (drift-diffusion) avec le solveur de référence Sesame (NIST). Maillage adaptatif raffiné automatique aux interfaces.
Gestion des Matériaux Base de données locale (17 matériaux d'intérêt PV validés par la littérature NREL) étendue par connexion fédérée avec Materials Project et OPTIMADE. Support complet des pérovskites complexes (FAPbI3, MAPbI3, CsPbI3).
Optimisation Multi-paramétrique Optimisation automatique des épaisseurs, dopages et bandes interdites via algorithmes bayésiens (BoTorch) et de recherche par bandes de confiance (Optuna).
Validation & Métriques Standard Extraction automatisée des paramètres macroscopiques (Voc, Jsc, FF, PCE) et diagnostics de convergence / validité physique (scientific readiness, validation croisée avec SCAPS-1D/PC1D).
Note aux chercheurs : SPARC intègre des garde-fous physiques stricts pour rejeter ou signaler les solutions non physiques (divergences du solveur, courants hors limites physiques d'illumination). Chaque simulation calcule et fournit un indicateur scientific_readiness détaillant les limites de validité.

Trois Modalités d'Utilisation

SPARC est conçu pour s'adapter à votre flux de travail, qu'il s'agisse de recherche exploratoire visuelle, de scripts d'optimisation automatisés ou d'analyse interactive en terminal.

Version Web

Aperçu Dashboard Web SPARC

Interface graphique interactive sous forme de Dashboard Flask. Idéal pour concevoir des empilements de couches, visualiser les courbes J-V, explorer les diagrammes de bandes en 1D/2D et discuter avec l'assistant IA intégré.

python -m web.app

Version CLI Batch

$ python main.py configs/silicon_homo.json
[INFO] Loading SPARC runtime...
[INFO] Starting Simulation: 'silicon_base'
[SOLVER] Drift-Diffusion converged in 12s.
[RESULT] Voc: 0.72V, Jsc: 40.1 mA/cm²

Exécuteur en ligne de commande pour le traitement par lots (batch). Idéal pour automatiser des campagnes de simulation, intégrer SPARC dans un pipeline de calcul ou exécuter des configurations JSON archivées.

python main.py configs/silicon_homo.json

Version CLI Interactive

Aperçu CLI Interactif SPARC

Console interactive enrichie avec des menus en terminal. Idéal pour explorer rapidement la base de données de matériaux, lancer des optimisations bayésiennes et générer des rapports de benchmarking directement depuis le terminal.

python -m cli_interactif

Galerie de Résultats Scientifiques

La plateforme génère des figures prêtes pour publication (format vectoriel et raster) lors de chaque simulation.

Courbe Courant-Tension (J-V)

Courbe J-V Sous Illumination AM1.5G. Extraction automatique des paramètres de performance (Jsc, Voc, FF, PCE).

Diagramme de Bandes d'Énergie

Diagramme de Bandes d'Énergie à l'Équilibre. Visualisation de l'alignement des bandes (Ec, Ev, Ef) pour des hétérojonctions complexes.

Efficacité Quantique Externe (EQE)

Spectre EQE & IQE. Analyse de la réponse spectrale pour diagnostiquer les pertes optiques et de recombinaison.

Historique d'Optimisation Bayésienne

Trajectoire d'Optimisation BoTorch/Optuna. Suivi de la convergence des algorithmes sur l'espace paramétrique multi-dimensionnel.

Architecture du Projet

  • Moteur Physique : Intégré dans simulations/ (modèles de mobilité Masetti, rétrécissement de bande interdite, recombinaisons SRH, Auger et radiatives dépendantes de la température).
  • Validation & Benchmarks : Scripts d'évaluation de la convergence et de validation physique croisée avec SCAPS-1D et PC1D (dans validation_campaign/).

Pages de référence

Besoin Document Contenu principal
Démarrage Installation Docker, Python local, extras, vérification, dépannage
Prise en main Tutoriels Quickstarts web, CLI, API, homojonction, optimisation, validation et erreurs fréquentes
Structure interne Architecture Flux, modules, persistance, intégrations web, sessions et validation
Types de calcul Simulations Atlas détaillé des 22 types routés, structure JSON, sorties, limites et plan de 3 images par simulation
Exploration paramétrique Optimisation Optuna, BoTorch, Sobol, surrogate, résultats
Intégration HTTP API Routes Flask, suivi, sessions, workers, LLM, utilitaires
Données matériaux Matériaux Sources locales, SQLite, Materials Project, OPTIMADE, import DFT
Hypothèses physiques Physique Transport, mobilités, BGN, recombinaisons, optique, SQ
Benchmarking Benchmarking Campagne de validation, critères PASS/FAIL, références SCAPS-1D, PC1D, NREL et rapports auditables
Mise en service Déploiement Construction, reverse proxy, sauvegarde, surveillance, incidents
Diagnostic Dépannage Triage web/API, SQLite, matériaux, polling, Sesame, validité scientifique et optimisation

Couverture fonctionnelle

Zone Présent dans le projet Documenté ici
Simulation router.py, simulations/*, résultats, exports, profiling, validation Simulations, Physique, Benchmarking, API
Matériaux base locale, recherche fédérée, save/delete, import DFT, fusion Matériaux, API
Optimisation Optuna, BoTorch, heatmap, sensibilité, surrogate, PDF Optimisation, API
Web UI /form, /history, /results, /compare, /materials, /optimize, /chat, /statistics, /validation Architecture, API
Sessions et aperçu /api/session/*, /api/preview-system, web/session_manager.py, web/unified_workflow.py API, Architecture
Agent LLM chat, config provider, profils, historique, estimation de coût, conversations API, Architecture
Supervision état workers, état tasks, revoke, statistiques globales API, Déploiement

Entrées du produit

Entrée Usage Commande ou route
Web formulaire, historique, comparaison, résultats, validation python -m web.app puis http://localhost:5000
CLI batch exécution JSON directe python main.py configs/silicon_homo.json
CLI interactif navigation terminal, optimisation, export, comparaison python -m cli_interactif
API pilotage externe /api/generate-json, /api/run-simulation/<id>, /api/optimize/*

Contrats de lecture

  • Un statut HTTP 200 ou une page de résultats affichable ne prouve pas la validité physique d'un résultat.
  • Les simulations multi_layer, tandem et triple_junction doivent être relues avec scientific_readiness, iv_metrics_valid et les diagnostics physiques.
  • Les claims de validation doivent être lus avec la campagne validation_campaign/ et la page Benchmarking.
  • La recherche matériaux garde volontairement les doublons inter-sources et expose l'état fournisseur local, Materials Project et OPTIMADE.
  • Les intégrations Celery et LLM sont optionnelles. La documentation distingue le chemin local minimal et les extensions disponibles.