Skip to main content

Summary

Inverter Efficiency Models calculate the DC-to-AC conversion efficiency and AC output power of the using manufacturer-supplied efficiency curves at multiple voltage and power levels. PlantPredict implements two efficiency models:
  • Bilinear Interpolation Model (Versions 3–10): interpolates efficiency from the curve data at the operating voltage and power.
  • Sandia Polynomial Model (Version 11+): fits quadratic polynomials to the efficiency curves and computes efficiency analytically. Falls back to the bilinear model if fewer than three efficiency curves are available.

Inputs

NameSymbolUnitsDescription
DC Operating VoltageVDCV_{DC}VDC operating voltage from operating regions
DC Operating PowerPDCP_{DC}WDC operating power from operating regions
Efficiency CurvesηVj(PAC,i)\eta_{V_j}(P_{AC,i})kW, %Efficiency as a function of AC power at DC voltages VjV_j

Outputs

NameSymbolUnitsDescription
Inverter Efficiencyη\etaDC-to-AC conversion efficiency
Inverter AC PowerPAC,invP_{AC,inv}WAC power output

Detailed Description

Efficiency Curve Structure

Inverter Efficiency Curves
The efficiency curves ηVj(PAC,i)\eta_{V_j}(P_{AC,i}) provide efficiency as a function of AC power at typically three DC voltage levels:
  • Minimum voltage (VminV_{min})
  • Nominal voltage (VnomV_{nom})
  • Maximum voltage (VmaxV_{max})
During pre-processing, power is scaled from kW to W and efficiency from % to a unitless fraction. If the operating voltage falls outside the range of the efficiency curves, it is clamped to the nearest boundary:
  • VDCVminV_{DC} \leftarrow V_{min} if VDC<VminV_{DC} < V_{min}
  • VDCVmaxV_{DC} \leftarrow V_{max} if VDC>VmaxV_{DC} > V_{max}

Bilinear Interpolation Model (Versions 3–10)

This model interpolates efficiency directly from the efficiency curve data using bilinear interpolation across voltage and power. If only one voltage curve is available, the interpolation reduces to linear interpolation in power. For each voltage curve, a (PAC,inv=0,η=0)(P_{AC,inv} = 0,\, \eta = 0) point is added if not already present, ensuring the power range starts at zero.

Determination of bounds

Find the two voltage curves V1VDCV2V_1 \leq V_{DC} \leq V_2 that bracket the operating voltage. For each bounding voltage curve, determine the power data points to use for bracketing:
  • V3–6: use the curve’s AC power values PAC,iP_{AC,i} directly.
  • V7 and later: convert the curve’s AC power values to DC power (PDC,i=PAC,i/ηVj(PAC,i)P_{DC,i} = P_{AC,i} / \eta_{V_j}(P_{AC,i})) and use the resulting DC power values.
From the resulting power values, find the two adjacent points P1P_1 and P2P_2 that bracket PDCP_{DC}. If PDCP_{DC} exceeds the curve’s maximum power, P1P_1 and P2P_2 are set to the two highest data points.

Bilinear interpolation

The four corner efficiencies are η11=ηV1(P1)\eta_{11} = \eta_{V_1}(P_1), η12=ηV1(P2)\eta_{12} = \eta_{V_1}(P_2), η21=ηV2(P1)\eta_{21} = \eta_{V_2}(P_1), η22=ηV2(P2)\eta_{22} = \eta_{V_2}(P_2). From these, we define the interpolation weights in voltage (α\alpha) and power (β\beta): α=VDCV1V2V1\alpha = \frac{V_{DC}-V_1}{V_2-V_1} β=PDCP1P2P1\beta = \frac{P_{DC}-P_1}{P_2-P_1} The efficiency is then: η=(1α)(1β)η11+(1α)βη12+α(1β)η21+αβη22\eta = (1-\alpha)(1-\beta)\,\eta_{11} + (1-\alpha)\beta\,\eta_{12} + \alpha(1-\beta)\,\eta_{21} + \alpha\beta\,\eta_{22} When PDCP_{DC} exceeds the curve’s power range (PDC>P2>P1P_{DC} > P_2 > P_1), P1P_1 and P2P_2 are set to the two highest data points but PDCP_{DC} itself is used as-is, so the formula extrapolates in the power dimension (β>1\beta > 1).

Sandia Polynomial Model (Version 11+)

The Sandia model (King et al., 2007) is particularly suited for inverters with efficiency curves—or equivalent—available. These curves provide efficiency as a function of AC power at three or more DC voltage levels, with measurements at 10%, 20%, 30%, 50%, 75%, and 100% of rated power spanning the full operating range. Based on efficiency curves at three characteristic voltages—minimum VminV_{min}, nominal VnomV_{nom}, and maximum VmaxV_{max}—the model fits a continuous analytical surface rather than interpolating from discrete curve points. The final equation takes the form: PAC,inv=[PAC,refPDC,charPDC,0C(PDC,charPDC,0)](PDCPDC,0)P_{AC,inv} = \left[\frac{P_{AC,ref}}{P_{DC,char} - P_{DC,0}} - C(P_{DC,char} - P_{DC,0})\right] (P_{DC} - P_{DC,0}) +C(PDCPDC,0)2\quad + C (P_{DC} - P_{DC,0})^2 where:
  • PAC,refP_{AC,ref} is the reference AC power, derived as the highest AC power data point on the lowest voltage curve. For standard CEC curves this matches the inverter’s rated AC power.
  • PDC,charP_{DC,char} is the characteristic DC power at which AC output equals PAC,refP_{AC,ref}.
  • PDC,0P_{DC,0} is the self-consumption power: the DC power consumed at zero AC output, representing no-load losses. Below this threshold, the inverter consumes more than it produces.
  • CC is the curvature coefficient, capturing non-linear deviation from a simple linear DC-to-AC gain.
