倪子涛 英文版

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

  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
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