Skip to content

About

Data-driven smartphone battery modeling with coupled SOC-temperature ODEs, parameter calibration, regression diagnostics, and sensitivity analysis.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Latest commit

 

History

1 Commit

Folders and files

Repository files navigation

Smartphone Battery Modeling - COMAP MCM 2026

Overview

This repository is a curated public research showcase for a COMAP MCM 2026 project on smartphone battery behavior. The project combines empirical battery-test data, mathematical modeling, numerical simulation, and statistical diagnostics to study short-term runtime, thermal dynamics, and long-term degradation.

The cleaned repository emphasizes the reproducible modeling workflow rather than the original competition working directory. Raw third-party datasets are intentionally excluded; see data/README.md.

Read the full modeling paper

Research Questions

The final paper and implementation focus on four linked questions:

  • How can smartphone power consumption be represented from standardized light, moderate, and intense usage scenarios?
  • How does state of charge (SOC) evolve under power demand, temperature effects, and calibrated discharge efficiency?
  • Can a coupled SOC-temperature ODE reproduce observed discharge behavior and time-to-empty across operating temperatures?
  • What can and cannot be inferred about long-term battery aging from cross-sectional usage and capacity proxies?

Modeling Pipeline

Empirical battery data -> preprocessing -> scenario power estimation -> SOC-temperature ODE -> parameter calibration -> numerical simulation -> empirical validation -> aging proxy regression -> diagnostic and sensitivity analysis.

Mathematical Model

Scenario-level power is estimated from benchmark autonomy:

$$ P = \frac{E_{nom}}{t_{autonomy}}, \qquad P(t) = P_{light}\gamma(I(t)), \quad I(t) \in {1,2,3}. $$

The implemented fast-time model couples SOC and temperature:

$$ \frac{dSOC}{dt} = -\frac{P(t)}{V_{oc}(SOC,T)Q_{eff}(T)}\frac{1}{\eta_0}, $$

$$ \frac{dT}{dt} = k_{heat}P(t)-k_{cool}(T-T_{amb}). $$

Open-circuit voltage is fit as

$$ V_{oc}(SOC,T)=V_0+v_1SOC+v_2SOC^2+\chi(T-T_{ref}). $$

The paper also formulates a slow-time capacity-fade model driven by charge throughput and thermal stress. In the public code, the aging component is treated as exploratory proxy modeling because direct state-of-health labels are unavailable.

Statistical and Computational Analysis

Verified methods in the curated code include:

  • DXOMARK-derived scenario power estimation and normalized power multipliers.
  • Least-squares fitting of open-circuit voltage parameters.
  • Nonnegative least-squares estimation of thermal coefficients.
  • Grid calibration of effective discharge efficiency eta0.
  • ODE simulation with SciPy solve_ivp.
  • SOC RMSE and time-to-empty validation by temperature scenario.
  • Aging proxy construction from charging frequency, usage intensity, temperature, fast charging, and overnight charging.
  • OLS regression with HC3 robust standard errors.
  • Residual and partial-fit diagnostics.
  • Variance inflation factor (VIF) diagnostics for multicollinearity.

Validation and Results

From the curated derived outputs:

  • The DXOMARK-derived scenario table contains 50 devices. Median power is about 0.199 W for light usage, 0.286 W for moderate usage, and 0.458 W for intense usage.
  • Cross-device median power multipliers are 1.431 for moderate/light and 2.305 for intense/light, matching the values reported in the paper.
  • The coupled SOC-temperature ODE was evaluated on 60 discharge-cycle files across 5, 15, 25, 35, and 45 degree C temperature folders.
  • Aging proxy regressions are intentionally presented as inconclusive: capacity/(age+1) correlation is -0.010, age-controlled residual correlation is 0.003, and the multivariate regression has R2 below 0.001. VIF diagnostics show substantial multicollinearity for several constructed controls.

Selected Figures

DXOMARK scenario power

Scenario-averaged power rises clearly from light to moderate to intense usage.

Time-to-empty validation

Measured and modeled SOC-based time-to-empty are compared across paired temperature scenarios.

SOC RMSE by temperature

SOC fit error is summarized across temperature folders and discharge profiles.

Thermal phone-log diagnostic

An empirical phone-log trace illustrates raw and smoothed temperature behavior used for thermal diagnostics.

Aging proxy residual diagnostic

The aging proxy diagnostic preserves the weak empirical relationship observed in the available cross-sectional data.

Repository Structure

mcm-battery-modeling/
  README.md
  requirements.txt
  src/battery_modeling/       # reusable model and preprocessing code
  analysis/                   # reproducible analysis and plotting scripts
  figures/                    # selected public figures
  results/                    # compact derived summaries
  data/README.md              # external-data policy and expected schemas
  docs/methodology.md         # technical methodology notes
  paper/mcm_battery_modeling.pdf
  paper/README.md

Reproducibility

Install dependencies:

python -m pip install -r requirements.txt

Expected external data locations are documented in data/README.md. Because raw DXOMARK-derived and large discharge-cycle files are not redistributed, the repository is not fully push-button reproducible from a fresh clone. The included derived summaries and selected figures are sufficient to inspect the reported public results.

Example commands after placing external data locally:

python src/battery_modeling/dxomark_power.py --input data/external/dxomark.csv
python src/battery_modeling/phone_logs.py --input data/external/phone_battery/
python src/battery_modeling/soc_temperature_ode.py
python analysis/aging_proxy_regression.py
python analysis/plot_soc_temperature_validation.py

Tools

Python, NumPy, pandas, SciPy, Matplotlib, and statsmodels.

About

Data-driven smartphone battery modeling with coupled SOC-temperature ODEs, parameter calibration, regression diagnostics, and sensitivity analysis.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages