# Electric Load Center Distribution Manager[LINK]

The electric load center distribution manager (object name: ElectricLoadCenter:Distribution) is used to organize power conversion devices and provides supervisory control over generators and storage. Electric load centers can be thought of as subpanels connected to the facility’s main electric panel. Except for two applications for transformers that are located between the main panel and the utility grid connection, all other devices are associated with a specific load center. The load center connects the “load” to the generators and “supply” power to the main panel serving the rest of the building. A load center can have any number of generators but only one storage, (DC to AC) inverter, (AC to DC) converter or (isolation) transformer. There are two separate operation schemes, one for generators and one for storage. The generator operation scheme controls the on-site generators connected to a particular load center. The storage operation scheme controls charging and discharging of electrical storage. The generator operation is managed before the storage operation. The internal meters used by EnergyPlus for reporting do all of the tracking. For more details on the individual inputs required see the Input Output Reference document.

The electric load center manager sums all of the building and system electric loads and provides operating schemes for the generators. The electric load center objects are operated in the order they are defined in the input data file (IDF), and generators are dispatched sequentially in the order they are specified within the list referenced by each load center object. The electricity produced from photovoltaic arrays and wind turbines is handled somewhat separately and is always run rather than being dispatched by supervisory control. What is not provided by the on-site generation equipment, and electric storage units, is met by (purchasing) off-site electricity. It is possible to prescribe a set of ElectricLoadCenter:Distribution objects with inconsistent or conflicting operating schemes, so users need to be careful.

## Generator Operation Schemes[LINK]

The available generator operating schemes are “Baseload”, “DemandLimit”, “TrackElectrical,” “TrackSchedule,” “TrackMeter,” “FollowThermal” and “FollowThermalLimitElectrical.” These operating schemes affect how loads are dispatched to the generators, in effect telling the generators whether or not to run and requesting power levels.

The **Baseload** scheme operates the generators at their rated (requested) electric power output when the generator is scheduled ON (ref. ElectricLoadCenter:Generators in the Input Output Reference). The Baseload scheme requests all generators scheduled ON (available) to operate, even if the amount of electric power generated exceeds the total facility electric power demand.

The **DemandLimit** scheme limits the amount of purchased electricity from the utility to the amount specified in the input. The Demand Limit scheme tries to have the generators meet all of the demand above the purchased electric limit defined by the user.

The **TrackElectrical** scheme tries to have the generators meet all of the electrical demand for the building.

The **TrackMeter** scheme tries to have the generators meet all the electrical demand from a meter chosen by the user rather than the usual meter for the entire facility. The meter can be a custom meter so that generators are tied to only certain loads in the building.

The **TrackSchedule** scheme tries to have the generators meet all of the electrical demand determined by a user-defined schedule.

The **FollowThermal** and **FollowThermalLimitElectrical** schemes run the generators to meet thermal demand. The thermal demand is determined from the plant modeling and depends on the flow requested by other components on the demand side of the plant loop, the loop temperatures, and the loop temperature setpoint. The electric load center distribution manager converts the thermal load to an electrical load using a nominal ratio of the thermal to electrical power production for each generator. For these schemes, the generator needs to be connected to the supply side of a plant loop and serve components that use hot water on the demand side of the plant loop. The thermal load request is obtained from the plant data structure (structure location in code is PlantLoop%LoopSide%Branch%Comp%MyLoad).The distribution manager converts the thermal load, qthermal, to an electrical load using:

qElect=qthermalThermElectRatio

where,

ThermElectRatio is a nominal, constant, user-defined value for the ratio of thermal production to electrical production for a cogenerator. This ratio is used for supervisory control and dispatch of the electric power request to the generator; however, the cogenerator model may determine that actual performance varies from this nominal value at different times in the simulation when operating conditions differ from those used for the nominal ratio.

For all generator operating schemes except Baseload, a total electric load reduction target (or thermal load converted to electrical equivalent) is established for the load center based on the specific operating scheme. The load center then requests that its generators operate, one-by-one in the order specified in the generator list, until the target is met or exceeded. Generators that are not scheduled as ‘available’ for the simulation time step are not called to operate. The requested power demand to be met by each generator is the **smaller** of the nominal ‘rated’ electric power output (as specified in the ElectricLoadCenter:Generators object) or the remaining total electric load reduction target for the load center. After each electric generator is requested to operate, the *actual* electric power delivered by the generator, which may be greater than or less than the requested amount due to inputs specified in the generator performance model (e.g., Generator:CombustionTurbine, Generator:MicroTurbine, etc.), is used to update the remaining total electric power target for the other generators associated with this load center.

Most of the operating schemes will sequentially load the available electric load centers and generators. EnergyPlus can accept multiple “ElectricLoadCenter:Distribution” objects with different operating schemes. Because of this, there are two levels of reporting, one for the whole building and a second for each load center. The whole-building results are managed with the internal meters for the entire model. The individual load-center results are summed for those generators connected to a particular load center. The total electricity purchased is reported both in power and energy units. This value is positive when the amount of energy is purchased from the utility. This value can be negative when the total electricity produced is greater than the facility electrical needs. The excess will either be available for storage or to sell back to the electric utility company.

The order of input objects (ElectricLoadCenter:Distribution) in the input file is significant and used to structure how generators are dispatched with the first load centers and generators managed before the later ones. Therefore, load centers listed earlier in the file effectively have a higher priority.

## Load Center Buss Types[LINK]

Electric load centers can have one of five different configurations. Load centers can get fairly complicated and include power conditioning and storage. Separate inverter models are used to condition DC power from photovoltaics into AC power for the building and utility. The other generators may have inverters inside the devices but these are already embedded in the generator models. The load center can also supervise electrical storage controls and depend on the buss configuration. The transformer is optional for all buss types but if included in the load center it can be used to model an isolation or voltage matching transformer acting on the load center.

The most basic configuration is selected with the keyword “AlternatingCurrent” for the Electrical Buss Type, shown in Figure 1.

The *AlternatingCurrent* load centers have AC generators with no storage and behave in the following way. All electric demand not met by the sum of the electrical power produced by the available generators will be met by purchased electricity. If a generator is needed in the simulation for a small load and the load is less than the generator’s minimum part load ratio, the generator will operate at the minimum part load ratio and the excess will either reduce demand or the excess energy will be exported back to the electric utility company.

A configuration with AC generators with on-site electrical storage is selected with the keyword “AlternatingCurrentWithStorage” and is shown in Figure 2.

The *AlternatingCurrentWithStorage* load centers attempt to augment the generator electricity production so that the power requests are met. Storage control logic is discussed below under Storage Operation Scheme.

The basic configuration for photovoltaic generators is selected using the “DirectCurrentWithInverter” keyword and is shown in Figure 3.

The *DirectCurrentWithInverter* load centers collect DC power from various generators, usually PV arrays, run the DC power through an inverter and produce AC power. The PV arrays produce DC power based on the availability of sunshine and do not respond to load requests made by the electric load center.

If the PV-based load center is equipped with DC electrical storage that is connected before the inverter, then the buss type should be “DirectCurrentWithInverterDCStorage” and is shown Figure 4.

The *DirectCurrentWithInverterDCStorage* load centers charge or draw DC power to meet the requested electrical load depending on the storage operation scheme.

If the PV-based load center is equipped with AC electrical storage that is connected after the inverter, then the buss type should be “DirectCurrentWithInverterACStorage” and is shown in Figure 5.

The *DirectCurrentWithInverterACStorage* load centers charge or draw AC power to meet the requested electrical load. They can also draw power from the main panel into the load center to charge storage from grid-supplied electric power.

## Electric Load Center Generators[LINK]

The electric load center generators (object name: ElectricLoadCenter:Generators) provide a set of scheduled electric generators for supervisory control over electric power generation. Here is where the user lists what generators and PVs are available at any given time. For more details on the individual inputs required see the EnergyPlus Input Output Reference.

EnergyPlus includes three models for converting Direct Current (DC) electrical power into Alternating Current (AC) electrical power. The DC power into the inverter, PDC−in, is converted to AC power out, PAC−out, of the inverter using:

PAC−out=PDC−in⋅εinverter

The inverter efficiency is determined using one of the three models. For the “Simple” inveter model, efficiency is constant and input by the user. For the “Look Up Table” model, the efficiency is calculated using linear interpolation. For the “Function of Power” model, the efficiency is calculating using a single-variable curve object. For both the Look Up Table and Function of Power models, the power production is normalized by PDC−in.

The conversion power losses are calculated from the difference between PDC,in and PAC,out and are metered as negative values on PowerConversion:ElectricityProduced. The thermal losses include the conversion power losses plus any ancillary power consumed during standby. The ancillary electric power consumption occurs when the inverter is scheduled to be available but it is not conditioning any power flows at the time.

EnergyPlus includes a model for converting Alternating Current (AC) electric power into Direct Current (DC) electric power. This device is used to charge DC electric storage devices with AC drawn from the main panel. Although the physical device may be a two-way inverter, the modeling is separated so that the converter appears on its own in the modeling. The AC power into the converter, PAC,in, is converted to DC power out, PDC,out, of the converter using:

PDC,out=PAC,in⋅εconverter

The converter efficiency is determined using one of two method. For the “SimpleFixed” method the efficiency is constant and input by the user. For the “FunctionOfPower” method the user defined performance curve or lookup table is evaluated using the normalized power into the converter.

The conversion power losses are calculated from the difference between PAC,in and PDC,out and are metered as negative values on PowerConversion:ElectricityProduced. The thermal losses include the conversion power losses plus any ancillary power consumed during standby. The ancillary electric power consumption occurs when the converter is scheduled to be available but it is not conditioning any power flows at the time.

## Storage Operation Schemes[LINK]

The available storage operation schemes are “TrackFacilityElectricDemandStoreExcessOnSite”, “TrackMeterDemandStoreExcessOnSite”, “TrackChargeDischargeSchedules”, and “FacilityDemandLeveling”.

Figure 6 shows the control volume and electrical power flows that are used to model all of the storage operation schemes. Conservation of energy is used to formulate the calculations based on this control volume and the five terms shown in the diagram. This control volume is inside a given load center.

Pgen: This is the sum of electric power produced by the generators on the load center entering the control volume. The generator operation is run before the storage operation so that this value is current at the time the storage operation control is evaluated

Pfeed: This is the flow of electric power out of the control volume feeding toward the main panel. This is power being supplied by the generators and storage and serving the building loads or perhaps being exported. This power level might be reduced by power conversion losses before it reaches the main panel. The method used to determine Pfeed depends on the operation scheme.

Pdraw: This is the flow of electric power into the control volume drawing from the main panel. This is power being drawn in order to charge storage as desired by the storage operation scheme. This power level might be increased by power conversion losses once it is drawn from the main panel.

Pcharge: This is the flow of electric power into the storage device from the control volume. This is power being supplied by the generators and/or drawn from the main panel and then directed into storage to charge the device.

Pdischarge: This is the flow of electric power out of the storage device into the control volume. This power is being pulled from storage and added to the power from generators to feed toward the main panel.

The *TrackFacilityElectricDemandStoreExcessOnSite* method tries to run the storage to follow the facility electric demand while storing any excess on-site power production that is above what is needed to run the facility. This is mainly appropriate for island operation. This is the intended legacy behavior before version 8.5. This scheme does not draw from the main panel to charge, so we have Pdraw=0.0. The value for Pfeed is determined from the whole-facility total electric power demand. (When there is more than one load center in the model, it is actually the portion of the total that remains after previous load centers have been simulated.) This requested feed in rate is adjusted to be increased by any power conversion losses that may occur in an inverter or a transformer. This adjusted feed in request is used for Pfeed.

If Pgen>Pfeed, then we have charging:

Pcharge=Pgen−PfeedPdischarge=0.0

If Pgen<Pfeed, then we have discharging:

Pdischarge=Pfeed−PgenPcharge=0.0

The *TrackMeterDemandStoreExcessOnSite* method is very similar to the TrackFacilityElectricDemandStoreExcessOnSite method except that instead of using the whole-facility total electric demand, the value for Pfeed is determined from a user-specified meter. The same charge and discharge logic is used.

The *TrackChargeDischargeSchedules* method tries to run the storage to follow user-defined schedules and design power levels for charging and discharging. The user inputs a design charge rate Pcharge,design, a charge modification schedule fsched,charge, a design discharge rate Pdischarge,design, and a discharge modification schedule fsched,discharge. The scheduled power flows will be used to determine charging and discharging as long as other limits on rates or state of charge are not triggered. The schedules should be arranged to only charge or only discharge at a given time.

If charging, we have:

Pcharge=Pcharge,design∗fsched,chargePdischarge=0.0

If Pgen>Pcharge, then we have excess to feed toward main panel:

Pfeed=Pgen−PchargePdraw=0.0

If Pgen<Pcharge, the we have a shortfall and we draw from main panel:

Pdraw=Pcharge−PgenPfeed=0.0

If discharging, we have:

Pdischarge=Pdischarge,design∗fsched,dischargePcharge=0.0Pfeed=Pdischarge+PgenPdraw=0.0

The *FacilityDemandLeveling* method tries to run the storage to follow a user-defined schedule for the net purchased power, Pnet,purch. This is similar to demand limit operation but instead of just attempting to cap the facility demand, it will also manipulate storage to increase utility grid supply electric to meet the target for net purchased power. The user inputs a design demand target for net purchase power rate, Pnet,purch,design, and a demand level modification schedule fsched,dmd,target.

Pnet,purch,target=Pnet,purch,design∗fsched,dmd,target

This target is compared to an adjusted feed in request, Pfeed,request, from the (remaining, adjusted) whole-facility total electric power demand.

Pfeed=Pfeed,request−Pnet,purch,target

If Pfeed>0.0, then we have a situation where the facility needs more power that the target demand. We therefore feed that power toward the main panel, but it is not necessarily the full power request that could be served. If Pgen<Pfeed, then we still have some power supply to make up by discharging:

Pdischarge=Pfeed−PgenPcharge=0.0

Or if Pgen>Pfeed, then we have excess power we can use for charging.

Pcharge=Pgen−PfeedPdischarge=0.0

However, if Pfeed<0.0, then the facility needs less power than the target demand. We therefore draw power from the main panel to increase power purchased to meet target demand level.

Pdraw=abs(Pfeed)Pfeed=0.0Pcharge=Pdraw+Pgen

## Electrical Storage - Simple Energy Balance Model[LINK]

EnergyPlus includes two models for storing electrical energy: a simple model that is not intended to represent any specific type of storage technology and a battery model that represents the kinetic battery model originally developed by Manwell and McGowan which discussed in the next section.

The simple model treats the battery as a black box, counting energy added and removed, with losses due to charge/discharge inefficiencies. The model is a reasonable starting point for simulation of Li-ion and other battery technologies without significant rate limitations. The simple model might be called constrained bucket with energy losses. The bucket holds a quantity of Joules of electrical energy, referred to as the state of charge. There are losses and limits to storing and drawing power but otherwise the bucket just holds electricity. The user sets constraints on the rates of charging, Pstor−charge−max, and drawing, Pstor−draw−max. The user defines efficiency values for charging, εcharge, and drawing, εdraw.

The user defines an initial state of charge and a maximum state of charge. The storage operation scheme makes supervisory control decisions and determines a value for the charging power, Pstor−charge, or the discharging power, Pstor−draw and passes in control limits for the minimum and maximum state of charge fraction. The maximum state of charge is the physical capacity of the storage device, however the storage control applies a separate layer of minimum and maximum state of charge used to model controller behavior designed to protect the battery from abuse.

The control requests are constrained by the device’s physical limits for how fast it can be charged or discharged, Pstor−charge−max and Pstor−draw−max are applied.

If charging, the new state of charge, Qt+Δtstor , is determined using:

Qt+Δtstor=Qtstor+Pstor−charge⋅εcharge⋅Δt

If drawing, the new state of charge is:

Qt+Δtstor=Qtstor−Pstor−draw⋅Δtεdraw

where Δt is the length of the system time step in seconds.

The storage device has an availability schedule. If it is not available then no power can be drawn or stored. The state of charge minimum and maximum that are passed into the storage model are used to decide if the device can be further charged or discharged. The separate control limits allow modeling battery preservation strategies where the full capacity of the storage device is not really used.

The gross electric power drawn and stored includes losses in the form of heat. These thermal losses are calculated from the user-specified efficiencies for charging and drawing and gross electric power stored and drawn. The thermal (heat) losses are included in a zone heat balance if the user specifies a thermal zone. A user-defined radiative split is used to divide thermal losses into radiation and convection portions. If no zone is specified, then the thermal losses are simply disregarded (e.g., rejected to outdoors and do not impact the zone air heat balance).

## Electrical Storage – Kinetic Battery Model with Cycle Life Estimation[LINK]

The Kinetic Battery Model (KiBaM) (object: ElectricLoadCenter:Storage:Battery) was originally developed by Manwell and McGowan (1993) for use in time series performance models of hybrid energy systems. The model is called kinetic because it is based on a chemical kinetics process to simulate the battery charging and discharging behavior. The model, with different improvements and modifications, has been incorporated into the software Hybrid2 and HOMER as the electrical storage module of hybrid and distributed power systems. In 2005, KiBaM was implemented as a stand-alone application in support of the European Union Benchmarking research project (Bindner et al. 2005). The model is intended to represent technologies such as Pb-acid that encounter significant rate or kinetic limitations.

The Kinetic Battery Model assumes that the battery charge is distributed over two tanks: an available-charge tank and a bound-charge tank. The tank for available charges can supply electrons directly to the load, whereas the tank for chemically bound charges can only supply electrons to the available-charge tank. At any time, the total charge q in the battery is the sum of the available charge (q1) and bound charge (q2). That is:

q=q1+q2

Based on the governing equations on the change of charge in both tanks (Manwell and McGowan 1993), the battery capacity can be related to a constant charge/discharge current (I ) as the following equation:

qmax(I)=qmaxk⋅c⋅t1−e−kt+c(kt−1+e−kt)

where:

qmax(I) is the maximum capacity (Ah) at charge or discharge current I

qmax is the maximum capacity (Ah) at infinitesimal current

t is the charge or discharge time (hr), defined by t=qmax(I)I

k is a constant coefficient (hr−1)

c is the parameter indicating the ratio of available charge capacity to total capacity.

Assuming that a constant current is used in any time step for charging and discharging, the available charge (q1) and bound charge (q2) at any time step are given by:

q1=q1,0e−kΔt+(q0kc−I)(1−e−kΔt)k−Ic(kΔt−1+e−kΔt)k

q2=q2,0e−kΔt+q0(1−c)(1−e−kΔt)−I(1−c)(kΔt−1+e−kΔt)k

where:

q1,0 is the available charge at the beginning of time step (Ah)

q2,0 is the bound charge at the beginning of time step (Ah)

q0 is the total charge at the beginning of time step (Ah) or q0=q1,0+q2,0

Δt is the length of time step (hr).

KiBaM views the battery as a voltage source in series with an electric resistance (Figure 7). The internal resistance is assumed to be constant and the open circuit voltage varies with current and state of charge.

The battery’s open circuit voltage is modeled in the same form for charging and discharging, but with different coefficients. The open circuit voltage in charging (Ec) and in discharging (Ed) can be respectively expressed as:

Ec=E0,d+AcXc+CcXcDc−Xc

Ed=E0,c+AdXd+CdXdDd−Xd

where:

E0,c is the open circuit voltage for a fully charged battery

E0,d is the open circuit voltage for a fully discharged battery

Ac, Cc, Dc are the constant parameters for charging

Ad, Cd, Dd are the constant parameters for discharging

Xc, Xd is the normalized maximum capacity at a given charging or discharging current, calculated as:

X={q0/qmax(I) (charging)(qmax−q0)/qmax(I) (discharging)

It needs to be noted that the performance curve (Curve:RectangularHyperbola2) used in the model input covers the 2nd and the 3rd item of the open circuit voltage equation. Due to the reformatting of performance curve, the voltage function regression coefficients can map to the curve coefficients as follows: C1=−C; C2=−D; C3=A.

With open circuit voltage, the battery terminal voltage (V) can be calculated as:

V=E−IR

where R is the battery internal resistance in Ohms; the current is positive for discharging and negative for charging.

Given desired power in/out of the battery, the desired charge or discharge current can be calculated from the basic power equation: P=VI. In this calculation, iteration is needed to ensure the electric current has converged and the battery operation satisfies all specified technical constraints such as maximum discharge current and charge rate limit.

KiBaM assumes that battery life is a primary function of charge/discharge cycles. One cycle is defined as the process of starting from a certain state of charge (SOC), the battery is discharged to a lower SOC and then recharged back to the starting SOC. It is regarded that the magnitude of cycle plays more important than the average of SOC during the cycle. This means that in terms of the impact on battery life, the cycle from 90% to 70% and then recharge back to 90% of SOC is equivalent to another cycle from 50% to 30% and then recharge back to 50% of SOC. Battery life in terms of the number of cycles is predicted as a function of the cycle range measured by the fractional depth of discharge. A double exponential equation is used to capture the damage to batteries due to cycling. The equation takes the following form where the coefficients need to be derived from battery test data via curve fitting.

CF=C1+C2eC3R+C4eC5R

where:

CF is the cycles to failure

C1 -C5 are the regression coefficients

R is the cycle range in terms of fractional SOC.

Following Hybrid2, the rainflow counting method (Downing and Socie 1982) is used to count battery cycles within a state of charge time series. Based on the number of cycles for each fractional SOC range, the battery damage is estimated as:

D=∑i=1(Ni1CF,i)

where:

D is the fractional battery damage. For example, a value of 0.5 at the end of simulation means that half of the battery life is used up after the length of the simulation period.

CF,iis the number of cycles to failure for the i-th cycle range

Ni is the total number of cycles over the simulation with the i-th cycle range

It needs to be noted that the temperature effects on battery performance and battery self-discharge are not supported in the current model.

Bindner H., Cronin T., Lundsager P., Manwell J.F., Abdulwahid U., and Baring-Gould I. 2005. Lifetime Modeling of Lead Acid Batteries. Riso National Laboratory, Roskilde, Denmark.

Downing S. D. and Socie D. F. 1982. Simple rainflow counting algorithms, International Journal of Fatigue, 1982.

Manwell J. F. and McGowan J. G. 1993. A lead acid battery storage model for hybrid energy systems, Solar Energy 50(5): 399- 405.

## Electrical Storage – Lithium-Ion NMC Model with Capacity Degradation Estimation[LINK]

The Lithium-Ion NMC Model (object: ElectricLoadCenter:Storage:LithiumIonNMC) comprises a performance model and a capacity degradation model. The performance model captures the dynamics of the voltage, charging and discharging power of the battery, and battery temperature, and the capacity degradation model estimates the loss in maximum available capacity with calendar age, and use. The performance and capacity degradation models are imported from the shared library of the System Advisory Model (SAM). The models are intended to represent Lithium-ion batteries with NMC chemistry. A detailed description of the performance model can be obtained from (DiOrio, 2015), and the capacity degradation model from (Smith 2017). A brief description of the performance, and capacity degradation models are provided below.

### Voltage Model[LINK]

The SAM model strikes a balance between complexity and the computational requirements that would enable real-time control. The battery terminal voltage V is expressed as a function of the open circuit voltage Vo, the internal resistance Rint, the current I, the state of charge, and the battery capacity (qmax) as shown in the equation below.

V=Vo−I⋅Rint−K(qmaxqmax−∫I⋅dt)+a⋅e(−B⋅I⋅dt)

The expression ∫Idt is the amount of capacity removed and can be calculated from the following equation.

∫Idt=qmax−q The parameters Vo, K,a, and B are dependent on battery chemistry and can be obtained from the manufacturer’s voltage vs charge-removed curves. Default values are included in the Lithium-Ion NMC model with the parameter values obtained from (Tremblay 2007). The voltage model does not incorporate temperature effects, but the impact of temperature is indirectly implemented through battery capacity which is coupled with the thermal model.

### Thermal Model[LINK]

The thermal effects of the battery are important to model since they impact both the instantaneous available capacity, and also the rate of lifetime capacity degradation. An energy balance equation is used to model the battery temperature. The heat transfer between the battery and the room is depends on the temperature difference between them Troom−Tbatt. In addition to the heat transfer between the room and battery, the battery generates its own heat due to internal resistance. The differential equation used to model the battery temperature is shown below.

f(Tbatt)=dTbattdt=hA(Troom−Tbatt)+I2RmCp

The SAM model uses the trapezoidal method to numerically step the temperature forward in time as described in the equation below.

Tbatt,n+1=Tbatt,n+1=Δt2[f(Tbatt,n+1+f(Tbatt,n)] The model outputs the bulk average temperature of the battery which is used in the computation of the maximum available capacity and lifetime capacity degradation.

### Capacity Model[LINK]

The lithium ion capacity model updates the charge of the battery depending on the charging and discharging current. A positive value indicates charging and negative value of current indicates discharging. The updated capacity at each time-step is computed using the following equation. q=q−IΔt

The battery is only allowed to charge and discharge to the user defined maximum and minimum state of charge. Capacity relates to the battery energy through voltage as shown below.

E=qV

The power is related to battery energy and voltage as follows.

P=IV=ΔEΔt=VΔqΔt

### Capacity degradation[LINK]

The model developed by Smith et.al in (Smith 2017) for the LithiumIon NMC battery is used to estimate capacity degradation. The charge capacity degradation is modeled by taking into consideration two mechanisms: 1) the loss of cyclable Lithium due to formation of solid electrolyte interface (SEI) represented by (QLimax), and 2) the mechanical damage of the negative electrode due to the charge/discharge cycles (Qnegmax). The battery capacity degradation due to each of the mechanisms is briefly described below.

The primary factor driving the formation of SEI is the calendar time t, but formation is accelerated by factors such as state of charge at which the battery is stored, the depth of discharge during cycling and the number of charge and discharge cycles. The battery charge capacity (qLimax) and its degradation due to the formation of SEI is shown in Equation [Equation: Q_li].

QLimax=d0[b0−b1t1/2−b2N−b3(1−exp(−tτb3))]

where t is the calendar time in days, N is the total number of charge/discharge cycles over the battery’s lifetime, and τb3 is an experimentally determined constant. Battery temperature affects the available maximum capacity at the current time instant as well as the rate of charge degradation. The parameter d0 captures the effect of the former as shown in Equation [Equation: d0_computation].

Equation [Equation: d0_computation]. d0=d0,ref⋅exp[Ea,d0,1Rug(1Tbat−1Tref)−(Ea,d0,2Rug)2(1Tbat−1Tref)2]

The other parameters b1,b2, and b3 model the capacity degradation and are functions of battery temperature, state of charge, open circuit voltage, negative electrode voltage, and maximum depth of discharge. For example, the equation used to compute the parameter b1 is in Equation [Equation: b1_computation]. b1=b1,ref⋅exp(−Eab1Rug⋅(1Tbatt−1Tref))⋅exp(−αab1⋅FRug⋅(UnegTbatt−UrefTref))⋅exp(γ⋅(DoDmax)βb1)

