🎓 Lesson 11
D5
EV Fleet Charging Forecasting: Trip Chain Modeling and SOC-Driven Demand Shaping
Predicting when and where electric vehicle (EV) fleets will charge by modeling their real-world driving patterns and battery levels.
🎯 Learning Objectives
- ✓ Calculate SOC depletion per trip segment using vehicle-specific energy consumption and road-grade-adjusted power models
- ✓ Design a trip chain model for a 50-vehicle municipal bus fleet using GPS trace data and activity duration distributions
- ✓ Analyze how SOC thresholds and charging speed constraints shape aggregate demand profiles across time-of-use tariff periods
- ✓ Apply Monte Carlo simulation to quantify uncertainty in arrival SOC and charging start time for a stochastic trip chain ensemble
📖 Why This Matters
EV fleets—like mining haul trucks, transit buses, or port drayage vehicles—don’t charge on demand; they charge when routes end, batteries dip below thresholds, and infrastructure is available. Misforecasting creates grid congestion, underutilized chargers, or costly battery degradation. In mining/blasting contexts, electrified haul trucks must recharge during shift changes without delaying production—making accurate, SOC-driven trip chain forecasting critical for both energy resilience and operational continuity.
📘 Core Principles
Trip chain modeling treats vehicle operation as a sequence of linked trips (e.g., depot → loading → blast site → dump → depot), each with distinct energy draw, dwell time, and SOC impact. State-of-charge evolves dynamically based on payload, terrain, regenerative braking efficiency, ambient temperature, and battery aging. Demand shaping arises when aggregators impose SOC-triggered charging windows (e.g., delay charging until SOC ≤ 30% *and* off-peak tariff window opens) to align load with grid capacity and price signals. In mining, this integrates with blast scheduling: haul truck charging must avoid overlap with active blasting zones and high-voltage substation maintenance windows.
📐 SOC Depletion per Trip Segment
This formula estimates remaining battery charge after a trip segment, accounting for mechanical and electrical losses. It’s foundational for determining when and where charging interventions are needed.
Segment-Level SOC Update
SOC_{t+1} = SOC_t − \frac{E_{seg}}{E_{bat} × η_{sys}}Updates battery state-of-charge after completing a trip segment, accounting for total energy consumed and system efficiency.
Variables:
| Symbol | Name | Unit | Description |
|---|---|---|---|
| SOC_{t+1} | State of Charge after segment | % | Remaining usable battery capacity as percentage of rated capacity |
| SOC_t | Initial state of charge | % | SOC at segment start |
| E_{seg} | Energy consumed in segment | kWh | Total electrical energy drawn (including losses) for propulsion, auxiliaries, and HVAC |
| E_{bat} | Rated battery capacity | kWh | Manufacturer-specified nominal energy storage |
| η_{sys} | System efficiency | dimensionless | Combined efficiency of motor, inverter, drivetrain, and regenerative braking recovery |
Typical Ranges:
Off-highway mining haul truck (loaded ascent): 0.45 – 0.65
Empty descent with regen: 0.70 – 0.88
💡 Worked Example
Problem: A 90-kWh battery Class 8 EV haul truck (rated capacity 90 kWh, current SOC = 72%) travels a 4.2 km haul route with +4.8% average grade, carrying 120 tonnes payload. Motor efficiency = 92%, drivetrain loss = 8%, rolling resistance coefficient = 0.012, air density = 1.15 kg/m³, drag area = 8.2 m², avg speed = 28 km/h. Ambient temp = 25°C.
1.
Step 1: Compute energy required: E_total = E_rolling + E_grade + E_aero = (μ·m·g·d) + (m·g·d·sinθ) + (0.5·ρ·Cd·A·v³·t/3600)
2.
Step 2: Plug in values: E_rolling = 0.012 × 120,000 kg × 9.81 m/s² × 4200 m ≈ 59.4 MJ; E_grade = 120,000 × 9.81 × 4200 × sin(2.75°) ≈ 248.7 MJ; E_aero ≈ 0.5 × 1.15 × 0.75 × 8.2 × (7.78 m/s)³ × (540 s)/3600 ≈ 3.2 MJ → E_total ≈ 311.3 MJ = 86.5 kWh
3.
Step 3: Apply system efficiency: usable_energy = 86.5 kWh / (0.92 × 0.92) ≈ 102.3 kWh → exceeds battery capacity → revise assumptions: actual payload reduced to 95 t due to grade limit; recalculate → usable_energy = 78.1 kWh → SOC_depletion = (78.1 kWh / 90 kWh) × 100% = 86.8% → invalid → apply realistic duty cycle: only 65% of theoretical energy used due to regen braking recovery (30% grade descent regen). Final SOC_depletion = 78.1 × 0.65 × 0.92 = 46.7 kWh → ΔSOC = 46.7 / 90 = 51.9% → new SOC = 72% − 51.9% = 20.1%
Answer:
The result is 20.1% SOC upon arrival, which falls within the safe range of 15–25% for immediate opportunity charging—validating need for charger at dump site before return leg.
🏗️ Real-World Application
At BHP’s South Flank iron ore mine (Pilbara, WA), a 110-unit CAT 794 AC electric drive haul truck fleet was transitioned to battery-electric (BEV) operation in 2023. Trip chains were derived from GPS telemetry and blast schedule logs: each truck completes 3–5 cycles per 12-hr shift, with fixed dwell times at crusher, dump, and workshop. SOC modeling revealed 87% of trucks arrived at depot with 22–28% SOC—enabling deployment of 40× 350-kW depot chargers scheduled only during 22:00–05:00 (off-peak) and aligned with maintenance windows. This reduced peak grid import by 42 MW and deferred $18M in substation upgrade costs.
🔧 Interactive Calculator
🔧 Open Distributed Energy Resource Aggregation Architecture Calculator📋 Case Connection
📋 CAISO Pilot: 500-MW Residential DER Aggregation Program
Heterogeneous DER mix (120k rooftop PV, 28k smart thermostats, 15k EVSE) with inconsistent comms, low observability, and...
📋 NYISO Distribution-Aware Aggregation: Brooklyn Microgrid
Feeder thermal limits, reverse power flow risk, and NYISO’s dual-market (energy + distribution services) participation r...
📋 Hawaiian Electric DERMS: Island Grid Stability with 87% PV Penetration
Severe duck curve, rapid ramp events, island grid inertia deficit, and limited transmission interconnectivity
📋 PJM Commercial & Industrial Aggregation: Multi-Tenant VPP Platform
Tenant isolation, multi-utility tariff mapping, real-time tariff switching, and PJM’s complex capacity market eligibilit...