The equation is designed so that PAC,inv=PAC,refP_{AC,inv} = P_{AC,ref} at PDC=PDC,charP_{DC} = P_{DC,char} and PAC,inv=0P_{AC,inv} = 0 at PDC=PDC,0P_{DC} = P_{DC,0}. The non-linear behavior between these anchors is captured as a quadratic dependence on PDCP_{DC} through CC. PDC,charP_{DC,char}, PDC,0P_{DC,0}, and CC are each modeled as linear functions of voltage, fitted from the three efficiency curves.

Curve selection

The model selection and voltage assignment depend on the number of available efficiency curves:
  • 1 curve: defaults to the bilinear interpolation model, which in practice reduces to linear interpolation in power.
  • 2 curves: defaults to bilinear interpolation.
  • 3 curves (standard CEC configuration): VminV_{min}, VnomV_{nom}, and VmaxV_{max} are unambiguously assigned as the lowest, middle, and highest curve voltages.
  • 4+ curves: VminV_{min} and VmaxV_{max} are the lowest and highest curve voltages. VnomV_{nom} is the first curve (in storage order) that is neither VminV_{min} nor VmaxV_{max}; additional curves are ignored.

Parameter extraction

The reference AC power PAC,refP_{AC,ref} is extracted as the highest AC power data point on the VminV_{min} curve. This single value is used as the rated operating point for all three curves. For each of the three voltage curves (Vk{Vmin,Vnom,Vmax}V_k \in \{V_{min},\, V_{nom},\, V_{max}\}), the algorithm converts the efficiency data from AC to DC power (PDC,i=PAC,i/ηVk(PAC,i)P_{DC,i} = P_{AC,i} / \eta_{V_k}(P_{AC,i})) and performs a least-squares degree-2 polynomial fit of AC power as a function of DC power, yielding one equation per voltage: PAC,Vk=c0,k+c1,kPDC+c2,kPDC2P_{AC,V_k} = c_{0,k} + c_{1,k}\, P_{DC} + c_{2,k}\, P_{DC}^2 From each fitted polynomial, extract the characteristic DC power PDC,char,kP_{DC,char,k} such that PAC,Vk(PDC,char,k)=PAC,refP_{AC,V_k}(P_{DC,char,k}) = P_{AC,ref}, and the self-consumption power PDC,0,kP_{DC,0,k} such that PAC,Vk(PDC,0,k)=0P_{AC,V_k}(P_{DC,0,k}) = 0, by solving the quadratic: PDC,char,k=c1,k+c1,k24c2,k(c0,kPAC,ref)2c2,kP_{DC,char,k} = \frac{-c_{1,k} + \sqrt{c_{1,k}^2 - 4\, c_{2,k}\, (c_{0,k} - P_{AC,ref})}}{2\, c_{2,k}} PDC,0,k=c1,k+c1,k24c2,kc0,k2c2,kP_{DC,0,k} = \frac{-c_{1,k} + \sqrt{c_{1,k}^2 - 4\, c_{2,k}\, c_{0,k}}}{2\, c_{2,k}} This yields three values of each parameter (PDC,char,kP_{DC,char,k}, PDC,0,kP_{DC,0,k}, c2,kc_{2,k})—one per voltage level. Each is then linearly fit (least-squares) as a function of voltage, producing the voltage-dependent parameters at the operating voltage VDCV_{DC}: PDC,char=achar+bcharVDCP_{DC,char} = a_{char} + b_{char} \, V_{DC} PDC,0=a0+b0VDCP_{DC,0} = a_0 + b_0 \, V_{DC} C=aC+bCVDCC = a_C + b_C \, V_{DC} where aa and bb are the intercept and slope of each linear fit.

AC power and efficiency

The estimated AC output power is: PAC,inv=[PAC,refPDC,charPDC,0C(PDC,charPDC,0)](PDCPDC,0)P_{AC,inv} = \left[\frac{P_{AC,ref}}{P_{DC,char} - P_{DC,0}} - C(P_{DC,char} - P_{DC,0})\right] (P_{DC} - P_{DC,0}) +C(PDCPDC,0)2\quad + C (P_{DC} - P_{DC,0})^2 The term (PDCPDC,0)(P_{DC} - P_{DC,0}) represents the useful DC power after subtracting self-consumption. The bracketed factor is the linear gain—calibrated so that PAC,inv=PAC,refP_{AC,inv} = P_{AC,ref} when PDC=PDC,charP_{DC} = P_{DC,char}. The quadratic term C(PDCPDC,0)2C(P_{DC} - P_{DC,0})^2 captures efficiency variation with load. The efficiency is: η=PAC,invPDC\eta = \frac{P_{AC,inv}}{P_{DC}} If PDC=0P_{DC} = 0, then η=0\eta = 0. In Version 12 and later, η\eta is constrained to be non-negative. Because the model involves two successive fitting steps—a quadratic fit per voltage curve followed by a linear fit across voltages—the resulting efficiency will slightly differ from the reported efficiency at the original curve data points. However, this double-fitting procedure produces a physically realistic surface that is continuously differentiable across the full voltage–power domain, whereas the bilinear interpolation model yields a faceted surface with non-smooth transitions at segment boundaries.

References

  • King, D. L., Gonzalez, S., Galbraith, G. M., & Boyson, W. E. (2007). Performance model for grid-connected photovoltaic inverters. SAND2007-5036, Sandia National Laboratories. DOI: 10.2172/920449
  • California Energy Commission. Inverter test protocol. CEC-CSI, Version 2.2.