b2=b2,ref⋅exp(−Eab2Rug⋅(1Tbatt−1Tref))

b3=b3,ref⋅exp(−Eab3Rug⋅(1Tbatt−1Tref))⋅exp(−αab3⋅FRug⋅(VocTbatt−VrefTref))⋅exp(1+θ⋅(DoDmax))

During the second half of the battery life cycle degradation is dominated by the charge discharge cycles. The battery capacity during this period is expressed as shown below. Qnegmax=√(c20−2c2c0N) As in the case with the calendar life degradation, the parameters c0 and c2 were determined experimentally.

The description of the model parameters, and constants can be found in (Smith, 2017), and the corresponding values can be found in (Mishra, 2020).

N. DiOrio et al. Technoeconomic modeling of battery energy storage in SAM. Tech. rep. National Renewable Energy Lab. (NREL), Golden, CO (United States), 2015.

K. Smith et al. “Life prediction model for grid-connected Li-ion batteryenergy storage system”. In: 2017 American Control Conference (ACC). IEEE. 2017, pp. 4062–4068.

O. Tremblay, L.-A. Dessaint, and A.-I. Dekkiche. “A generic battery modelfor the dynamic simulation of hybrid electric vehicles”. In: 2007 IEEE Vehicle Power and Propulsion Conference. Ieee. 2007, pp. 284–289.

P. P. Mishra et al. “Analysis of degradation in residential battery energystorage systems for rate-based use-cases”. In: Applied Energy 264 (2020), p. 114632.

Transformers (object name: ElectricLoadCenter:Transformer) are an integral part of the electric distribution system. They have two broad applications closely related to building energy simulation. First, transformers are used to lower the voltage of electricity from utility primary circuits to customer secondary circuits, and in this case they are called distribution transformers. Second, transformers are used to output the surplus power from onsite generators to the electricity grid.

Distribution transformers reduce the voltage on utility distribution lines (34.5 kV or less) to a lower secondary voltage (600 V or less) suitable for customer equipment. Distribution transformers are usually categorized according to the medium used for cooling and insulation (liquid or air), the voltage class that they serve (low or medium), and the number of phases (single phase or three phase).

Liquid-immersed transformers rely on oil or other fire resistant liquid around the coils for cooling. In contrast, dry type transformers rely only on the natural convection of air for insulation and cooling. Medium-voltage transformers step from utility line voltage down to a lower secondary voltage, depending on the application. The secondary voltage from a medium-voltage transformer is usually at 277 V for single phase and 480 V for three phase. This secondary voltage can be directly used as 480 V three-phase power for large motors or as 277 V single-phase power for some fluorescent lighting. However, for most industrial and commercial facilities, low-voltage transformers are needed to reduce the above voltages further to 208/120 V. Common 120 V loads are wall plugs and incandescent lighting.

Most liquid-immersed transformers are owned by utilities and they are of the medium-voltage type. Virtually all dry type transformers are owned by commercial and industrial customers (Barnes et al. 1996). Of the dry type transformers, those of the medium-voltage type are generally special-order items while those of the low-voltage type are commodity items. The efficiency requirement of distribution transformers is covered by the NEMA (National Electrical Manufactures Association) Standard TP 1. ASHRAE 90.1-2010 will cite the NEMA Standard TP 1 to stipulate the efficiency requirement for the low-voltage dry type distribution transformers.

There are two main types of energy losses in transformers: no load loss and load loss. The no load loss comes primarily from the switching of the magnetic fields in the core material. Hence, it is also called the core loss. The no load (core) loss is roughly constant and exists continuously in the core material as long as the transformer is energized. The load loss comes from the electrical resistance in the windings when there is a load on the transformer. Hence, the load loss is also called the winding loss. The load (winding) loss is proportional to the load squared with a small temperature correction.

Given the no load loss (NL) and the load loss (LL) at rated load and conditions, the total energy losses in a transformer at time t is calculated as:

TL(t)=NL+LL(t)=NL+LL∗P(t)2∗fT(t)

where:

TL(t) is the total energy loss at time t (W)

LL(t) is the load loss at time t (W)

P(t) is the per unit load at time t

fT(t) is the temperature correction factor for the load loss at time t.

The per unit load at time t is calculated as:

P(t)=Load(t)SB

where:

Load(t) is the transformer load at time t (W)

SB is the transformer nameplate rating (VA).

The temperature correction factor at time t is calculated as (NEMA 2002):

fT(t)=Ldc∗R(t)Rref+Leddy∗RrefR(t)

where:

Ldc is the per unit load loss due to electrical resistance

Leddy is the per unit load loss due to eddy currents

R(t) is the winding electrical resistance at time t

Rref is the winding electrical resistance at the full load reference conditions.

The ratio of winding electrical resistance is calculated as:

R(t)Rref=F+Twinding(t)+Tamb(t)F+Twinding,ref+Tamb,ref

where:

F is the thermal coefficient of resistance for the winding material ( = 225 for aluminum and 234.5 for copper)

Twinding,ref is the winding temperature rise at the full load reference conditions (∘C)

Twinding(t) is the winding temperature rise at time t (∘C)

Tamb,ref is the ambient temperature at the reference condition ( = 20∘C)

Tamb(t) is the ambient temperature at time t (∘C)

The Ambient temperature Tamb(t) is equal to the zone temperature if a thermal zone is specified in the input; otherwise, it is assumed equal to 20∘C. The winding temperature rise at time t is calculated as (Barnes et al. 1997):

Twinding(t)=P(t)1.6∗Twinding.ref

Based on the derived total energy losses in a transformer, the transformer efficiency at time t can be calculated according to the following equation:

η(t)=Load(t)Load(t)+NL+LL(t)

The above procedure describes how to calculate the total transformer energy losses based on the no load loss and load loss at rated conditions. The transformer model also supports the case when the nominal transformer efficiency is given. In this case, the user needs to provide the nameplate efficiency and the corresponding per unit load, the maximum efficiency and the corresponding per unit load, and the reference conductor temperature at which the nameplate efficiency is measured. Given these information, both no load loss and load loss at rated conditions can be derived as below.

The nameplate efficiency can be expressed as:

ηnp=SB∗PnpSB∗Pnp+NL+LL∗P2np∗fT,np

where:

ηnp is the nameplate efficiency

SB is the nameplate rating (VA)

Pnp is the per unit load at which the nameplate efficiency is measured

fT,np is the applied temperature correction factor for the nameplate efficiency.

Maximum efficiency generally occurs when the load loss is equal to the no-load loss. Because the no-load loss does not vary with the load on the transformer, the following relationship can be established:

NL=LLmax,η=LL∗P2max,η∗fT,max−η

where:

Pmax,η is the per unit load at which the maximum efficiency is obtained

fT,max−η is the applied temperature correction factor for the maximum efficiency.

Transformers typically have close per unit loads for the nameplate efficiency and the maximum efficiency. Therefore, it is reasonable to assume that the applied temperature correction factors are equal at those two efficiencies. This implies that:

LLnpLLmax,η=LL∗Pnp2∗fT,npLL∗Pmax,η2∗fT,max−η=(PnpPmax,η)2

Rearranging Equation [eq:ElecLoadLLnpOverLLmaxeta865] and combining it with Equation [eq:ElecLoadNL864] leads to:

LLnp=LLmax,η∗(PnpPmax,η)2=NL∗(PnpPmax,η)2

Combining Equations [eq:ElecLoadetanp863] and [eq:ElecLoadLLnp866], we can obtain the no load loss as:

NL=SB∗Pnp∗(1−ηnp)ηnp∗[1+(PrefPmax,η)2]

Substitute NL into Equation [eq:ElecLoadNL864], we can calculate the load loss at rated conditions as:

LL=NLfT,max−η∗P2max,η=NLfT,np∗P2max,η

Since both no load and load losses at rated conditions are known, the total energy losses in a transformer at time t can then be calculated according to Equation [eq:TotalEnergyLossesInTransformers].

Barnes, PR., JW. Van Dyke, BW. McConnell, and S. Das. 1996. Determination Analysis of Energy Conservation Standards for Distribution Transformer, ORNL-6847. Oak Ridge National Laboratory, Oak Ridge, TN.

Barnes, PR., S. Das, BW. McConnell, and JW. Van Dyke. 1997. Supplement to the “Determination Analysis” (ORNL-6847) and Analysis of the NEMA Efficiency Standard for Distribution Transformer, ORNL-6925. Oak Ridge National Laboratory, Oak Ridge, TN.

NEMA. 2002. NEMA Standards Publication TP 1-2002: Guide for Determining Energy Efficiency for Distribution Transformers. National Electrical Manufactures Association, Rosslyn, VA.

## Electric Load Center Distribution Manager[LINK]

## Overview[LINK]

The electric load center distribution manager (object name: ElectricLoadCenter:Distribution) is used to organize power conversion devices and provides supervisory control over generators and storage. Electric load centers can be thought of as subpanels connected to the facility’s main electric panel. Except for two applications for transformers that are located between the main panel and the utility grid connection, all other devices are associated with a specific load center. The load center connects the “load” to the generators and “supply” power to the main panel serving the rest of the building. A load center can have any number of generators but only one storage, (DC to AC) inverter, (AC to DC) converter or (isolation) transformer. There are two separate operation schemes, one for generators and one for storage. The generator operation scheme controls the on-site generators connected to a particular load center. The storage operation scheme controls charging and discharging of electrical storage. The generator operation is managed before the storage operation. The internal meters used by EnergyPlus for reporting do all of the tracking. For more details on the individual inputs required see the Input Output Reference document.

