Learning Plan Snapshot: Chapter 3 Complete → Chapter 4 Start
Snapshot date: 2026-05-26 Completed: Chapter 3 (Butler-Volmer Kinetics) Next: Chapter 4 (Full SPM Implementation & Voltage Coupling) Overall progress: 4/8 weeks completed
1. Overall Learning Roadmap
| Chapter | Topic | Status |
|---|---|---|
| Ch 1 | Electrochemistry Fundamentals & OCV | Complete |
| Ch 2 | Diffusion Equation (Fick's Second Law) | Complete |
| Ch 3 | Butler-Volmer Kinetics | Complete |
| Ch 4 | Full SPM Implementation & Verification | ← Current |
| Ch 5 | SPMe Model | |
| Ch 6 | P2D Model | |
| Ch 7 | Advanced Applications |
2. Chapter 3 Completion Status
2.1 Knowledge Points Review
| # | Knowledge Point | Mastery |
|---|---|---|
| 3.1 | Physical meaning of overpotential (interface energy barrier) | Customs analogy, understand why η is needed |
| 3.2 | Dynamic equilibrium at balance (j₀ measures microscopic activity) | Understand net current=0 ≠ static |
| 3.3 | η sign convention (oxidation/reduction) | Discharge: η_n>0, η_p<0 |
| 3.4 | BV forward equation | j = j₀·[e^(αFη/RT) − e^(−(1−α)Fη/RT)] |
| 3.5 | j₀ dependence (maximum at SOC=50%) | √x·√(1−x) → ∩ shaped curve |
| 3.6 | Effect of k on battery performance | k↑10× → η↓10× |
| 3.7 | arcsinh inversion (α=0.5) | Hand-derived full derivation chain |
| 3.8 | Small-η linear approximation | sinh(x)≈x → η ≈ (RT/F)·j/j₀ |
| 3.9 | Linear region boundary RT/F=25.7mV | <5mV error<0.2%, >50mV unusable |
| 3.10 | α≠0.5 has no analytic solution | Asymmetric → not sinh → cannot arcsinh |
| 3.11 | Newton iteration principle | f(η)=0, tangent approximation, quadratic convergence |
| 3.12 | Independent BV implementation | bv_my.py, 0 nV difference vs model.py |
2.2 Core Formulas
| Formula | Description |
|---|---|
| j = j₀·[e^(αFη/RT) − e^(−(1−α)Fη/RT)] | BV forward |
| j₀ = k·c_e^(1−α)·c_s^α·(c_max−c_s)^(1−α) | Exchange current density |
| η = (2RT/F)·arcsinh(j/2j₀) | arcsinh inversion (α=0.5) |
| η ≈ (RT/F)·(j/j₀) | Linear approximation ( |
| η_new = η_old − f(η)/f'(η) | Newton iteration |
2.3 Code Implementation
| File | Function/Module | Status |
|---|---|---|
bv_my.py |
bv_overpotential() |
Self-written, difference = 0 nV |
visualize_linear_approximation.py |
Linear approximation visualization | |
visualize_newton_bv.py |
Newton iteration visualization | |
visualize_bv_overpotential.py |
BV three-subplot visualization |
2.4 Visualization Outputs
| Figure | Content |
|---|---|
linear_approximation.png |
sinh vs x comparison + j-η exact vs linear + error growth |
newton_bv_iteration.png |
Newton iteration trajectory + correction decay + α asymmetry |
bv_overpotential.png |
η→j (different SOC) + j→η (arcsinh) + j₀ vs SOC |
3. Chapter 4 Key Learning Points Overview
3.1 Learning Objectives
- Understand the four-step data flow in SPM
step()(current→flux→overpotential→diffusion→voltage) - Master the voltage coupling equation V = U_p + η_p − U_n − η_n
- Understand the
simulate()loop structure and state management - Run a full discharge simulation and plot the voltage curve
- Understand the effect of C-rate on discharge curves
3.2 Key Code
| Method | File Location | Role |
|---|---|---|
SPMModel.__init__() |
model.py:287 |
Grid, initial concentration, specific surface area, pre-build matrix |
SPMModel.step() |
model.py:345 |
Single time step: four equations executed sequentially |
SPMModel.simulate() |
model.py:433 |
Loop calls to step() + results recording |
3.3 Differences from Previous Chapters
Chapters 1–3 each independently studied one equation. Chapter 4 is the "glue" — assembling the parts into a machine.
New challenges:
- Multi-parameter interaction: changing current → affects j → affects η → affects diffusion → affects c_s_surf → affects η again
- Temporal coupling: concentration distribution from previous Δt is the initial condition for the next Δt
- Results interpretation: the voltage curve is the product of all four equations working together — need to decompose each contribution
3.4 Recommended Learning Sequence
4.1 Line-by-line walkthrough of step() (30 min)
→ Four-step data flow + variable tracking
↓
4.2 Deep dive into voltage coupling (15 min)
→ V = U + η, sign convention verification
↓
4.3 simulate() loop (15 min)
→ State management + results recording
↓
4.4 Run simulation + visualization (30 min)
→ Discharge curve + voltage decomposition + SOC evolution
↓
4.5 C-rate sensitivity analysis (15 min)
→ Comparison across different currents
4. Session 3 Output Inventory
| File | Purpose |
|---|---|
learning_notes_03_kinetics/session_03_background.md |
Session entry point |
learning_notes_03_kinetics/learning_notes_03_kinetics.md |
Full notes |
learning_notes_03_kinetics/bv_my.py |
Independent BV implementation |
learning_notes_03_kinetics/visualize_linear_approximation.py |
Linear approximation script |
learning_notes_03_kinetics/visualize_newton_bv.py |
Newton iteration script |
learning_notes_03_kinetics/visualize_bv_overpotential.py |
BV three-subplot script |
learning_notes_03_kinetics/linear_approximation.png |
Linear approximation plot |
learning_notes_03_kinetics/newton_bv_iteration.png |
Newton iteration plot |
learning_notes_03_kinetics/bv_overpotential.png |
BV full visualization |
learning_notes_03_kinetics/learning_plan_03-04.md |
This file |
learning-notes-04-spm/session-04-background.md |
Chapter 4 entry point |
Snapshot ends · Next session: Session 4 · Full SPM Implementation & Voltage Coupling