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

How to model/ calculate a two-axis tracking PV (in OpenStudio or EnergyPlus)?

asked 2017-09-06 04:35:36 -0500

Architect's avatar

updated 2022-01-28 09:41:34 -0500

I want to simulate a model with PV-integrated two-axis tracking shading devices. How is possible to model a PV-integrated dual axis tracking shading device to calculate the electricity production and shading performance? These devices are responding to the Sun and rotating according to the Sun's movement during the simulation period, I don't really know how to model it. Can anyone help? Note: I prefer using OpenStudio if possible or EnergyPlus if it is not possible in OpenStudio. The attached figure shows the idea which is modeled in OpenStudio + the diagram of two-axis tracking shading image description

edit retag flag offensive close merge delete


The figure is missing

Julien Marrec's avatar Julien Marrec  ( 2017-09-08 08:53:11 -0500 )edit

I know this can't be done directly in OpenStudio. If it is possible in EnergyPlus then you could implement it as an EnergyPlus measure.

David Goldwasser's avatar David Goldwasser  ( 2017-09-08 12:32:00 -0500 )edit

@Julien I have added the figue. I want to assign PV to these shading devices. The electricity production from the tracking PV-integrated shading elements and shading performance affecting the building performance are required.

Architect's avatar Architect  ( 2017-09-08 13:26:54 -0500 )edit

@David Thank you for the reply. I am not familiar with EP measures, can you tell me how do I obtain the result that I am looking for? Please tell me as a beginner. First I need to export the OS model to EP?

Architect's avatar Architect  ( 2017-09-08 13:30:09 -0500 )edit

@Architect. Here is some documentations on measures. OSM is a modeling format, and then is converted to an IDF at run time. While OpenStudio measures can be applied to your model live, or at run time, EnergyPlus measures are just applied at run time. You don't need to manually export. You basically add a measure to the workflow, keep working on your model, then at runtime the measure is applied at the proper position in the workflow.

David Goldwasser's avatar David Goldwasser  ( 2017-09-08 16:20:30 -0500 )edit

4 Answers

Sort by ยป oldest newest most voted

answered 2022-01-28 08:10:18 -0500

As of v8.9, EnergyPlus now includes the PVWatts calculation, which allows modeling PV with 1-axis and 2-axis tracking. For example, note the Generator:PVWatts Field Array Type input, which can be OneAxis, OneAxisBacktracking, and TwoAxis.

image description

This model is also wrapped in the OpenStudio SDK.

edit flag offensive delete link more


This should probably be marked as the accepted answer now

Julien Marrec's avatar Julien Marrec  ( 2022-01-31 04:55:10 -0500 )edit

answered 2017-09-12 09:00:48 -0500

One possible (and cumbersome) workaround to move a surface, may be to define multiple Shading:Building:Detailed in the same location, but with different orientation. (I don't know, if e+ has a problem with overlapping shading surfaces. If yes, this won't work). With EMS you can override their Transparency Schedule. You can set the surfaces, that are not facing the sun at the moment fully transparent, and set the one surface to fully opaque, that is facing the sun. Again, with an EMS sensor you can read the solar irrad. on the opaque surface, and calculate the generated electricity within the EMS program, with some simple model.

image description

edit flag offensive delete link more


Good way of thinking outside the box!

Problem is, your Generator:PV is still linked to one surface. So its tilt and orientation won't change. With your workaround (still assuming you can have overlapping shading surfaces, which I think you can) you can only change the shading part, not the PV generation part. And yes, it will be (extremely) cumbersome, and definitely unimaginable without some amount of scripting involved.

Julien Marrec's avatar Julien Marrec  ( 2017-09-12 11:46:13 -0500 )edit

@adambgnr thank you for your answer, can you send me a similar EMS with defined multiple Shading:Building:Detailed ? Only calculate the shading part is OK for now, I will find another method to calculate the generated electricity from the PV panels.

Architect's avatar Architect  ( 2017-09-13 08:43:55 -0500 )edit

@adambgnr for the PV generation, is it only possible to read one fixed opaque? If so, as @Julien Marrec says, it won't be two-axis tracking system it produces electricity as a fixed system, right?

Architect's avatar Architect  ( 2017-09-15 03:35:01 -0500 )edit

The workaround described above is just an idea. Unfortunately I don't have a working model. But if I had to do it I would do the following:

  • Make the overlapping surfaces, that are rotated in both axes.
  • For all of the surfaces with EMS return the Surface Ext Solar Beam Cosine Of Incidence Angle with this, you can tell, which surface is the 'most perpendicular' to the sun.
  • Make the most perpendicular one 100% opaque, the others 100% transparent. This can be done by overwriting the transparency schedule of the surfaces you don't need
adambgnr's avatar adambgnr  ( 2017-09-15 04:31:05 -0500 )edit

(contd.) - Read the Surface Outside Face Incident Solar Radiationfor the surface you keep. - Calculate the amount of generated electricity wit your own EMS program

This is a lot of work. I'm not sure if this is the easiest solution, you can give it a try.

adambgnr's avatar adambgnr  ( 2017-09-15 04:34:17 -0500 )edit

answered 2017-09-11 09:23:07 -0500

As far as I can tell, there's no way to do this in EnergyPlus (would love to be proven wrong).

I don't see any built-in objects to do this, so there's only the EnergyManagementSystem (EMS) option left. I've looked in detail at all the EMS Actuators that are produced by EnergyPlus, and none will allow you to vary the position of a surface.

edit flag offensive delete link more


I was wondering if there was a way to do that, thought it would have been needed at some point for dynamic external shading devices, but I guess not.

David Goldwasser's avatar David Goldwasser  ( 2017-09-11 10:14:20 -0500 )edit

Thank you for the answer. Is it possible to do this using Grasshopper (Ladybug + Honeybee)?

Architect's avatar Architect  ( 2017-09-12 07:49:20 -0500 )edit

Ladybug/honeybee will always end up producing an EnergyPlus model. So if you can't do this in EnergyPlus, you can't do this in Ladybug/Honeybee, unless you developp a custom plugin and end up passing information to E+, but that's way beyond the scope.

Julien Marrec's avatar Julien Marrec  ( 2017-09-13 08:54:49 -0500 )edit

answered 2018-01-25 04:57:01 -0500

Avi's avatar

updated 2018-01-25 04:57:14 -0500

There might be another way to go around this matter. You could use the Efficiency Schedule of PhotovoltaicPerformance:Simple to simulate changing efficiency opposite to the loss which occurs due to the fact that the PV surface is fixed. You could do that using EMS.

edit flag offensive delete link more

Your Answer

Please start posting anonymously - your entry will be published after you log in or create a new account.

Add Answer

Training Workshops


Question Tools


Asked: 2017-09-06 04:35:36 -0500

Seen: 876 times

Last updated: Jan 28 '22