The electric load center manager sums all of the building and system electric loads and provides operating schemes for the generators. The electric load center objects are operated in the order they are defined in the input data file (IDF), and generators are dispatched sequentially in the order they are specified within the list referenced by each load center object. The electricity produced from photovoltaic arrays and wind turbines is handled somewhat separately and is always run rather than being dispatched by supervisory control. What is not provided by the on-site generation equipment, and electric storage units, is met by (purchasing) off-site electricity. It is possible to prescribe a set of ElectricLoadCenter:Distribution objects with inconsistent or conflicting operating schemes, so users need to be careful.

## Generator Operation Schemes[LINK]

The available generator operating schemes are “Baseload”, “DemandLimit”, “TrackElectrical,” “TrackSchedule,” “TrackMeter,” “FollowThermal” and “FollowThermalLimitElectrical.” These operating schemes affect how loads are dispatched to the generators, in effect telling the generators whether or not to run and requesting power levels.

The

Baseloadscheme operates the generators at their rated (requested) electric power output when the generator is scheduled ON (ref. ElectricLoadCenter:Generators in the Input Output Reference). The Baseload scheme requests all generators scheduled ON (available) to operate, even if the amount of electric power generated exceeds the total facility electric power demand.The

DemandLimitscheme limits the amount of purchased electricity from the utility to the amount specified in the input. The Demand Limit scheme tries to have the generators meet all of the demand above the purchased electric limit defined by the user.The

TrackElectricalscheme tries to have the generators meet all of the electrical demand for the building.The

TrackMeterscheme tries to have the generators meet all the electrical demand from a meter chosen by the user rather than the usual meter for the entire facility. The meter can be a custom meter so that generators are tied to only certain loads in the building.The

TrackSchedulescheme tries to have the generators meet all of the electrical demand determined by a user-defined schedule.The

FollowThermalandFollowThermalLimitElectricalschemes run the generators to meet thermal demand. The thermal demand is determined from the plant modeling and depends on the flow requested by other components on the demand side of the plant loop, the loop temperatures, and the loop temperature setpoint. The electric load center distribution manager converts the thermal load to an electrical load using a nominal ratio of the thermal to electrical power production for each generator. For these schemes, the generator needs to be connected to the supply side of a plant loop and serve components that use hot water on the demand side of the plant loop. The thermal load request is obtained from the plant data structure (structure location in code is PlantLoop%LoopSide%Branch%Comp%MyLoad).The distribution manager converts the thermal load, qthermal, to an electrical load using:qElect=qthermalThermElectRatio

where,

ThermElectRatio is a nominal, constant, user-defined value for the ratio of thermal production to electrical production for a cogenerator. This ratio is used for supervisory control and dispatch of the electric power request to the generator; however, the cogenerator model may determine that actual performance varies from this nominal value at different times in the simulation when operating conditions differ from those used for the nominal ratio.

For all generator operating schemes except Baseload, a total electric load reduction target (or thermal load converted to electrical equivalent) is established for the load center based on the specific operating scheme. The load center then requests that its generators operate, one-by-one in the order specified in the generator list, until the target is met or exceeded. Generators that are not scheduled as ‘available’ for the simulation time step are not called to operate. The requested power demand to be met by each generator is the

smallerof the nominal ‘rated’ electric power output (as specified in the ElectricLoadCenter:Generators object) or the remaining total electric load reduction target for the load center. After each electric generator is requested to operate, theactualelectric power delivered by the generator, which may be greater than or less than the requested amount due to inputs specified in the generator performance model (e.g., Generator:CombustionTurbine, Generator:MicroTurbine, etc.), is used to update the remaining total electric power target for the other generators associated with this load center.Most of the operating schemes will sequentially load the available electric load centers and generators. EnergyPlus can accept multiple “ElectricLoadCenter:Distribution” objects with different operating schemes. Because of this, there are two levels of reporting, one for the whole building and a second for each load center. The whole-building results are managed with the internal meters for the entire model. The individual load-center results are summed for those generators connected to a particular load center. The total electricity purchased is reported both in power and energy units. This value is positive when the amount of energy is purchased from the utility. This value can be negative when the total electricity produced is greater than the facility electrical needs. The excess will either be available for storage or to sell back to the electric utility company.

The order of input objects (ElectricLoadCenter:Distribution) in the input file is significant and used to structure how generators are dispatched with the first load centers and generators managed before the later ones. Therefore, load centers listed earlier in the file effectively have a higher priority.

## Load Center Buss Types[LINK]

Electric load centers can have one of five different configurations. Load centers can get fairly complicated and include power conditioning and storage. Separate inverter models are used to condition DC power from photovoltaics into AC power for the building and utility. The other generators may have inverters inside the devices but these are already embedded in the generator models. The load center can also supervise electrical storage controls and depend on the buss configuration. The transformer is optional for all buss types but if included in the load center it can be used to model an isolation or voltage matching transformer acting on the load center.

The most basic configuration is selected with the keyword “AlternatingCurrent” for the Electrical Buss Type, shown in Figure 1.

Basic Alternating Current Schematic [fig:basic-alternating-current-schematic]

The

AlternatingCurrentload centers have AC generators with no storage and behave in the following way. All electric demand not met by the sum of the electrical power produced by the available generators will be met by purchased electricity. If a generator is needed in the simulation for a small load and the load is less than the generator’s minimum part load ratio, the generator will operate at the minimum part load ratio and the excess will either reduce demand or the excess energy will be exported back to the electric utility company.A configuration with AC generators with on-site electrical storage is selected with the keyword “AlternatingCurrentWithStorage” and is shown in Figure 2.

AC Generators with On-site Electrical Storage Schematic [fig:ac-generators-with-on-site-electrical-storage]

The

AlternatingCurrentWithStorageload centers attempt to augment the generator electricity production so that the power requests are met. Storage control logic is discussed below under Storage Operation Scheme.The basic configuration for photovoltaic generators is selected using the “DirectCurrentWithInverter” keyword and is shown in Figure 3.

Direct Current With Inverter Photovoltaic Generators Schematic [fig:direct-current-with-inverter-photovoltaic]

The

DirectCurrentWithInverterload centers collect DC power from various generators, usually PV arrays, run the DC power through an inverter and produce AC power. The PV arrays produce DC power based on the availability of sunshine and do not respond to load requests made by the electric load center.If the PV-based load center is equipped with DC electrical storage that is connected before the inverter, then the buss type should be “DirectCurrentWithInverterDCStorage” and is shown Figure 4.

PV based Load Center with DC Electrical Storage Schematic [fig:pv-based-load-center-with-dc-electrical]

The

DirectCurrentWithInverterDCStorageload centers charge or draw DC power to meet the requested electrical load depending on the storage operation scheme.If the PV-based load center is equipped with AC electrical storage that is connected after the inverter, then the buss type should be “DirectCurrentWithInverterACStorage” and is shown in Figure 5.

PV Based Load Center with AC Electrical Storage Schematic [fig:pv-based-load-center-with-ac-electrical]

The

DirectCurrentWithInverterACStorageload centers charge or draw AC power to meet the requested electrical load. They can also draw power from the main panel into the load center to charge storage from grid-supplied electric power.## Electric Load Center Generators[LINK]

The electric load center generators (object name: ElectricLoadCenter:Generators) provide a set of scheduled electric generators for supervisory control over electric power generation. Here is where the user lists what generators and PVs are available at any given time. For more details on the individual inputs required see the EnergyPlus Input Output Reference.

## Inverters[LINK]

EnergyPlus includes three models for converting Direct Current (DC) electrical power into Alternating Current (AC) electrical power. The DC power into the inverter, PDC−in, is converted to AC power out, PAC−out, of the inverter using:

PAC−out=PDC−in⋅εinverter

The inverter efficiency is determined using one of the three models. For the “Simple” inveter model, efficiency is constant and input by the user. For the “Look Up Table” model, the efficiency is calculated using linear interpolation. For the “Function of Power” model, the efficiency is calculating using a single-variable curve object. For both the Look Up Table and Function of Power models, the power production is normalized by PDC−in.

The conversion power losses are calculated from the difference between PDC,in and PAC,out and are metered as negative values on PowerConversion:ElectricityProduced. The thermal losses include the conversion power losses plus any ancillary power consumed during standby. The ancillary electric power consumption occurs when the inverter is scheduled to be available but it is not conditioning any power flows at the time.

## Converter[LINK]

EnergyPlus includes a model for converting Alternating Current (AC) electric power into Direct Current (DC) electric power. This device is used to charge DC electric storage devices with AC drawn from the main panel. Although the physical device may be a two-way inverter, the modeling is separated so that the converter appears on its own in the modeling. The AC power into the converter, PAC,in, is converted to DC power out, PDC,out, of the converter using:

PDC,out=PAC,in⋅εconverter

