Photovoltaic Arrays[LINK]
The Photovoltaics module includes three different models referred to as “Simple”, “Equivalent OneDiode” and “Sandia” and the choice will determine the mathematical models (and input data) used to determine the energy produced by solar/electric conversion panels. There is also a PVWatts generator which abstracts away specifying PV modules and array properties for a simpler input structure. The EnergyPlus photovoltaic array models are called one at a time at the HVAC system timestep along with other electrical generation components such as gas turbines and diesel engines.
All of the photovoltaic models with the exception of the PVWatts model share the same models for predicting incident solar radiation that are also used for the solar thermal calculations and are described in the section Climate, Sky and Solar/Shading Calculations. The PVWatts generator uses the same solar calculations as the SAM software or PVWatts web API.
Note that some of the terminology used to discussed photovoltaics overlaps with terminology in software development and both may apply in these descriptions. The word module may refer to a PV panel or to a C++ programming entity. Model may refer to a manufacturers production model for a specific type of PV module or to a mathematical model used for engineering analysis. Array may refer to a collection of PV modules wired together or to a mathematical variable with multiple elements.
The PV modules are assumed to always run when the total incident solar is greater than 0.3 Watts. If the incident solar is less than 0.3, then the modules produce no power.
PV arrays are managed by an electric load center. The load center is a “load” with respect to generating equipment but is a “supply center” for the rest of the building. PV arrays need to be connected to ElectricLoadCenter:Distribution objects that have a DC buss type.
The Generator:PV:Simple object describes about the simplest model for predicting photovoltaic energy production. In this model the user specifies the efficiency with which surfaces convert incident solar radiation to electricity. (In the other models this efficiency is determined as part of the model.) The full geometric model for solar radiation is used, including sky models, shading, and reflections, to determine the incident solar resource. The model accepts arbitrary conversion efficiencies and does not require actual production units be tested to obtain empirical performance coefficients. (The Energy+.idd sets the range of conversion efficiencies to be within [0..1], but the user could alter the Energy+.idd to extend this range if desired.)
Mathematical Description[LINK]
Nomenclature for Simple Photovoltaic model
P 
Electrical power produced by photovoltaics (W) 
Asurf

Net area of surface (m2) 
factiv

Fraction of surface area with active solar cells 
GT

Total solar radiation incident on PV array (W/m2) 
ηcell

Module conversion efficiency 
ηinvert

DC to AC conversion efficiency 
The usable electrical power produced by a PV surface are calculated using:
P=Asurf⋅factiv⋅GT⋅ηcell⋅ηinvert
On the right hand side of this equation, only GT is calculated by EnergyPlus and the rest are user inputs. Power levels are assumed constant over the timestep to arrive at energy production.
There are two modes that can be selected by the user that govern how the PV system is coupled to the building surfaces. If the integration mode is selected as ‘DECOUPLED’ then no adjustments are made to account for energy extracted in the form of electricity. If the integration mode is selected as ‘INTEGRATED’ then the energy extracted in the form of electricity is removed from surface heat transfer calculations using a sink term. This sink term is lagged from the previous timestep.
Equivalent OneDiode Model[LINK]
This model predicts the electrical performance of a photovoltaic (PV) array. This model is also known as the “TRNSYS PV” model.
Mathematically speaking, the EnergyPlus PV module employs equations for an empirical equivalent circuit model to predict the currentvoltage characteristics of a single module. This circuit consists of a DC current source, diode, and either one or two resistors. The strength of the current source is dependent on solar radiation and the IV characteristics of the diode are temperaturedependent. The results for a single module equivalent circuit are extrapolated to predict the performance of a multimodule array.
The module employs a “fourparameter” equivalent circuit to model crystalline (both mono and poly) PV modules developed at the University of Wisconsin – Madison. The values of these parameters cannot normally be obtained directly from manufacturers’ catalogs. However, the PV module will automatically calculate them from commonly available data. The PV module also includes an optional incidence angle modifier correlation to calculate how the reflectance of the PV module surface varies with the angle of incidence of solar radiation.
The module determines PV current as a function of load voltage. Other OUTPUTS include current and voltage at the maximum power point along the IV curve, opencircuit voltage, short circuit current as well as electrical load met and unmet.
General Nomenclature for the PV model
β 
Slope of PV array (degrees) 
γ 
Empirical PV curvefitting parameter 
εγ

Semiconductor bandgap (eV) 
ηc

Module conversion efficiency 
μisc

Temperature coefficient of shortcircuit current (A/K) 
μvoc

Temperature coefficient of opencircuit voltage (V/K) 
θ 
Angle of incidence for solar radiation (degrees) 
τα 
Module transmittanceabsorptance product 
ταnormal

Module transmittanceabsorptance product at normal incidence 
GT

Total radiation incident on PV array 
GT,beam

Beam component of incident radiation 
GT,diff

Diffuse component of incident radiation 
GT,gnd

Groundreflected component of incident radiation 
GT,NOCT

Incident radiation at NOCT conditions 
GT,ref

Incident radiation at reference conditions 
I 
Current 
IL

Module photocurrent 
IL,ref

Module photocurrent at reference conditions 
Io

Diode reverse saturation current 
Io,ref

Diode reverse saturation current at reference conditions 
Isc

Shortcircuit current 
Isc,ref

Shortcircuit current at reference conditions 
Imp

Current at maximum power point along IV curve 
Imp,ref

