← Back to project catalogue
GP-EE-0OFUKMHElectricalOpen for request

Battery-storage sizing and degradation analyser

A planning simulator for comparing battery energy and power sizes while accounting for dispatch, efficiency, cycling, degradation, replacement, and project cost.

  • Nuxt
  • Vue
  • FastAPI
  • PostgreSQL
  • Python
  • NumPy
  • Pyomo
  • Docker

Project definition

Problem statement

A battery sized only for one day of operation may appear economical while repeated cycling, temperature assumptions, power limits, capacity fade, and replacement costs change the lifecycle result.

The engineering problem is to couple operational dispatch with an explainable degradation model and compare candidate sizes on the same service, reliability, and economic assumptions.

Project objectives

  • Model battery energy, power, efficiency, state of charge, depth of discharge, and operating limits.
  • Simulate dispatch for selected peak reduction, energy shifting, renewable support, or backup objectives.
  • Estimate calendar and cycle degradation under documented empirical assumptions.
  • Compare size candidates using service performance, throughput, replacements, and lifecycle cost.
  • Test sensitivity to prices, profiles, degradation parameters, efficiency, and service requirements.

System design

System modules

01

System configurator

Defines load, generation, tariff, service requirement, battery limits, and financial assumptions.

02

Dispatch simulator

Runs rule-based or optimised charge and discharge while enforcing power, energy, and efficiency limits.

03

Degradation model

Estimates capacity fade from time, state, throughput, depth, and selected temperature assumptions.

04

Sizing engine

Evaluates candidate energy and power combinations and rejects designs that miss service constraints.

05

Lifecycle dashboard

Compares state of health, replacements, costs, reliability, throughput, and sensitivity cases.

Methodology

System workflow

  1. 01
    Select service

    The student chooses a prepared load and generation profile and defines the battery objective.

  2. 02
    Set assumptions

    Battery, ageing, tariff, cost, replacement, and service parameters are documented.

  3. 03
    Simulate candidates

    Each energy and power size runs through the same operational horizon and dispatch strategy.

  4. 04
    Apply degradation

    Capacity and efficiency effects update according to the selected ageing model.

  5. 05
    Compare designs

    Feasible candidates are ranked by lifecycle cost and performance, with sensitivity results.

Demonstration scenario

Three battery sizes serve a prepared commercial load with rooftop solar and peak tariffs. The smallest misses the peak target after degradation, while the largest has unused capacity. The dashboard compares annual dispatch, state of health, replacement timing, and lifecycle cost to identify the documented tradeoff.

Engineering

Technical architecture

Web application
Nuxt and Vue for assumptions, profiles, design grids, state-of-health charts, and comparisons.
Simulation API
FastAPI for profiles, candidate runs, optimisation, degradation, economics, and exports.
Data layer
PostgreSQL for components, assumptions, scenarios, time-series results, candidate metrics, and sensitivity runs.
Battery model
Python and NumPy for power and energy state, efficiency, throughput, rainflow or equivalent cycle accounting, and ageing.
Sizing method
Grid search or Pyomo-based optimisation with explicit feasibility and lifecycle-objective definitions.

Testing

Evaluation

Evaluation measures

  • State-of-charge, power, energy, and service constraint satisfaction
  • Agreement with hand-calculated energy and degradation cases
  • Lifecycle cost, throughput, capacity fade, and replacement count
  • Peak reduction, renewable utilisation, or backup service achieved
  • Sensitivity to cost, efficiency, degradation, temperature, and profile assumptions
  • Simulation time and convergence across candidate grids and horizons

System boundaries

  • The degradation model is an engineering approximation based on selected published or supplied parameters.
  • Results do not replace manufacturer warranty models, cell testing, thermal design, or safety assessment.
  • The simulator does not control or charge a physical battery.
  • Financial results depend on stated tariffs, costs, discount rate, and operating assumptions.

Included

  1. 01Battery, load, generation, and cost configuration interface
  2. 02Dispatch, degradation, lifecycle, and sizing modules
  3. 03Performance, ageing, and economics comparison dashboard
  4. 04Prepared profiles, battery cases, and sensitivity results
  5. 05Complete source code in a private GitHub repository
  6. 06Complete project documentation with synopsis, abstract, methodology, battery-system diagrams, simulation results, screenshots, and conclusion
  7. 07Setup and usage guide

Project record

No buyer information is collected on this page.

Permanent project ID
GP-EE-0OFUKMH
Catalogued
21 Aug 2026
Completed
Pending
Verified
Pending
Demonstration
Added when ready

Handover

After purchase

  1. 01
    Payment is confirmed

    The project is marked unavailable and cannot be purchased again.

  2. 02
    Repository access is granted

    The buyer's submitted GitHub account receives access to the private repository.

  3. 03
    The purchase record is delivered

    The certification sheet is prepared from the reviewed buyer details and sent privately by email.