The converter efficiency is determined using one of two method. For the “SimpleFixed” method the efficiency is constant and input by the user. For the “FunctionOfPower” method the user defined performance curve or lookup table is evaluated using the normalized power into the converter.

The conversion power losses are calculated from the difference between PAC,in and PDC,out and are metered as negative values on PowerConversion:ElectricityProduced. The thermal losses include the conversion power losses plus any ancillary power consumed during standby. The ancillary electric power consumption occurs when the converter is scheduled to be available but it is not conditioning any power flows at the time.

## Storage Operation Schemes[LINK]

The available storage operation schemes are “TrackFacilityElectricDemandStoreExcessOnSite”, “TrackMeterDemandStoreExcessOnSite”, “TrackChargeDischargeSchedules”, and “FacilityDemandLeveling”.

Figure 6 shows the control volume and electrical power flows that are used to model all of the storage operation schemes. Conservation of energy is used to formulate the calculations based on this control volume and the five terms shown in the diagram. This control volume is inside a given load center.

Storage operation control volume [fig:storage-operation-control-volume]

Pgen: This is the sum of electric power produced by the generators on the load center entering the control volume. The generator operation is run before the storage operation so that this value is current at the time the storage operation control is evaluated

Pfeed: This is the flow of electric power out of the control volume feeding toward the main panel. This is power being supplied by the generators and storage and serving the building loads or perhaps being exported. This power level might be reduced by power conversion losses before it reaches the main panel. The method used to determine Pfeed depends on the operation scheme.

Pdraw: This is the flow of electric power into the control volume drawing from the main panel. This is power being drawn in order to charge storage as desired by the storage operation scheme. This power level might be increased by power conversion losses once it is drawn from the main panel.

Pcharge: This is the flow of electric power into the storage device from the control volume. This is power being supplied by the generators and/or drawn from the main panel and then directed into storage to charge the device.

Pdischarge: This is the flow of electric power out of the storage device into the control volume. This power is being pulled from storage and added to the power from generators to feed toward the main panel.

The

TrackFacilityElectricDemandStoreExcessOnSitemethod tries to run the storage to follow the facility electric demand while storing any excess on-site power production that is above what is needed to run the facility. This is mainly appropriate for island operation. This is the intended legacy behavior before version 8.5. This scheme does not draw from the main panel to charge, so we have Pdraw=0.0. The value for Pfeed is determined from the whole-facility total electric power demand. (When there is more than one load center in the model, it is actually the portion of the total that remains after previous load centers have been simulated.) This requested feed in rate is adjusted to be increased by any power conversion losses that may occur in an inverter or a transformer. This adjusted feed in request is used for Pfeed.If Pgen>Pfeed, then we have charging:

Pcharge=Pgen−PfeedPdischarge=0.0

If Pgen<Pfeed, then we have discharging:

Pdischarge=Pfeed−PgenPcharge=0.0

The

TrackMeterDemandStoreExcessOnSitemethod is very similar to the TrackFacilityElectricDemandStoreExcessOnSite method except that instead of using the whole-facility total electric demand, the value for Pfeed is determined from a user-specified meter. The same charge and discharge logic is used.The

TrackChargeDischargeSchedulesmethod tries to run the storage to follow user-defined schedules and design power levels for charging and discharging. The user inputs a design charge rate Pcharge,design, a charge modification schedule fsched,charge, a design discharge rate Pdischarge,design, and a discharge modification schedule fsched,discharge. The scheduled power flows will be used to determine charging and discharging as long as other limits on rates or state of charge are not triggered. The schedules should be arranged to only charge or only discharge at a given time.If charging, we have:

Pcharge=Pcharge,design∗fsched,chargePdischarge=0.0

If Pgen>Pcharge, then we have excess to feed toward main panel:

Pfeed=Pgen−PchargePdraw=0.0

If Pgen<Pcharge, the we have a shortfall and we draw from main panel:

Pdraw=Pcharge−PgenPfeed=0.0

If discharging, we have:

Pdischarge=Pdischarge,design∗fsched,dischargePcharge=0.0Pfeed=Pdischarge+PgenPdraw=0.0

The

FacilityDemandLevelingmethod tries to run the storage to follow a user-defined schedule for the net purchased power, Pnet,purch. This is similar to demand limit operation but instead of just attempting to cap the facility demand, it will also manipulate storage to increase utility grid supply electric to meet the target for net purchased power. The user inputs a design demand target for net purchase power rate, Pnet,purch,design, and a demand level modification schedule fsched,dmd,target.Pnet,purch,target=Pnet,purch,design∗fsched,dmd,target

This target is compared to an adjusted feed in request, Pfeed,request, from the (remaining, adjusted) whole-facility total electric power demand.

Pfeed=Pfeed,request−Pnet,purch,target

If Pfeed>0.0, then we have a situation where the facility needs more power that the target demand. We therefore feed that power toward the main panel, but it is not necessarily the full power request that could be served. If Pgen<Pfeed, then we still have some power supply to make up by discharging:

Pdischarge=Pfeed−PgenPcharge=0.0

Or if Pgen>Pfeed, then we have excess power we can use for charging.

Pcharge=Pgen−PfeedPdischarge=0.0

However, if Pfeed<0.0, then the facility needs less power than the target demand. We therefore draw power from the main panel to increase power purchased to meet target demand level.

Pdraw=abs(Pfeed)Pfeed=0.0Pcharge=Pdraw+Pgen

## Electrical Storage - Simple Energy Balance Model[LINK]

EnergyPlus includes two models for storing electrical energy: a simple model that is not intended to represent any specific type of storage technology and a battery model that represents the kinetic battery model originally developed by Manwell and McGowan which discussed in the next section.

The simple model treats the battery as a black box, counting energy added and removed, with losses due to charge/discharge inefficiencies. The model is a reasonable starting point for simulation of Li-ion and other battery technologies without significant rate limitations. The simple model might be called constrained bucket with energy losses. The bucket holds a quantity of Joules of electrical energy, referred to as the state of charge. There are losses and limits to storing and drawing power but otherwise the bucket just holds electricity. The user sets constraints on the rates of charging, Pstor−charge−max, and drawing, Pstor−draw−max. The user defines efficiency values for charging, εcharge, and drawing, εdraw.

The user defines an initial state of charge and a maximum state of charge. The storage operation scheme makes supervisory control decisions and determines a value for the charging power, Pstor−charge, or the discharging power, Pstor−draw and passes in control limits for the minimum and maximum state of charge fraction. The maximum state of charge is the physical capacity of the storage device, however the storage control applies a separate layer of minimum and maximum state of charge used to model controller behavior designed to protect the battery from abuse.

The control requests are constrained by the device’s physical limits for how fast it can be charged or discharged, Pstor−charge−max and Pstor−draw−max are applied.

If charging, the new state of charge, Qt+Δtstor , is determined using:

Qt+Δtstor=Qtstor+Pstor−charge⋅εcharge⋅Δt

If drawing, the new state of charge is:

Qt+Δtstor=Qtstor−Pstor−draw⋅Δtεdraw

where Δt is the length of the system time step in seconds.

The storage device has an availability schedule. If it is not available then no power can be drawn or stored. The state of charge minimum and maximum that are passed into the storage model are used to decide if the device can be further charged or discharged. The separate control limits allow modeling battery preservation strategies where the full capacity of the storage device is not really used.

The gross electric power drawn and stored includes losses in the form of heat. These thermal losses are calculated from the user-specified efficiencies for charging and drawing and gross electric power stored and drawn. The thermal (heat) losses are included in a zone heat balance if the user specifies a thermal zone. A user-defined radiative split is used to divide thermal losses into radiation and convection portions. If no zone is specified, then the thermal losses are simply disregarded (e.g., rejected to outdoors and do not impact the zone air heat balance).

## Electrical Storage – Kinetic Battery Model with Cycle Life Estimation[LINK]

The Kinetic Battery Model (KiBaM) (object: ElectricLoadCenter:Storage:Battery) was originally developed by Manwell and McGowan (1993) for use in time series performance models of hybrid energy systems. The model is called kinetic because it is based on a chemical kinetics process to simulate the battery charging and discharging behavior. The model, with different improvements and modifications, has been incorporated into the software Hybrid2 and HOMER as the electrical storage module of hybrid and distributed power systems. In 2005, KiBaM was implemented as a stand-alone application in support of the European Union Benchmarking research project (Bindner et al. 2005). The model is intended to represent technologies such as Pb-acid that encounter significant rate or kinetic limitations.

The Kinetic Battery Model assumes that the battery charge is distributed over two tanks: an available-charge tank and a bound-charge tank. The tank for available charges can supply electrons directly to the load, whereas the tank for chemically bound charges can only supply electrons to the available-charge tank. At any time, the total charge q in the battery is the sum of the available charge (q1) and bound charge (q2). That is:

q=q1+q2

Based on the governing equations on the change of charge in both tanks (Manwell and McGowan 1993), the battery capacity can be related to a constant charge/discharge current (I ) as the following equation:

qmax(I)=qmaxk⋅c⋅t1−e−kt+c(kt−1+e−kt)

where:

qmax(I) is the maximum capacity (Ah) at charge or discharge current I

