Gestionnaire de convergence
Le module convergence_manager.py automatise l'optimisation des paramètres de calcul QE avant le pipeline optique. Il utilise une approche template-based : les fichiers d'entrée sont régénérés à chaque itération plutôt que modifiés par regex.
Les 4 phases
Phase 1 — Convergence de l'énergie de coupure
- Balaye
ecutwfcde 30 à 120 Ry (pas de 10) - Critère : variation d'énergie totale < seuil
- Produit :
ecutwfcoptimal pour les phases suivantes
Phase 2 — Convergence des k-points
- Grilles progressives : 4×4×4 → 6×6×6 → … → 12×12×12
- Le
kpoint_predictor.pypeut suggérer une grille initiale adaptée - Critère : convergence de l'énergie ou du gap
Phase 3 — Optimisation de la maille
- Balaye la constante de maille autour de la valeur Materials Project (±5 %)
- Important pour les propriétés diélectriques sensibles à la compression
Phase 4 — Pipeline optique
- SCF optique avec paramètres convergés
- NSCF sur grille k dense
epsilon.x→epsilon_out/<matériau>_epsr.dat- Parsing et export JSON
Sécurités intégrées
| Mécanisme | Description |
|---|---|
Suppression des .out obsolètes | Évite de lire des énergies périmées |
| Safety check ΔE = 0 | Détecte les inputs non mis à jour |
Template QEInputTemplate | Génération fiable des .in sans regex fragiles |
Données de convergence
Les traces sont sauvegardées dans convergence_data/<matériau>_convergence.json et visualisables :
python3 plot_convergence_progressive.py convergence_data/Si_convergence.json