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

Related simulators

Continue with similar topics in this category — or all 65 in Electricity & Magnetism.

View category →
FeaturedSchool

Circuit Builder

Launch Simulator

Drag and drop components: battery, resistor, bulb, switch. See current flow.

School

Ohm's Law

Launch Simulator

Adjust voltage and resistance. See current change with interactive V-I graph.

School

Series & Parallel

Launch Simulator

Compare total resistance and current distribution side by side.

NewSchool

RL Circuit

Launch Simulator

Series RL: τ = L/R, i(t) rise & decay, v_L; DC steady i = V/R.

NewSchool

Solar Cell I–V & MPP

Launch Simulator

Single-diode cell: photocurrent vs irradiance, ideality n, temperature; I(V), power P(V), maximum-power point.

NewSchool

Electric Potential

Launch Simulator

2D heatmap V = Σ kq/r. Drag charges, see equipotential colors.

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.