Current at maximum power point along IV curve, reference conditions 
IAM 
Dimensionless incidence angle modifier 
K 
Boltzmann constant (J/K) 
NP 
Number of modules in parallel in array 
NS 
Number of modules in series in array 
Ns

Number of individual cells in module 
P 
PV output power 
Pmax

PV output power at maximum power point along IV curve 
Q 
Electron charge constant 
Rs

Module series resistance (Ω) 
Rsh

Module shunt resistance (Ω) 
Tc 
Module temperature (K) 
Tc,NOCT

Module temperature at NOCT conditions (K) 
Tc,ref

Module temperature at reference conditions (K) 
UL

Array thermal loss coefficient 
V 
Voltage 
Vmp

Voltage at maximum power point along IV curve 
Vmp,ref

Voltage at maximum power point along IV curve, reference conditions 
Voc 
Opencircuit voltage 
Voc,ref

Opencircuit voltage at reference conditions (V) 
Mathematical Description[LINK]
PV Section 1: FourParameter Model[LINK]
The fourparameter equivalent circuit model was developed largely by Townsend [1989] and is detailed by Duffie and Beckman [1991]. The model was first incorporated into a component for the TRNSYS simulation package by Eckstein [1990]. The EnergyPlus module employs the Eckstein model for crystalline PV modules, using it whenever the shortcircuit IV slope is set to zero or a positive value as modified by Ulleberg [2000]. The four parameter model assumes that the slope of the IV curve is zero at the shortcircuit condition:
(dIdV)v=0=0
This is a reasonable approximation for crystalline modules. The “four parameters” in the model are IL,ref, Io,ref, γ, and Rs. These are empirical values that cannot be determined directly through physical measurement. The EnergyPlus model calculates these values from manufactures’ catalog data as discussed in the following section on calculating these parameters.
The fourparameter equivalent circuit is shown in Figure 1.
V is the load voltage and I is the current flowing through the load and PV.
Determining Performance under Operating Conditions
The IV characteristics of a PV change with both insolation and temperature. The PV model employs these environmental conditions along with the four module constants IL,ref, Io,ref, γ, and Rs to generate an IV curve at each timestep.
The currentvoltage equation of circuit shown in Figure 1 is as follows:
I=IL−Io[exp(qγkTc(V+IRs))−1]
where Rs and γ are constants. The photocurrent IL depends linearly on incident radiation:
IL=IL,refGTGT,ref
The reference insolation Gref is nearly always defined as 1000 W/m2. The diode reverse saturation current Io is a temperature dependent quantity:
IoIo,ref=(TcTc,ref)3
Equation [eq:ElecLoadI869] gives the current implicitly as a function of voltage. Once Io and IL are found from Equations [eq:ElecLoadIL870] and [eq:ElecLoadIoOverIoref871], Newton’s method is employed to calculate the PV current. In addition, an iterative search routine finds the current (Imp) and voltage (Vmp) at the point of maximum power along the IV curve.
Calculating IL,ref, Io,ref, γ, and Rs
The Idf specification for the PV model include several values which must be read from manufacturers’ PV module catalogs. The manufactures’ values are used to determine the equivalent circuit characteristics IL,ref, Io,ref, γ, and Rs. These characteristics define an equivalent circuit that is employed to find the PV performance at each timestep, as described previously. This section describes the algebra and calculation algorithms used to solve for the four equivalent circuit characteristics.
Three of these values, IL,ref, Io,ref, and γ may be isolated algebraically. The first step is to substitute the current and voltage into Equation [eq:ElecLoadI869] at the opencircuit, short circuit, and maximum power conditions:
0=IL,ref−Io,ref[exp(qγkTc,refVoc,ref)−1]−Voc,refRsh
Isc,ref=IL,ref−Io,ref[exp(qIsc,refRsγkTc,ref)−1]−Isc,refRsRsh
Imp,ref=IL,ref−Io,ref[exp(qγkTc,ref(Vmp,ref+Imp,refRs))−1]−Vmp,ref+Imp,refRsRsh
In each case the “1” term is/may be dropped to simplify the algebra. This approximation has little influence on the right side of the equations since because the magnitude of Io is very small, generally on the order of 10−6 A. Some rearrangement then yields the following three expressions which isolate IL,ref, Io,ref, and γ:
IL,ref≈Isc,ref
γ=q(Vmp,ref−Voc,ref+Imp,refRs)kTc,refln(1−Imp,refIsc,ref)
Io,ref=Isc,refexp(qVoc,refγkTc,ref)
At this point an additional equation is needed in order to determine the last unknown parameter. Taking the analytical derivative of voltage with respect to temperature at the reference opencircuit condition derives the fourth equation. This analytical value is matched to the opencircuit temperature coefficient, a catalog specification:
∂Voc∂Tc=μvoc=γkq[ln(Isc,refIo,ref)+TcμiscIsc,ref−(3+qεAkTc,ref)]
where:
A=γNs
The “TRNSYS PV model” uses an iterative search routine in these four equations to calculate the equivalent circuit characteristics. The first step is to set upper and lower bounds for the series resistance parameter Rs: physical constraints require the Rs value to lie between 0 and the value such that γ = Ns. The initial guess for Rs is midway between these bounds. γ and Io,ref are found from Equations [eq:ElecLoadGamma876] and [eq:ElecLoadIoref877], while Equation [eq:ElecLoadILref875] gives a trivial solution for IL,ref. The model then employs Equation [eq:ElecLoaddVocdTc878] to compare the analytical and catalog values for mvoc. When all other variables are held constant, the analytical value for mvoc increases monotonically with series resistance (Townsend 1989). If the analytical voltage coefficient is less than the catalog value, the lower bound for Rs is reset to the present guess value. Likewise, the upper bound is set to the current value if the calculated mvoc is too large. After resetting the upper or lower bound for Rs, a new guess value is found by averaging the bounds. This procedure repeats until Rs and γ converge. Note that for IL,ref, Io,ref,, γ, and Rs are assumed to be constant and are calculated only on the first call in the simulation. Alternatively, the user may enter a known series resistance by entering a positive value in the IDF. In this case the iterative routine described above is skipped and Equations [eq:ElecLoadILref875], [eq:ElecLoadGamma876], and [eq:ElecLoadIoref877] find IL,ref, Io,ref,, and γ directly from the given value of Rs.
PV Section 2 : Module Operating Temperature[LINK]
The PV model uses one of five methods for determining cell temperature data. The cell temperature of a PV module is important because the hotter the temperature of the panel, the lower its electrical output. The cell temperature calculation method is chosen by the user in the EnergyPlus IDF file through a parameter choice in the IDD entry called Integration and Cell Temperature Mode.
If the value of this parameter is “Decoupled NOCT Conditions” then the cell temperature of the PV is modeled using the method from the Duffie and Beckman (1991) for estimating cell temperature. This is based upon the standard NOCT (Nominal Operating Cell Temperature) measurements to compute the module temperature Tc at each timestep. The NOCT temperature (Tc,NOCT) is the operating temperature of the module with a wind speed of 1 m/s, no electrical load, and a certain specified insolation and ambient temperature [Beckman and Duffie, 1991]. The values for insolation GT,NOCT and ambient temperature Ta,NOCT are usually 800 W/m2 and 20∘C. ηc is the convesion efficiency of the module, which varies with ambient conditions. τα is a userdefined constant.
The equation is:
Tc=Ta+1−ηcταGTτα/UL
If the user specifies the “**Decoupled Ulleberg Dynamic“** mode for calculating cell temperature, then a method developed by Ulleberg is used:
Tcellt=Tambient+(Tcellt−1−Tambient)∗e−ULCapΔt
In other words, the cell temperature is a function of the privious cell temperature and the thermal capacity of the PV module material.
If the user specifies “**Integrated Surface Outside Face“** for this parameter, then the temperature result from EnergyPlus’s modeling of surfaces is used for the cell temperature. Also the energy exported from the surface as electricity becomes a sink in the internal source modeling for the heat transfer surface.
If the user specifies “**Integrated Transpired Collector“** for this parameter, then the temperature result for the unglazed transpired collector surfaces is used for the cell temperature. Also the energy exported from the collector surface as electricity is deprecated using a source term in the collector’s temperature modeling.
If the user specifies “**Integrated Exterior Vented Cavity“** for this parameter, then the temperature result for the exterior cavity is used for the cell temperature. Also the energy exported from the baffle surface as electricity is deprecated using a source term in the baffle’s temperature modeling.
PV Section 3 : MultiArray Modules[LINK]
The electrical calculations discussed in the sections above deal only with a single module. The EnergyPlus PV component may be used to simulate arrays with any number of modules. The IDF defines the number of modules in series (NS) and modules in parallel (NP) for the entire array. The total number of modules in the array is the product of NS and NP. When simulating a single module only, both NS and NP are set to 1. The singlemodule values for all currents and voltages discussed in PV Section 1 are multiplied by NP or NS to find values for the entire array. This approach neglects module mismatch losses.
With the above equations, and the assumption that the panels operate at the maximum power point, it is a direct calculation to determine DC power production. The performance of an array of identical modules is assumed to be linear with the number of modules in series and parallel. The inverter efficiency is applied linearly to derate the energy production. The inverter capacity forms a limit for power production from a PV generator. A ‘load’ is passed the PV array acting as a generator and various trivial calculations compare PV production to this load. If the PV array is associated with a surface that is associated with a zone, then if the zone has any multipliers associated with it, electricity production will be multiplied accordingly.
Duffie, John A. and William A. Beckman. 1991. Solar Engineering of Thermal Processes. New York: John Wiley & Sons, Inc..
Eckstein, Jürgen Helmut. 1990. Detailed Modeling of Photovoltaic Components. M. S. Thesis – Solar Energy Laboratory, University of Wisconsin, Madison: 1990.
Ulleberg, Øystein. HYDROGEMS Component Library for TRNSYS 15 User Manual, Institute for Energy Technology, Kjeller, Norway
The third model available in EnergyPlus for predicting the electricity generated by photovoltaics is referred to as the Sandia model. This model is based on work done at Sandia National Lab, Albuquerque, NM by David King – with the help of many others. The model consists of a series of empirical relationships with coefficients that are derived from actual testing. Once the coefficients for a particular module are available, it is straightforward matter to use the model equations to calculate five select points on the currentvoltage curve.
The C++ implementation in EnergyPlus is also based on work done by Greg Barker (2003) for the National Renewable Energy Lab who implemented the Sandia model in FORTRAN77 as a custom type (Type101) for the TRNSYS computer program.
There are several climate and solar orientation inputs to the model that are managed elsewhere in EnergyPlus including: incident beam solar, incident diffuse solar, incidence angle of beam solar, solar zenith Angle, outdoor drybulb, wind speed, and elevation.
Mathematical Description[LINK]
This section presents the mathematical description of the Sandia model from a draft report by King et, al. (2003). The core of the model predicts the performance of a single PV module. The following nomenclature and equations summarize the Sandia model.
Nomenclature for Sandia PV model
Isc

