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). |
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
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
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
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 J-V Sous Illumination AM1.5G. Extraction automatique des paramètres de performance (Jsc, Voc, FF, PCE).
Diagramme de Bandes d'Énergie à l'Équilibre. Visualisation de l'alignement des bandes (Ec, Ev, Ef) pour des hétérojonctions complexes.
Spectre EQE & IQE. Analyse de la réponse spectrale pour diagnostiquer les pertes optiques et de recombinaison.
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,tandemettriple_junctiondoivent être relues avecscientific_readiness,iv_metrics_validet 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.