Skip to main content

Summary

Battery State of Charge (SOC) tracks the energy content of the battery over time. PlantPredict calculates SOC by integrating charge and discharge power flows, accounting for round-trip DC efficiency during charging and maximum capacity constraints. The SOC calculation includes proper time interval scaling in Version 12 for accurate energy accounting.

Inputs

NameSymbolUnitsDescription
Previous SOCSOCprevSOC_{prev}WhState of charge from previous timestep
Charge FlagbooleanTrue if battery is charging
Discharge FlagbooleanTrue if battery is discharging
Available Capacity to ChargePchargeP_{charge}WPower available for charging
Available Capacity to DischargePdischargeP_{discharge}WPower available for discharging
Round-Trip DC EfficiencyηRTE\eta_{RTE}Battery DC round-trip efficiency
Maximum CapacityEmaxE_{max}WhCurrent usable energy capacity
Time IntervalΔt\Delta tminutesWeather data time interval

Outputs

NameSymbolUnitsDescription
State of ChargeSOCSOCWhCurrent battery energy content
Battery DC PowerPDCP_{DC}WDC power flow (positive=charge, negative=discharge)
Battery AC ChargePAC,chargeP_{AC,charge}WAC power into battery
Battery AC DischargePAC,dischargeP_{AC,discharge}WAC power out of battery

Detailed Description

Initial Conditions

At the first timestep, the battery is initialized to full charge: SOC1=Emax,year1SOC_1 = E_{max,year1} ηRTE,1=ηRTE,year1\eta_{RTE,1} = \eta_{RTE,year1}

SOC Calculation

Charging (Version 12): SOC=min(SOCprev+Pcharge×Δt60×ηRTE,Emax)SOC = \min\left( SOC_{prev} + P_{charge} \times \frac{\Delta t}{60} \times \eta_{RTE}, E_{max} \right) Charging (Versions 3-11): SOC=min(SOCprev+Pcharge×ηRTE,Emax)SOC = \min\left( SOC_{prev} + P_{charge} \times \eta_{RTE}, E_{max} \right) Discharging (Version 12): SOC=max(SOCprevPdischarge×Δt60,0)SOC = \max\left( SOC_{prev} - P_{discharge} \times \frac{\Delta t}{60}, 0 \right) Discharging (Versions 3-11): SOC=max(SOCprevPdischarge,0)SOC = \max\left( SOC_{prev} - P_{discharge}, 0 \right) Idle: SOC=SOCprevSOC = SOC_{prev}

Battery DC Power

Charging (SOC increased, Version 12): PDC=(SOCSOCprev)/ηRTEΔt/60P_{DC} = \frac{(SOC - SOC_{prev}) / \eta_{RTE}}{\Delta t / 60} Charging (Versions 3-11): PDC=SOCSOCprevηRTEP_{DC} = \frac{SOC - SOC_{prev}}{\eta_{RTE}} Discharging (SOC decreased, Version 12): PDC=SOCSOCprevΔt/60P_{DC} = \frac{SOC - SOC_{prev}}{\Delta t / 60} Discharging (Versions 3-11): PDC=SOCSOCprevP_{DC} = SOC - SOC_{prev}

Battery AC Power

AC Discharge (when ): PAC,discharge=PDC×ηinvP_{AC,discharge} = -P_{DC} \times \eta_{inv} AC Charge (when ): PAC,charge=PDCηinvP_{AC,charge} = \frac{P_{DC}}{\eta_{inv}}

Efficiency Losses

DC Round-Trip Efficiency Loss (charging only): LRTE=(1ηRTE)×PDCL_{RTE} = (1 - \eta_{RTE}) \times |P_{DC}| Inverter Efficiency Loss: Linv=(1ηinv)×PDCL_{inv} = (1 - \eta_{inv}) \times |P_{DC}|