qmax is the maximum capacity (Ah) at infinitesimal current

t is the charge or discharge time (hr), defined by t=qmax(I)I

k is a constant coefficient (hr−1)

c is the parameter indicating the ratio of available charge capacity to total capacity.

Assuming that a constant current is used in any time step for charging and discharging, the available charge (q1) and bound charge (q2) at any time step are given by:

q1=q1,0e−kΔt+(q0kc−I)(1−e−kΔt)k−Ic(kΔt−1+e−kΔt)k

q2=q2,0e−kΔt+q0(1−c)(1−e−kΔt)−I(1−c)(kΔt−1+e−kΔt)k

where:

q1,0 is the available charge at the beginning of time step (Ah)

q2,0 is the bound charge at the beginning of time step (Ah)

q0 is the total charge at the beginning of time step (Ah) or q0=q1,0+q2,0

Δt is the length of time step (hr).

KiBaM views the battery as a voltage source in series with an electric resistance (Figure 7). The internal resistance is assumed to be constant and the open circuit voltage varies with current and state of charge.

Electrical equivalent model for KiBaM [fig:electrical-equivalent-model-for-kibam]

The battery’s open circuit voltage is modeled in the same form for charging and discharging, but with different coefficients. The open circuit voltage in charging (Ec) and in discharging (Ed) can be respectively expressed as:

Ec=E0,d+AcXc+CcXcDc−Xc

Ed=E0,c+AdXd+CdXdDd−Xd

where:

E0,c is the open circuit voltage for a fully charged battery

E0,d is the open circuit voltage for a fully discharged battery

Ac, Cc, Dc are the constant parameters for charging

Ad, Cd, Dd are the constant parameters for discharging

Xc, Xd is the normalized maximum capacity at a given charging or discharging current, calculated as:

X={q0/qmax(I) (charging)(qmax−q0)/qmax(I) (discharging)

It needs to be noted that the performance curve (Curve:RectangularHyperbola2) used in the model input covers the 2nd and the 3rd item of the open circuit voltage equation. Due to the reformatting of performance curve, the voltage function regression coefficients can map to the curve coefficients as follows: C1=−C; C2=−D; C3=A.

With open circuit voltage, the battery terminal voltage (V) can be calculated as:

V=E−IR

where R is the battery internal resistance in Ohms; the current is positive for discharging and negative for charging.

Given desired power in/out of the battery, the desired charge or discharge current can be calculated from the basic power equation: P=VI. In this calculation, iteration is needed to ensure the electric current has converged and the battery operation satisfies all specified technical constraints such as maximum discharge current and charge rate limit.

KiBaM assumes that battery life is a primary function of charge/discharge cycles. One cycle is defined as the process of starting from a certain state of charge (SOC), the battery is discharged to a lower SOC and then recharged back to the starting SOC. It is regarded that the magnitude of cycle plays more important than the average of SOC during the cycle. This means that in terms of the impact on battery life, the cycle from 90% to 70% and then recharge back to 90% of SOC is equivalent to another cycle from 50% to 30% and then recharge back to 50% of SOC. Battery life in terms of the number of cycles is predicted as a function of the cycle range measured by the fractional depth of discharge. A double exponential equation is used to capture the damage to batteries due to cycling. The equation takes the following form where the coefficients need to be derived from battery test data via curve fitting.

CF=C1+C2eC3R+C4eC5R

where:

CF is the cycles to failure

C1 -C5 are the regression coefficients

R is the cycle range in terms of fractional SOC.

Following Hybrid2, the rainflow counting method (Downing and Socie 1982) is used to count battery cycles within a state of charge time series. Based on the number of cycles for each fractional SOC range, the battery damage is estimated as:

D=∑i=1(Ni1CF,i)

where:

D is the fractional battery damage. For example, a value of 0.5 at the end of simulation means that half of the battery life is used up after the length of the simulation period.

CF,iis the number of cycles to failure for the i-th cycle range

Ni is the total number of cycles over the simulation with the i-th cycle range

It needs to be noted that the temperature effects on battery performance and battery self-discharge are not supported in the current model.

## References[LINK]

Bindner H., Cronin T., Lundsager P., Manwell J.F., Abdulwahid U., and Baring-Gould I. 2005. Lifetime Modeling of Lead Acid Batteries. Riso National Laboratory, Roskilde, Denmark.

Downing S. D. and Socie D. F. 1982. Simple rainflow counting algorithms, International Journal of Fatigue, 1982.

Manwell J. F. and McGowan J. G. 1993. A lead acid battery storage model for hybrid energy systems, Solar Energy 50(5): 399- 405.

## Electrical Storage – Lithium-Ion NMC Model with Capacity Degradation Estimation[LINK]

The Lithium-Ion NMC Model (object: ElectricLoadCenter:Storage:LithiumIonNMC) comprises a performance model and a capacity degradation model. The performance model captures the dynamics of the voltage, charging and discharging power of the battery, and battery temperature, and the capacity degradation model estimates the loss in maximum available capacity with calendar age, and use. The performance and capacity degradation models are imported from the shared library of the System Advisory Model (SAM). The models are intended to represent Lithium-ion batteries with NMC chemistry. A detailed description of the performance model can be obtained from (DiOrio, 2015), and the capacity degradation model from (Smith 2017). A brief description of the performance, and capacity degradation models are provided below.

## Voltage Model[LINK]

The SAM model strikes a balance between complexity and the computational requirements that would enable real-time control. The battery terminal voltage V is expressed as a function of the open circuit voltage Vo, the internal resistance Rint, the current I, the state of charge, and the battery capacity (qmax) as shown in the equation below.

V=Vo−I⋅Rint−K(qmaxqmax−∫I⋅dt)+a⋅e(−B⋅I⋅dt)

The expression ∫Idt is the amount of capacity removed and can be calculated from the following equation.

∫Idt=qmax−q The parameters Vo, K,a, and B are dependent on battery chemistry and can be obtained from the manufacturer’s voltage vs charge-removed curves. Default values are included in the Lithium-Ion NMC model with the parameter values obtained from (Tremblay 2007). The voltage model does not incorporate temperature effects, but the impact of temperature is indirectly implemented through battery capacity which is coupled with the thermal model.

## Thermal Model[LINK]

The thermal effects of the battery are important to model since they impact both the instantaneous available capacity, and also the rate of lifetime capacity degradation. An energy balance equation is used to model the battery temperature. The heat transfer between the battery and the room is depends on the temperature difference between them Troom−Tbatt. In addition to the heat transfer between the room and battery, the battery generates its own heat due to internal resistance. The differential equation used to model the battery temperature is shown below.

f(Tbatt)=dTbattdt=hA(Troom−Tbatt)+I2RmCp

The SAM model uses the trapezoidal method to numerically step the temperature forward in time as described in the equation below.

Tbatt,n+1=Tbatt,n+1=Δt2[f(Tbatt,n+1+f(Tbatt,n)] The model outputs the bulk average temperature of the battery which is used in the computation of the maximum available capacity and lifetime capacity degradation.

## Capacity Model[LINK]

The lithium ion capacity model updates the charge of the battery depending on the charging and discharging current. A positive value indicates charging and negative value of current indicates discharging. The updated capacity at each time-step is computed using the following equation. q=q−IΔt

The battery is only allowed to charge and discharge to the user defined maximum and minimum state of charge. Capacity relates to the battery energy through voltage as shown below.

E=qV

The power is related to battery energy and voltage as follows.

P=IV=ΔEΔt=VΔqΔt

## Capacity degradation[LINK]

The model developed by Smith et.al in (Smith 2017) for the LithiumIon NMC battery is used to estimate capacity degradation. The charge capacity degradation is modeled by taking into consideration two mechanisms: 1) the loss of cyclable Lithium due to formation of solid electrolyte interface (SEI) represented by (QLimax), and 2) the mechanical damage of the negative electrode due to the charge/discharge cycles (Qnegmax). The battery capacity degradation due to each of the mechanisms is briefly described below.

The primary factor driving the formation of SEI is the calendar time t, but formation is accelerated by factors such as state of charge at which the battery is stored, the depth of discharge during cycling and the number of charge and discharge cycles. The battery charge capacity (qLimax) and its degradation due to the formation of SEI is shown in Equation [Equation: Q_li].

QLimax=d0[b0−b1t1/2−b2N−b3(1−exp(−tτb3))]

where t is the calendar time in days, N is the total number of charge/discharge cycles over the battery’s lifetime, and τb3 is an experimentally determined constant. Battery temperature affects the available maximum capacity at the current time instant as well as the rate of charge degradation. The parameter d0 captures the effect of the former as shown in Equation [Equation: d0_computation].

Equation [Equation: d0_computation]. d0=d0,ref⋅exp[Ea,d0,1Rug(1Tbat−1Tref)−(Ea,d0,2Rug)2(1Tbat−1Tref)2]

The other parameters b1,b2, and b3 model the capacity degradation and are functions of battery temperature, state of charge, open circuit voltage, negative electrode voltage, and maximum depth of discharge. For example, the equation used to compute the parameter b1 is in Equation [Equation: b1_computation]. b1=b1,ref⋅exp(−Eab1Rug⋅(1Tbatt−1Tref))⋅exp(−αab1⋅FRug⋅(UnegTbatt−UrefTref))⋅exp(γ⋅(DoDmax)βb1)