Shortcircuit current (A) 
Imp

Current at the maximumpower point (A) 
Ix

Current at module V = 0.5 Voc, defines 4th point on IV curve 
Ixx

Current at module V = 0.5 (Voc + Vmp), defines a 5th point on the IV curve 
Voc

Opencircuit voltage (V) 
Vmp

Voltage at maximumpower point (V) 
Pmp

Power at maximumpower point (W) 
fd 
Fraction of diffuse irradiance used by module 
Ns

Number of cells in series in a module’s cellstring 
Np

Number of cellstrings in parallel in module 
k 
Boltzmann’s constant, 1.38066E23 (J/K) 
q 
Elementary charge, 1.60218E19 (coulomb) 
Tc

Cell temperature inside module (∘C) 
δ(Tc) 
‘Thermal voltage’ per cell at temperature Tc, approximately 1 volt for a typical 26cell crystalline silicon module 
Ee

‘Effective’ solar irradiance 
Eb

Beam solar irradiance 
Ediff

Diffuse solar irradiance 
C0, C1

Empirical coefficients relating Imp to Ee, C0 + C1 = 1 (both dimensionless) 
C2, C3

Empirical coefficients relating Vmp to Ee (C2 dimensionless, C3 is 1/V) 
C4, C5

Empirical coefficients relating Ix to Ee, C4 + C5 = 1 (both dimensionless) 
C6, C7

