Question-and-Answer Resource for the Building Energy Modeling Community
Get started with the Help page

# Photovoltaic Modeling in Openstudio

Trying to model a pv system to determine the affect of an onsite renewable generation system on the building electric demand use throughout the year, and the affect on the utility demand measurement. Been trying to find a workflow for openstudio 2.4 to specify the kW capacity of the system, but there does not seem to be anything in the os platform for this. The two measures on the bcl library do not allow the flexibility to model the power of the actual pv system. Any help on how to model the pv system would be greatly appreciated.

edit retag close merge delete

Sort by ยป oldest newest most voted

The power of the system is, at its basic level, the product of the amount of PV area, and the efficiency of the system (modules and inverters). Most of the measures out there work off of existing geometry to determine the physical size (area) of the array; the onus is on the modeler to determine and provide the PV layout by way of geometry in the model.

If you want to report system power, you could add something to your measure like:

# init
system_rated_output = 0.0
panel_rated_output = 4.0  # w/ft^2
pv_area_total = 0.0

pv_surfaces.each do |pv_surface|
pv_area = OpenStudio::getArea(pv_surface.vertices()).get
pv_area_total += pv_area
end

system_rated_output = panel_rated_output * pv_area_total #watts


This would give you total system power and the most basic level (uncorrected for transformer/inverter/other losses).

Now, if you wanted a measure to create a system based on a total system power input, you'd simply reverse that workflow, having the measure create a polygon that was right-sized to get you to the power you were looking for. But then the issue is where in/on/around the model to place this system? I would encourage you to design the system first and model it (as geometry (shading surfaces), then have your measure auto-transform them into pv modules, add the associated gear, and hook it all up with reporting variables for EnergyPlus. All that stuff is done in the measures on the BCL (e.g. "add rooftop PV").

more

This doesn't help you today, but for future users reading this question: The popular PVWatts model was added to EnergyPlus v8.9 and will be available in the next release of OpenStudio (> 2.5.0). In my opinion, this should be the preferred PV model for most EnergyPlus users going forward.

If you look at the EnergyPlus link, you'll see that it has simple inputs like nameplate capacity (W), module type, etc. One of the nice things about the model is that you can use it without assigning it to a surface by simply specifying the tilt/azimuth. If you do choose to assign it to a surface, the surface then defines the tilt/azimuth/shading.

It should be quite simple for someone to add a BCL measure for this model once the new OpenStudio release is out.

more

The bad thing about that nice thing is that the user can specify a totally irrational PV system that way. By directly linking the PV modules to actual polygons, the user automatically creates a system that is oriented and tilted properly, is located appropriately, and has some basis in reality.

( 2018-04-22 17:40:08 -0500 )edit

Maybe it's just my residential perspective, but I don't think many people are looking to use EnergyPlus for design of PV systems. Rather, they generally know what size systems can fit on the roof and are looking to EnergyPlus for energy production estimates.

( 2018-04-22 20:47:05 -0500 )edit

We have already design the pv system, but are trying the see how the pv will affect the utility demand measurement in the model. This will then correlate to the energy cost performance of the building for the EAp2 credit for LEED. So by being able to specify the panels during our schematic analysis we are able the size the pv panels to help meet the the requirement for the different standards that pertain to the project

( 2018-05-08 15:39:17 -0500 )edit

The ability to avoid having to assign the PV system to a particular surface is immensely helpful to users.

"One of the nice things about the model is that you can use it without assigning it to a surface by simply specifying the tilt/azimuth."

Good caveat about the potential pitfall for irrational systems. I brought this up in a meeting.

( 2024-07-02 15:54:01 -0500 )edit