b2=b2,ref⋅exp(−Eab2Rug⋅(1Tbatt−1Tref))

b3=b3,ref⋅exp(−Eab3Rug⋅(1Tbatt−1Tref))⋅exp(−αab3⋅FRug⋅(VocTbatt−VrefTref))⋅exp(1+θ⋅(DoDmax))

During the second half of the battery life cycle degradation is dominated by the charge discharge cycles. The battery capacity during this period is expressed as shown below. Qnegmax=√(c20−2c2c0N) As in the case with the calendar life degradation, the parameters c0 and c2 were determined experimentally.

The description of the model parameters, and constants can be found in (Smith, 2017), and the corresponding values can be found in (Mishra, 2020).

## References[LINK]

N. DiOrio et al. Technoeconomic modeling of battery energy storage in SAM. Tech. rep. National Renewable Energy Lab. (NREL), Golden, CO (United States), 2015.

K. Smith et al. “Life prediction model for grid-connected Li-ion batteryenergy storage system”. In: 2017 American Control Conference (ACC). IEEE. 2017, pp. 4062–4068.

O. Tremblay, L.-A. Dessaint, and A.-I. Dekkiche. “A generic battery modelfor the dynamic simulation of hybrid electric vehicles”. In: 2007 IEEE Vehicle Power and Propulsion Conference. Ieee. 2007, pp. 284–289.

P. P. Mishra et al. “Analysis of degradation in residential battery energystorage systems for rate-based use-cases”. In: Applied Energy 264 (2020), p. 114632.

## Electric Load Center Transformers[LINK]

Transformers (object name: ElectricLoadCenter:Transformer) are an integral part of the electric distribution system. They have two broad applications closely related to building energy simulation. First, transformers are used to lower the voltage of electricity from utility primary circuits to customer secondary circuits, and in this case they are called distribution transformers. Second, transformers are used to output the surplus power from onsite generators to the electricity grid.

Distribution transformers reduce the voltage on utility distribution lines (34.5 kV or less) to a lower secondary voltage (600 V or less) suitable for customer equipment. Distribution transformers are usually categorized according to the medium used for cooling and insulation (liquid or air), the voltage class that they serve (low or medium), and the number of phases (single phase or three phase).

Liquid-immersed transformers rely on oil or other fire resistant liquid around the coils for cooling. In contrast, dry type transformers rely only on the natural convection of air for insulation and cooling. Medium-voltage transformers step from utility line voltage down to a lower secondary voltage, depending on the application. The secondary voltage from a medium-voltage transformer is usually at 277 V for single phase and 480 V for three phase. This secondary voltage can be directly used as 480 V three-phase power for large motors or as 277 V single-phase power for some fluorescent lighting. However, for most industrial and commercial facilities, low-voltage transformers are needed to reduce the above voltages further to 208/120 V. Common 120 V loads are wall plugs and incandescent lighting.

Most liquid-immersed transformers are owned by utilities and they are of the medium-voltage type. Virtually all dry type transformers are owned by commercial and industrial customers (Barnes et al. 1996). Of the dry type transformers, those of the medium-voltage type are generally special-order items while those of the low-voltage type are commodity items. The efficiency requirement of distribution transformers is covered by the NEMA (National Electrical Manufactures Association) Standard TP 1. ASHRAE 90.1-2010 will cite the NEMA Standard TP 1 to stipulate the efficiency requirement for the low-voltage dry type distribution transformers.

There are two main types of energy losses in transformers: no load loss and load loss. The no load loss comes primarily from the switching of the magnetic fields in the core material. Hence, it is also called the core loss. The no load (core) loss is roughly constant and exists continuously in the core material as long as the transformer is energized. The load loss comes from the electrical resistance in the windings when there is a load on the transformer. Hence, the load loss is also called the winding loss. The load (winding) loss is proportional to the load squared with a small temperature correction.

Given the no load loss (NL) and the load loss (LL) at rated load and conditions, the total energy losses in a transformer at time t is calculated as:

TL(t)=NL+LL(t)=NL+LL∗P(t)2∗fT(t)

where:

TL(t) is the total energy loss at time t (W)

LL(t) is the load loss at time t (W)

P(t) is the per unit load at time t

fT(t) is the temperature correction factor for the load loss at time t.

The per unit load at time t is calculated as:

P(t)=Load(t)SB

where:

Load(t) is the transformer load at time t (W)

SB is the transformer nameplate rating (VA).

The temperature correction factor at time t is calculated as (NEMA 2002):

fT(t)=Ldc∗R(t)Rref+Leddy∗RrefR(t)

where:

Ldc is the per unit load loss due to electrical resistance

Leddy is the per unit load loss due to eddy currents

R(t) is the winding electrical resistance at time t

Rref is the winding electrical resistance at the full load reference conditions.

The ratio of winding electrical resistance is calculated as:

R(t)Rref=F+Twinding(t)+Tamb(t)F+Twinding,ref+Tamb,ref

where:

F is the thermal coefficient of resistance for the winding material ( = 225 for aluminum and 234.5 for copper)

Twinding,ref is the winding temperature rise at the full load reference conditions (∘C)

Twinding(t) is the winding temperature rise at time t (∘C)

Tamb,ref is the ambient temperature at the reference condition ( = 20∘C)

Tamb(t) is the ambient temperature at time t (∘C)

The Ambient temperature Tamb(t) is equal to the zone temperature if a thermal zone is specified in the input; otherwise, it is assumed equal to 20∘C. The winding temperature rise at time t is calculated as (Barnes et al. 1997):

Twinding(t)=P(t)1.6∗Twinding.ref

Based on the derived total energy losses in a transformer, the transformer efficiency at time t can be calculated according to the following equation:

η(t)=Load(t)Load(t)+NL+LL(t)

The above procedure describes how to calculate the total transformer energy losses based on the no load loss and load loss at rated conditions. The transformer model also supports the case when the nominal transformer efficiency is given. In this case, the user needs to provide the nameplate efficiency and the corresponding per unit load, the maximum efficiency and the corresponding per unit load, and the reference conductor temperature at which the nameplate efficiency is measured. Given these information, both no load loss and load loss at rated conditions can be derived as below.

The nameplate efficiency can be expressed as:

ηnp=SB∗PnpSB∗Pnp+NL+LL∗P2np∗fT,np

where:

ηnp is the nameplate efficiency

SB is the nameplate rating (VA)

Pnp is the per unit load at which the nameplate efficiency is measured

fT,np is the applied temperature correction factor for the nameplate efficiency.

Maximum efficiency generally occurs when the load loss is equal to the no-load loss. Because the no-load loss does not vary with the load on the transformer, the following relationship can be established:

NL=LLmax,η=LL∗P2max,η∗fT,max−η

where:

Pmax,η is the per unit load at which the maximum efficiency is obtained

fT,max−η is the applied temperature correction factor for the maximum efficiency.

Transformers typically have close per unit loads for the nameplate efficiency and the maximum efficiency. Therefore, it is reasonable to assume that the applied temperature correction factors are equal at those two efficiencies. This implies that:

LLnpLLmax,η=LL∗Pnp2∗fT,npLL∗Pmax,η2∗fT,max−η=(PnpPmax,η)2

Rearranging Equation [eq:ElecLoadLLnpOverLLmaxeta865] and combining it with Equation [eq:ElecLoadNL864] leads to:

LLnp=LLmax,η∗(PnpPmax,η)2=NL∗(PnpPmax,η)2

Combining Equations [eq:ElecLoadetanp863] and [eq:ElecLoadLLnp866], we can obtain the no load loss as:

NL=SB∗Pnp∗(1−ηnp)ηnp∗[1+(PrefPmax,η)2]

Substitute NL into Equation [eq:ElecLoadNL864], we can calculate the load loss at rated conditions as:

LL=NLfT,max−η∗P2max,η=NLfT,np∗P2max,η

Since both no load and load losses at rated conditions are known, the total energy losses in a transformer at time t can then be calculated according to Equation [eq:TotalEnergyLossesInTransformers].

## References:[LINK]

Barnes, PR., JW. Van Dyke, BW. McConnell, and S. Das. 1996. Determination Analysis of Energy Conservation Standards for Distribution Transformer, ORNL-6847. Oak Ridge National Laboratory, Oak Ridge, TN.

Barnes, PR., S. Das, BW. McConnell, and JW. Van Dyke. 1997. Supplement to the “Determination Analysis” (ORNL-6847) and Analysis of the NEMA Efficiency Standard for Distribution Transformer, ORNL-6925. Oak Ridge National Laboratory, Oak Ridge, TN.

NEMA. 2002. NEMA Standards Publication TP 1-2002: Guide for Determining Energy Efficiency for Distribution Transformers. National Electrical Manufactures Association, Rosslyn, VA.

Documentation content copyright © 1996-2021 The Board of Trustees of the University of Illinois and the Regents of the University of California through the Ernest Orlando Lawrence Berkeley National Laboratory. All rights reserved. EnergyPlus is a trademark of the US Department of Energy.

This documentation is made available under the EnergyPlus Open Source License v1.0.