Empirical coefficients relating Ixx to Ee C6 + C7 = 1 (both dimensionless) 
n 
Empirically determined ‘diode factor’ for individual cells 
AMa 
Absolute Air Mas 
AOI 
Solar angleofincidence (degrees) from normal 
f1(AMa) 
Empirical polynomial function used to relate shortcircuit current to the solar spectrum via air mass 
f2(AOI) 
Empirical polynomial function used to relate shortcircuit current to the solar angleofincidence 
a0, a1, a2, a3, a4

Empirical coefficients for f1(AMa) polynomial 
b0, b1, b2, b3, b4,b5,b6

Empirical coefficients for f2(AOI) polynomial 
To

Reference cell temperature for rating, typically fixed at 25∘C 
Isco

Short circuit current at reference conditions 
Impo

Max power point current at reference conditions 
Vmpo

Voltage at max power at reference conditions 
Voco

Open circuit voltage at reference conditions 
Ixo

Current at V = 0.5 Voc and at reference conditions 
Ixxo

Current at V = 0.5 (Vmp + Voc) and at reference conditions 
αIsc

Normalized temperature coefficient for Isc (1/∘C) 
αImp

Normalized temperature coefficient for Imp (1/∘C) 
βVoc(Ee) 
Temperature coefficient for module opencircuitvoltage as function of Ee

βVoco

Temperature coefficient for module opencircuitvoltage at reference conditions 
mβVoco

Coefficient for irradiance dependence of opencircuitvoltagetemperature coefficient, often zero (V/∘C) 
βVmp(Ee) 
Temperature coefficient for module maximumpowervoltage as a function of E 
βVmpo

Temperature coefficient for module maximumpowervoltage at reference conditions 
mβVoco

Cofficient for irradiance dependence of maximumpowervoltagetemperature coefficient, often zero (V/∘C) 
Tm

PV module temperature at back suface (∘C) 
Ta

Ambient outdoor drybulb temperature (∘C) 
E 
Solar irradiance incident on module surface (W/m2) 
WS 
Wind speed at standard 10m height (m/s) 
a 
Empirical coefficient relating module temperature at low wind and high solar irradiance 
b 
Empirical coefficient relating module temperature decrease with increasing wind speed 
Tc

Temperature of solar cell inside module (∘C) 
Eo

