PhysSandbox
Classical MechanicsWaves & SoundElectricity & MagnetismOptics & LightGravity & OrbitsLabs
🌙Astronomy & The Sky🌡️Thermodynamics🌍Biophysics, Fluids & Geoscience📐Math Visualization🔧Engineering🧪Chemistry

More from Electricity & Magnetism

Other simulators in this category — or see all 65.

View category →
NewUniversity / research

Skin Depth & Proximity Effect

Launch Simulator

δ = √(2/(ωμσ)), current crowding in round conductors, proximity effect, and estimated AC resistance vs frequency.

NewUniversity / research

Debye Shielding in a Plasma

Launch Simulator

Test charge in an electron plasma: Yukawa potential φ ∝ e^{-r/λ_D}/r, λ_D = √(ε₀k_BT/n_e e²), 2D map and λ_D vs T, n.

NewUniversity / research

Langmuir Plasma Oscillations

Launch Simulator

Collective electron oscillations at ω_p = √(n_e e²/ε₀m_e): animated δn wave, Bohm–Gross dispersion ω(k), and ω_p vs density.

NewUniversity / research

Alfvén Wave on a Magnetic Field Line

Launch Simulator

Transverse MHD Alfvén wave: v_A = B/√(μ₀ρ), animated field-line displacement, standing modes and pulse reflections at fixed boundaries.

NewUniversity / research

Magnetic Reconnection (Sweet–Parker)

Launch Simulator

Toy Sweet–Parker X-point: opposite B-regions, current sheet, inflow v_in ≈ v_A/√S and outflow, Lundquist number S and sheet thickness δ/L.

NewUniversity / research

Parker Spiral Solar Wind

Launch Simulator

Rotating Sun plus radial solar wind: interplanetary B spirals with tan ψ = Ωr/v_sw, animated field lines (top view), ψ(r) and |B| falloff.

PhysSandbox

Interactive physics, chemistry, and engineering simulators for students, teachers, and curious minds.

Physics

  • Classical Mechanics
  • Waves & Sound
  • Electricity & Magnetism

Science

  • Optics & Light
  • Gravity & Orbits
  • Astronomy & The Sky

More

  • Thermodynamics
  • Biophysics, Fluids & Geoscience
  • Math Visualization
  • Engineering
  • Chemistry

© 2026 PhysSandbox. Free interactive science simulators.

PrivacyTermsContact
Home/Electricity & Magnetism/Battery Thevenin (SOC)

Battery Thevenin (SOC)

V_oc(SOC), R_int(SOC), Coulomb-counted SOC vs charge/discharge current; terminal voltage trace.

12 V pack (example)

50 Ah
15 A

Positive I discharges the pack; negative I charges it.

Measured values

SOC65.00%
V_oc(SOC)12.345V
R_int(SOC)23.55mΩ
V_terminal12.100V

Live graphs

About this model

An equivalent-circuit battery model uses open-circuit voltage V_oc(SOC) and internal resistance R_int(SOC) that both depend on state of charge along lookup-style maps. SOC is updated by Coulomb counting from the charge/discharge current, and the terminal voltage follows from the Thevenin relation between V_oc, R_int, and that current. Assumptions: no diffusion RC ladders beyond the simple Thevenin form shown, negligible hysteresis unless included in the maps, and current integration without sensor bias correction. You can vary charge/discharge current and watch SOC evolve while the terminal voltage trace reflects the ohmic drop on top of V_oc(SOC) during load.

Who it's for: Intermediate battery modeling, electric vehicles, and embedded energy-storage courses.

Key terms

  • Thevenin battery model
  • state of charge
  • open-circuit voltage
  • internal resistance
  • Coulomb counting
  • terminal voltage

How it works

First-order Thevenin equivalent with open-circuit voltage and internal resistance both depending on state-of-charge. Coulomb counting updates SOC from the applied current.

Key equations

V = Vₒ꜀(SOC) − I·R(SOC)

dSOC/dt = −I / (Ah·3600 s)

Frequently asked questions

Is terminal voltage the same as V_oc?
No. Under load, V_terminal ≈ V_oc(SOC) − I·R_int(SOC) (sign depending on charge/discharge convention). Measuring resting voltage after a long rest approximates V_oc; reading voltage while drawing current includes the ohmic drop and overestimates or underestimates SOC if you ignore R_int.
What can go wrong with Coulomb counting?
Integrating current drifts when the current sensor has offset or when coulombic efficiency is not one. This simulator illustrates the ideal counted SOC versus current; real packs periodically recalibrate with voltage or other estimators.
Why do V_oc and R_int depend on SOC?
Electrode potentials and available lithium inventory change with SOC, so the unloaded voltage curve is nonlinear. Resistance often rises at low SOC (and with aging/temperature, not fully modeled here). Treating R_int as constant is a common beginner oversimplification.