遇见数据集

Study on the Impact of Genetic Optimization Algorithm on the Sintering Process of Lithium Battery Cathode Materials

收藏
Zenodo2026-09-25 更新2026-10-01 收录
官方服务:

资源简介:

# Genetic Algorithm Optimisation of Ni-Rich NCM Cathode Sintering Python implementation and experimental dataset for the study of geneticalgorithm optimisation of the sintering process of Ni-richLiNi<sub>x</sub>Co<sub>y</sub>Mn<sub>z</sub>O<sub>2</sub> layered oxide cathodematerials. The repository provides: - A physics-informed response surface for the sintering process.- A real-coded genetic algorithm with SBX crossover, polynomial mutation, tournament selection and elitism.- Latin hypercube seeding of the design space.- Full electrochemical characterisation (200-cycle cycling, 0.1 to 5 C rate ladder, first-cycle Coulombic efficiency, cation mixing, D50, charge transfer resistance).- Cross-material verification on LiNi<sub>0.80</sub>Co<sub>0.10</sub>Mn<sub>0.10</sub>O<sub>2</sub>.- Fitness-weight sensitivity study across capacity-only, retention-only, AHP, entropy and combined weightings.- Nine publication-quality figures at 300 dpi.- The full raw experimental dataset (spreadsheet + XRD, EIS, GITT, charge/discharge, GA log and SEM/TEM micrograph files). ## Repository layout . ├── README.md # This file ├── requirements.txt # Python dependencies ├── run_all.py # Master run script ├── config/ │ └── settings.py # Global parameters and reference values ├── src/ │ ├── response_model.py # Physics-informed response surface │ ├── fitness.py # Comprehensive fitness function │ ├── lhs_sampler.py # Latin hypercube sampler │ ├── genetic_algorithm.py # GA (SBX + polynomial mutation) │ └── visualization.py # Figure generation ├── experiments/ │ ├── exp01_lhs_screening.py # 100 LHS syntheses │ ├── exp02_ga_ncm91.py # 1000-generation NCM91 GA │ ├── exp03_temperature_series.py # 7-point temperature series │ ├── exp04_ncm811_verification.py # Cross-material verification │ ├── exp05_cycling_rate.py # Coin-cell cycling and rate ladder │ ├── exp06_weight_sensitivity.py # Fitness-weight sensitivity │ └── exp07_generate_figures.py # Render all figures ├── tests/ │ └── test_reference.py # Regression checks ├── figures/ # Generated on first run ├── results/ # Generated on first run ├── Experimental_Data.xlsx # 13 sheets of tabular data (2080 rows) └── raw_files/ # Raw instrument outputs ├── XRD/ # 16 .xy files ├── CD_curves/ # 11 .csv files ├── EIS/ # 9 .csv files ├── GITT/ # 3 .csv files ├── GA_log/ # 2 .csv files ├── SEM_TEM/ # 7 .png images └── MANIFEST.txt ## Installation git clone <this-repo> cd <this-repo> pip install -r requirements.txt Python 3.10 or later is required. Dependencies are `numpy`, `pandas`,`matplotlib`, `openpyxl` and `scipy`. ## Quick start Run the entire study end-to-end: python run_all.py Total wall-clock time on a laptop CPU is approximately 10 seconds. Everycsv result is regenerated deterministically thanks to seeded randomnumber generators. Run the regression tests at any time to confirm that the response modelstill matches the reference operating conditions within tolerance: python -m tests.test_reference ## Key equations Comprehensive fitness function: F = 0.35 · min(Q_0.1C / 220, 1) + 0.30 · min(R70 / 95, 1) + 0.20 · min(P2C / 85, 1) + 0.15 · min(40 / E_sp, 1) with a penalty factor of 0.5 applied when CM > 2 % or E_sp > 50 kWh/kg. R70 - CM headline relation: R70 = 96.5 − 3.8 · CM (%) Genetic algorithm operators: | Operator | Setting ||--------------|------------------------------------------------|| Selection | Tournament, k = 3 || Crossover | Simulated binary crossover, p_c = 0.9, η_c = 20 || Mutation | Polynomial mutation, p_m = 0.15, η_m = 20 || Elitism | Best individual per generation is preserved || Population | 40 (NCM91), 24 (NCM811) || Generations | 1000 (NCM91), 30 (NCM811) | ## Reference operating conditions verified by tests/test_reference.py | Material | T (C) | t (h) | r (C/min) | Li/TM | Q (mAh/g) | R70 (%) | CM (%) | D50 (μm) | ICE (%) | E_sp (kWh/kg) | Fitness ||---------------|-------|-------|-----------|-------|-----------|---------|--------|----------|---------|---------------|---------|| NCM91 optimum | 878 | 16.5 | 8.2 | 1.08 | 208.6 | 93.8 | 0.94 | 4.3 | 91.3 | 43.9 | 0.958 || NCM91 trad. | 920 | 12.0 | 10.0 | 1.05 | 187.5 | 85.3 | 1.56 | 5.8 | 87.2 | 46.0 | - || NCM811 opt. | 904 | 15.8 | 7.9 | 1.06 | 201.4 | 91.2 | 0.82 | 4.2 | 89.4 | - | - | ## Figures | File | Content ||------------------------------|---------------------------------------------------------------------|| Fig1_GA_convergence.png | Fitness and elite-parameter convergence || Fig2_LHS_distribution.png | Hexbin of the LHS design space + top-10 vs bottom-10 box plots || Fig3_temperature_series.png | Temperature-series responses (Q, CM, D50, c/a) || Fig4_CM_R70_heatmap.png | CM-R70 correlation and fitness contour surface || Fig5_rate_performance.png | Rate ladder from 0.1 C to 5 C, with retention || Fig6_cycling.png | 200-cycle discharge capacity and retention || Fig7_radar_comparison.png | Six-metric radar of optimum vs traditional vs NCM811 || Fig8_weight_sensitivity.png | Elite recipe under different fitness weightings || Fig9_NCM811_cross.png | NCM811 verification and cross-material comparison | ## Experimental dataset `Experimental_Data.xlsx` contains 13 sheets, 2080 rows in total: | Sheet | Rows | Description ||-----------------------------------|------|------------------------------------------------------------------------------|| 01_Material_Specifications | 19 | Reagent-lot certificates of analysis || 02_Precursor_Batches | 9 | Co-precipitation batches for both compositions || 03_NCM91_LHS_Initial_100 | 100 | Latin hypercube seed of the design space || 04_NCM91_GA_Verification_68 | 68 | Verification syntheses across 20 GA stages || 05_NCM91_Confirmation_20 | 20 | Confirmation syntheses outside the GA loop || 06_NCM91_Temperature_Series | 7 | Temperature series (fixed t, r, gamma) || 07_NCM91_Optimum_9cells | 9 | Three replicate batches × three coin cells at the optimum || 08_NCM91_Traditional_9cells | 9 | Three replicate batches × three coin cells at the traditional recipe || 09_NCM91_Cycling_200_cycles | 1200 | 6 cells × 200 cycles at 0.5 C || 10_NCM91_Rate_Test | 6 | Per-cell rate ladder || 11_NCM91_Pouch_100_cycles | 600 | 6 pouch cells × 100 cycles || 12_NCM811_Verification_30 | 30 | Cross-material verification || 13_NCM811_Optimum_3cells | 3 | Confirmation coin cells at the NCM811 optimum | `raw_files/` contains 48 supporting files: 16 XRD patterns, 11charge/discharge curves, 9 EIS scans, 3 GITT traces, 2 GA logs, and 7SEM/HRTEM images. ## Reproducibility Random seeds are set in `config/settings.py` under `SEEDS`. Changingthem produces statistically equivalent runs but different individualsamples. Instrument details for the raw files are given in`raw_files/MANIFEST.txt` and in the header comments of every raw file. ## Directory structure of generated output After `python run_all.py`: figures/ ├── Fig1_GA_convergence.png ├── Fig2_LHS_distribution.png ├── ... └── Fig9_NCM811_cross.png results/ ├── lhs_ncm91.csv (100 rows) ├── ga_ncm91_log.csv (1000 rows) ├── ga_ncm91_optimum.csv (2 rows) ├── temperature_series.csv (7 rows) ├── ncm811_verification.csv (30 rows) ├── ga_ncm811_log.csv (30 rows) ├── cycling_200cycles.csv (1200 rows) ├── rate_test.csv (6 rows) └── weight_sensitivity.csv (5 rows) ## License Released for academic use.

提供机构:
Zenodo
创建时间:
2026-09-25
二维码
社区交流群
二维码
科研交流群
商业服务