Reference solar irradiance (1000 W/m2) 
ΔT 
Temperature difference between Tc and Tm at Eo (∘C), (This is d(Tc) in the Sandia database) 
The current implementation in EnergyPlus focuses on determining performance at the maximum powerpoint but also calculates, and reports, four other points on the IV curve so that the data are available for analyses outside of EnergyPlus. The equations below use the module performance parameters that are available in a database provided by Sandia National Laboratory (see www.sandia.gov/pv). The following equations form the basis of the Sandia model implemented in EnergyPlus:
Isc=Isco⋅f1(AMa)⋅{(Eb⋅f2(AOI)+fd⋅Ediff)/Eo}⋅{1+αIsc⋅(Tc−To)}
Imp=Impo⋅{Co⋅Ee+C1⋅E2e}⋅{1+αImp⋅(Tc−To}
Voc=Voco+Ns⋅δ(Tc)⋅ln(Ee)+βVoc(Ee)⋅(Tc−To)
Vmp=Vmpo+C2⋅Ns⋅δ(Tc)⋅ln(Ee)+C3⋅N3⋅{δ(Tc)⋅ln(Ee)}2+βVmp(Ee)⋅(Tc−To)
Pmp=Imp⋅Vmp
Ix=Ixo⋅{C4⋅Ee+C5⋅E2e}⋅{1+(αIsc)⋅(Tc−To)}
Ixx=Ixxo⋅{C6⋅Ee+C7⋅E2e}⋅{1+(αImp)⋅(Tc−To)}
where:
Ee=Isc/[Isco⋅{1+αIsc⋅(Tc−To)}]
δ(Tc)=n⋅k⋅(Tc+273.15)/q
f1(AMa)=a0+a1AMa+a2(AMa)2+a3(AMa)3+a4(AMa)4
f2(AOI)=b0+b1⋅AOI+b2(AOI)2+b3(AOI)3+b4(AOI)4+b5(AOI)5
βVoc(Ee)=βVoco+mβVoc⋅(1−Ee)
βVmp(Ee)=βVmpo+mβVmp⋅(1−Ee)
Tm=E⋅{ea+b⋅WS}+Ta
Tc=Tm+EEo⋅ΔT
With the above equations, and the assumption that the panels operate at the maximum power point, it is a direct calculation to determine DC power production. The performance of an array of identical modules is assumed to be linear with the number of modules in series and parallel. The inverter efficiency is applied linearly to derate the energy production. The inverter capacity forms a limit for power production from a PV generator. A ‘load’ is passed the PV array acting as a generator and various trivial calculations compare PV production to this load. If the PV array is associated with a surface that is associated with a zone, then if the zone has any multipliers associated with it, electricity production will be multiplied accordingly.
The equation above for Tm is used to predict backofmodule temperature when the mode ‘SANDIA RACK’ is selected. This would be appropriate for most rack mounted PV installations. If the user selects ‘EPLUS INTEGRATED’ then the backofmodule temperature is obtained from the outside face surface temperature calculated by the full complement of Heat Balance models using Conduction Transfer Functions that is native to EnergyPlus. And energy exported from the surface is accounted for using a source/sink term that is lagged from the previous timestep (pingpong).
King, D.L., Boyson, W.E., Kratochvil J.A. 2003. Photovoltaic Array Performance Model. Sandia National Laboratories, Albuquerque, NM 87185, November 2003 currently in DRAFT
Barker, G. 2003 (unknown). Predicting LongTerm Performance of Photovoltaic Arrays. Submitted as deliverable for NREL subcontract LAX13048002. Currently in DRAFT
Davis, M.W., Fanney, A.H., and Dougherty B.P. 2002. Measured Versus Predicted Performance of Building Integrated Photovoltaics. from the conference Solar 2002, Sunrise on the Reliable Energy Economy, June 1519, 2002, Reno, NV. Available from NIST website.
King, D.L. 1996. Photovoltaic Module and Array Performance Characterization Methods for All System Operating Conditions. Sandia National Laboratory. Albuquerque, NM 87185
The PVWatts model was developed by NREL to calculate the energy production of a gridconnected PV system based on a few simple inputs. It was originally developed and maintained for the System Advisor Model software and is also available as a standalone web API. It is implemented as Generator and Inverter objects in EnergyPlus rather than as a photovoltaic performance object because the inputs are more highlevel than Generator:Photovoltaic. Full details of the PVWatts model are explained in PVWatts Version 5 Manual.
Dobos, Aron P. PVWatts Version 5 Manual. National Renewable Energy Laboratory, Golden, CO 80401, September 2014. https://www.nrel.gov/docs/fy14osti/62641.pdf
Photovoltaic Arrays[LINK]
The Photovoltaics module includes three different models referred to as “Simple”, “Equivalent OneDiode” and “Sandia” and the choice will determine the mathematical models (and input data) used to determine the energy produced by solar/electric conversion panels. There is also a PVWatts generator which abstracts away specifying PV modules and array properties for a simpler input structure. The EnergyPlus photovoltaic array models are called one at a time at the HVAC system timestep along with other electrical generation components such as gas turbines and diesel engines.
All of the photovoltaic models with the exception of the PVWatts model share the same models for predicting incident solar radiation that are also used for the solar thermal calculations and are described in the section Climate, Sky and Solar/Shading Calculations. The PVWatts generator uses the same solar calculations as the SAM software or PVWatts web API.
Note that some of the terminology used to discussed photovoltaics overlaps with terminology in software development and both may apply in these descriptions. The word module may refer to a PV panel or to a C++ programming entity. Model may refer to a manufacturers production model for a specific type of PV module or to a mathematical model used for engineering analysis. Array may refer to a collection of PV modules wired together or to a mathematical variable with multiple elements.
The PV modules are assumed to always run when the total incident solar is greater than 0.3 Watts. If the incident solar is less than 0.3, then the modules produce no power.
PV arrays are managed by an electric load center. The load center is a “load” with respect to generating equipment but is a “supply center” for the rest of the building. PV arrays need to be connected to ElectricLoadCenter:Distribution objects that have a DC buss type.
Simple Model[LINK]
The Generator:PV:Simple object describes about the simplest model for predicting photovoltaic energy production. In this model the user specifies the efficiency with which surfaces convert incident solar radiation to electricity. (In the other models this efficiency is determined as part of the model.) The full geometric model for solar radiation is used, including sky models, shading, and reflections, to determine the incident solar resource. The model accepts arbitrary conversion efficiencies and does not require actual production units be tested to obtain empirical performance coefficients. (The Energy+.idd sets the range of conversion efficiencies to be within [0..1], but the user could alter the Energy+.idd to extend this range if desired.)
Mathematical Description[LINK]
The usable electrical power produced by a PV surface are calculated using:
P=Asurf⋅factiv⋅GT⋅ηcell⋅ηinvert
On the right hand side of this equation, only GT is calculated by EnergyPlus and the rest are user inputs. Power levels are assumed constant over the timestep to arrive at energy production.
There are two modes that can be selected by the user that govern how the PV system is coupled to the building surfaces. If the integration mode is selected as ‘DECOUPLED’ then no adjustments are made to account for energy extracted in the form of electricity. If the integration mode is selected as ‘INTEGRATED’ then the energy extracted in the form of electricity is removed from surface heat transfer calculations using a sink term. This sink term is lagged from the previous timestep.
Equivalent OneDiode Model[LINK]
This model predicts the electrical performance of a photovoltaic (PV) array. This model is also known as the “TRNSYS PV” model.
Mathematically speaking, the EnergyPlus PV module employs equations for an empirical equivalent circuit model to predict the currentvoltage characteristics of a single module. This circuit consists of a DC current source, diode, and either one or two resistors. The strength of the current source is dependent on solar radiation and the IV characteristics of the diode are temperaturedependent. The results for a single module equivalent circuit are extrapolated to predict the performance of a multimodule array.
The module employs a “fourparameter” equivalent circuit to model crystalline (both mono and poly) PV modules developed at the University of Wisconsin – Madison. The values of these parameters cannot normally be obtained directly from manufacturers’ catalogs. However, the PV module will automatically calculate them from commonly available data. The PV module also includes an optional incidence angle modifier correlation to calculate how the reflectance of the PV module surface varies with the angle of incidence of solar radiation.
The module determines PV current as a function of load voltage. Other OUTPUTS include current and voltage at the maximum power point along the IV curve, opencircuit voltage, short circuit current as well as electrical load met and unmet.
Mathematical Description[LINK]
PV Section 1: FourParameter Model[LINK]
The fourparameter equivalent circuit model was developed largely by Townsend [1989] and is detailed by Duffie and Beckman [1991]. The model was first incorporated into a component for the TRNSYS simulation package by Eckstein [1990]. The EnergyPlus module employs the Eckstein model for crystalline PV modules, using it whenever the shortcircuit IV slope is set to zero or a positive value as modified by Ulleberg [2000]. The four parameter model assumes that the slope of the IV curve is zero at the shortcircuit condition:
(dIdV)v=0=0
This is a reasonable approximation for crystalline modules. The “four parameters” in the model are IL,ref, Io,ref, γ, and Rs. These are empirical values that cannot be determined directly through physical measurement. The EnergyPlus model calculates these values from manufactures’ catalog data as discussed in the following section on calculating these parameters.
The fourparameter equivalent circuit is shown in Figure 1.
Equivalent circuit in the four parameter model [fig:equivalentcircuitinthefourparameter]
V is the load voltage and I is the current flowing through the load and PV.
Determining Performance under Operating Conditions
The IV characteristics of a PV change with both insolation and temperature. The PV model employs these environmental conditions along with the four module constants IL,ref, Io,ref, γ, and Rs to generate an IV curve at each timestep.
The currentvoltage equation of circuit shown in Figure 1 is as follows:
I=IL−Io[exp(qγkTc(V+IRs))−1]
where Rs and γ are constants. The photocurrent IL depends linearly on incident radiation:
IL=IL,refGTGT,ref
The reference insolation Gref is nearly always defined as 1000 W/m2. The diode reverse saturation current Io is a temperature dependent quantity:
IoIo,ref=(TcTc,ref)3
Equation [eq:ElecLoadI869] gives the current implicitly as a function of voltage. Once Io and IL are found from Equations [eq:ElecLoadIL870] and [eq:ElecLoadIoOverIoref871], Newton’s method is employed to calculate the PV current. In addition, an iterative search routine finds the current (Imp) and voltage (Vmp) at the point of maximum power along the IV curve.
Calculating IL,ref, Io,ref, γ, and Rs
The Idf specification for the PV model include several values which must be read from manufacturers’ PV module catalogs. The manufactures’ values are used to determine the equivalent circuit characteristics IL,ref, Io,ref, γ, and Rs. These characteristics define an equivalent circuit that is employed to find the PV performance at each timestep, as described previously. This section describes the algebra and calculation algorithms used to solve for the four equivalent circuit characteristics.
Three of these values, IL,ref, Io,ref, and γ may be isolated algebraically. The first step is to substitute the current and voltage into Equation [eq:ElecLoadI869] at the opencircuit, short circuit, and maximum power conditions:
0=IL,ref−Io,ref[exp(qγkTc,refVoc,ref)−1]−Voc,refRsh
Isc,ref=IL,ref−Io,ref[exp(qIsc,refRsγkTc,ref)−1]−Isc,refRsRsh
Imp,ref=IL,ref−Io,ref[exp(qγkTc,ref(Vmp,ref+Imp,refRs))−1]−Vmp,ref+Imp,refRsRsh
In each case the “1” term is/may be dropped to simplify the algebra. This approximation has little influence on the right side of the equations since because the magnitude of Io is very small, generally on the order of 10−6 A. Some rearrangement then yields the following three expressions which isolate IL,ref, Io,ref, and γ:
IL,ref≈Isc,ref
γ=q(Vmp,ref−Voc,ref+Imp,refRs)kTc,refln(1−Imp,refIsc,ref)
Io,ref=Isc,refexp(qVoc,refγkTc,ref)
At this point an additional equation is needed in order to determine the last unknown parameter. Taking the analytical derivative of voltage with respect to temperature at the reference opencircuit condition derives the fourth equation. This analytical value is matched to the opencircuit temperature coefficient, a catalog specification:
∂Voc∂Tc=μvoc=γkq[ln(Isc,refIo,ref)+TcμiscIsc,ref−(3+qεAkTc,ref)]
where:
A=γNs
The “TRNSYS PV model” uses an iterative search routine in these four equations to calculate the equivalent circuit characteristics. The first step is to set upper and lower bounds for the series resistance parameter Rs: physical constraints require the Rs value to lie between 0 and the value such that γ = Ns. The initial guess for Rs is midway between these bounds. γ and Io,ref are found from Equations [eq:ElecLoadGamma876] and [eq:ElecLoadIoref877], while Equation [eq:ElecLoadILref875] gives a trivial solution for IL,ref. The model then employs Equation [eq:ElecLoaddVocdTc878] to compare the analytical and catalog values for mvoc. When all other variables are held constant, the analytical value for mvoc increases monotonically with series resistance (Townsend 1989). If the analytical voltage coefficient is less than the catalog value, the lower bound for Rs is reset to the present guess value. Likewise, the upper bound is set to the current value if the calculated mvoc is too large. After resetting the upper or lower bound for Rs, a new guess value is found by averaging the bounds. This procedure repeats until Rs and γ converge. Note that for IL,ref, Io,ref,, γ, and Rs are assumed to be constant and are calculated only on the first call in the simulation. Alternatively, the user may enter a known series resistance by entering a positive value in the IDF. In this case the iterative routine described above is skipped and Equations [eq:ElecLoadILref875], [eq:ElecLoadGamma876], and [eq:ElecLoadIoref877] find IL,ref, Io,ref,, and γ directly from the given value of Rs.
PV Section 2 : Module Operating Temperature[LINK]
The PV model uses one of five methods for determining cell temperature data. The cell temperature of a PV module is important because the hotter the temperature of the panel, the lower its electrical output. The cell temperature calculation method is chosen by the user in the EnergyPlus IDF file through a parameter choice in the IDD entry called Integration and Cell Temperature Mode.
If the value of this parameter is “Decoupled NOCT Conditions” then the cell temperature of the PV is modeled using the method from the Duffie and Beckman (1991) for estimating cell temperature. This is based upon the standard NOCT (Nominal Operating Cell Temperature) measurements to compute the module temperature Tc at each timestep. The NOCT temperature (Tc,NOCT) is the operating temperature of the module with a wind speed of 1 m/s, no electrical load, and a certain specified insolation and ambient temperature [Beckman and Duffie, 1991]. The values for insolation GT,NOCT and ambient temperature Ta,NOCT are usually 800 W/m2 and 20∘C. ηc is the convesion efficiency of the module, which varies with ambient conditions. τα is a userdefined constant.
The equation is:
Tc=Ta+1−ηcταGTτα/UL
If the user specifies the “**Decoupled Ulleberg Dynamic“** mode for calculating cell temperature, then a method developed by Ulleberg is used:
Tcellt=Tambient+(Tcellt−1−Tambient)∗e−ULCapΔt
In other words, the cell temperature is a function of the privious cell temperature and the thermal capacity of the PV module material.
If the user specifies “**Integrated Surface Outside Face“** for this parameter, then the temperature result from EnergyPlus’s modeling of surfaces is used for the cell temperature. Also the energy exported from the surface as electricity becomes a sink in the internal source modeling for the heat transfer surface.
If the user specifies “**Integrated Transpired Collector“** for this parameter, then the temperature result for the unglazed transpired collector surfaces is used for the cell temperature. Also the energy exported from the collector surface as electricity is deprecated using a source term in the collector’s temperature modeling.
If the user specifies “**Integrated Exterior Vented Cavity“** for this parameter, then the temperature result for the exterior cavity is used for the cell temperature. Also the energy exported from the baffle surface as electricity is deprecated using a source term in the baffle’s temperature modeling.
PV Section 3 : MultiArray Modules[LINK]
The electrical calculations discussed in the sections above deal only with a single module. The EnergyPlus PV component may be used to simulate arrays with any number of modules. The IDF defines the number of modules in series (NS) and modules in parallel (NP) for the entire array. The total number of modules in the array is the product of NS and NP. When simulating a single module only, both NS and NP are set to 1. The singlemodule values for all currents and voltages discussed in PV Section 1 are multiplied by NP or NS to find values for the entire array. This approach neglects module mismatch losses.
With the above equations, and the assumption that the panels operate at the maximum power point, it is a direct calculation to determine DC power production. The performance of an array of identical modules is assumed to be linear with the number of modules in series and parallel. The inverter efficiency is applied linearly to derate the energy production. The inverter capacity forms a limit for power production from a PV generator. A ‘load’ is passed the PV array acting as a generator and various trivial calculations compare PV production to this load. If the PV array is associated with a surface that is associated with a zone, then if the zone has any multipliers associated with it, electricity production will be multiplied accordingly.
References[LINK]
Duffie, John A. and William A. Beckman. 1991. Solar Engineering of Thermal Processes. New York: John Wiley & Sons, Inc..
Eckstein, Jürgen Helmut. 1990. Detailed Modeling of Photovoltaic Components. M. S. Thesis – Solar Energy Laboratory, University of Wisconsin, Madison: 1990.
Ulleberg, Øystein. HYDROGEMS Component Library for TRNSYS 15 User Manual, Institute for Energy Technology, Kjeller, Norway
Sandia Photovoltaic Performance Model[LINK]
The third model available in EnergyPlus for predicting the electricity generated by photovoltaics is referred to as the Sandia model. This model is based on work done at Sandia National Lab, Albuquerque, NM by David King – with the help of many others. The model consists of a series of empirical relationships with coefficients that are derived from actual testing. Once the coefficients for a particular module are available, it is straightforward matter to use the model equations to calculate five select points on the currentvoltage curve.
The C++ implementation in EnergyPlus is also based on work done by Greg Barker (2003) for the National Renewable Energy Lab who implemented the Sandia model in FORTRAN77 as a custom type (Type101) for the TRNSYS computer program.
There are several climate and solar orientation inputs to the model that are managed elsewhere in EnergyPlus including: incident beam solar, incident diffuse solar, incidence angle of beam solar, solar zenith Angle, outdoor drybulb, wind speed, and elevation.
Mathematical Description[LINK]
This section presents the mathematical description of the Sandia model from a draft report by King et, al. (2003). The core of the model predicts the performance of a single PV module. The following nomenclature and equations summarize the Sandia model.
The current implementation in EnergyPlus focuses on determining performance at the maximum powerpoint but also calculates, and reports, four other points on the IV curve so that the data are available for analyses outside of EnergyPlus. The equations below use the module performance parameters that are available in a database provided by Sandia National Laboratory (see www.sandia.gov/pv). The following equations form the basis of the Sandia model implemented in EnergyPlus:
Isc=Isco⋅f1(AMa)⋅{(Eb⋅f2(AOI)+fd⋅Ediff)/Eo}⋅{1+αIsc⋅(Tc−To)}
Imp=Impo⋅{Co⋅Ee+C1⋅E2e}⋅{1+αImp⋅(Tc−To}
Voc=Voco+Ns⋅δ(Tc)⋅ln(Ee)+βVoc(Ee)⋅(Tc−To)
Vmp=Vmpo+C2⋅Ns⋅δ(Tc)⋅ln(Ee)+C3⋅N3⋅{δ(Tc)⋅ln(Ee)}2+βVmp(Ee)⋅(Tc−To)
Pmp=Imp⋅Vmp
Ix=Ixo⋅{C4⋅Ee+C5⋅E2e}⋅{1+(αIsc)⋅(Tc−To)}
Ixx=Ixxo⋅{C6⋅Ee+C7⋅E2e}⋅{1+(αImp)⋅(Tc−To)}
where:
Ee=Isc/[Isco⋅{1+αIsc⋅(Tc−To)}]
δ(Tc)=n⋅k⋅(Tc+273.15)/q
f1(AMa)=a0+a1AMa+a2(AMa)2+a3(AMa)3+a4(AMa)4
f2(AOI)=b0+b1⋅AOI+b2(AOI)2+b3(AOI)3+b4(AOI)4+b5(AOI)5
βVoc(Ee)=βVoco+mβVoc⋅(1−Ee)
βVmp(Ee)=βVmpo+mβVmp⋅(1−Ee)
Tm=E⋅{ea+b⋅WS}+Ta
Tc=Tm+EEo⋅ΔT
With the above equations, and the assumption that the panels operate at the maximum power point, it is a direct calculation to determine DC power production. The performance of an array of identical modules is assumed to be linear with the number of modules in series and parallel. The inverter efficiency is applied linearly to derate the energy production. The inverter capacity forms a limit for power production from a PV generator. A ‘load’ is passed the PV array acting as a generator and various trivial calculations compare PV production to this load. If the PV array is associated with a surface that is associated with a zone, then if the zone has any multipliers associated with it, electricity production will be multiplied accordingly.
The equation above for Tm is used to predict backofmodule temperature when the mode ‘SANDIA RACK’ is selected. This would be appropriate for most rack mounted PV installations. If the user selects ‘EPLUS INTEGRATED’ then the backofmodule temperature is obtained from the outside face surface temperature calculated by the full complement of Heat Balance models using Conduction Transfer Functions that is native to EnergyPlus. And energy exported from the surface is accounted for using a source/sink term that is lagged from the previous timestep (pingpong).
References[LINK]
King, D.L., Boyson, W.E., Kratochvil J.A. 2003. Photovoltaic Array Performance Model. Sandia National Laboratories, Albuquerque, NM 87185, November 2003 currently in DRAFT
Barker, G. 2003 (unknown). Predicting LongTerm Performance of Photovoltaic Arrays. Submitted as deliverable for NREL subcontract LAX13048002. Currently in DRAFT
Davis, M.W., Fanney, A.H., and Dougherty B.P. 2002. Measured Versus Predicted Performance of Building Integrated Photovoltaics. from the conference Solar 2002, Sunrise on the Reliable Energy Economy, June 1519, 2002, Reno, NV. Available from NIST website.
King, D.L. 1996. Photovoltaic Module and Array Performance Characterization Methods for All System Operating Conditions. Sandia National Laboratory. Albuquerque, NM 87185
PVWatts[LINK]
The PVWatts model was developed by NREL to calculate the energy production of a gridconnected PV system based on a few simple inputs. It was originally developed and maintained for the System Advisor Model software and is also available as a standalone web API. It is implemented as Generator and Inverter objects in EnergyPlus rather than as a photovoltaic performance object because the inputs are more highlevel than Generator:Photovoltaic. Full details of the PVWatts model are explained in PVWatts Version 5 Manual.
References[LINK]
Dobos, Aron P. PVWatts Version 5 Manual. National Renewable Energy Laboratory, Golden, CO 80401, September 2014. https://www.nrel.gov/docs/fy14osti/62641.pdf
Documentation content copyright © 19962020 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.