Zitao Ni

Ph.D. in Materials Science and Engineering

Learning Plan Snapshot: Chapter 3 Complete → Chapter 4 Start

Learning Plan Snapshot: Ch 3 Complete → Ch 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

  1. Understand the four-step data flow in SPM step() (current→flux→overpotential→diffusion→voltage)
  2. Master the voltage coupling equation V = U_p + η_p − U_n − η_n
  3. Understand the simulate() loop structure and state management
  4. Run a full discharge simulation and plot the voltage curve
  5. 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
1
2
3
4
5
6
7
8
9
10
11
12
13
14
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

0%