3

Solar Hot Water with Open Studio measure

I am trying to create an OpenStudio measure the incorporates a solar hot water collector into a plant loop. I can create a new SolarCollectorFlatPlateWater object but cannot create a SolarCollectorPerformanceFlatPlate object.

Within measure.rb:

def run(model, runner, user_arguments)
  super(model, runner, user_arguments)  # Do **NOT** remove this line
  new_collector = OpenStudio::Model::SolarCollectorFlatPlateWater.new(model)
  new_collector_perf = OpenStudio::Model::SolarCollectorPerformanceFlatPlate.new(model)

This produces the following error in Ruby:

Error: allocator undefined for OpenStudio::Model::SolarCollectorPerformanceFlatPlate

Is there another way to create a SolarCollectorPerformanceFlatPlate object in an open studio measure?

DanV's avatar
31
DanV
asked 2023-08-18 12:32:38 -0500
Aaron Boranian's avatar
14.1k
Aaron Boranian
updated 2023-08-18 16:47:41 -0500
edit flag offensive 0 remove flag close merge delete

Comments

I can't seem to get the code to look right. There are several lines that are all shown together but are separate lines.

DanV's avatar DanV (2023-08-18 12:33:08 -0500) edit
add a comment see more comments

1 Answer

3

OpenStudio automatically creates the performance object when you create the solar collector.

So:

new_collector = OpenStudio::Model::SolarCollectorFlatPlateWater.new(model)
new_collector_perf = new_collector.solarCollectorPerformance

You can find an example like this with more code here.

And of course the OpenStudio SDK documentation can be found here.

shorowit's avatar
11.8k
shorowit
answered 2023-08-18 20:36:09 -0500
edit flag offensive 0 remove flag delete link

Comments

That fixed it. I also was able to use your code to do most of what I was planning to do. Thank you!

DanV's avatar DanV (2023-09-01 13:42:47 -0500) edit
add a comment see more comments