First time here? Check out the Help page!
1 | initial version |
I'm working on on adding a report for solar collectors to the OpenStudio Results measure but can't tell you when that's going to be completed as I have other things on my plate.
For now, I suggest doing this:
Solar Collector Efficiency"
and Solar Collector Heat Transfer Energy
. You can report it annually (set reporting frequency to RunPeriod
) or maybe monthly if you want more detail. That will give you the average efficiency of the solar collector and the total heat transfer by the collector and will allow you to double check that your results are correct and physically sound.If you only added a couple of collectors, reporting the area of the collectors can be done easily manually using the openstudio application, otherwise just write a little piece of code like so (I'm writing on the go without trying it, so excuse any typos)
all_collectors = (model.getSolarCollectorFlatPlatePhotovoltaicThermals +
model.getSolarCollectorIntegralCollectorStorages +
model.getSolarCollectorFlatPlateWaters)
total_area_m2 = 0
n_sc = 0
all_collectors.each do |sc|
# Skip collectors that aren't linked to a plant loop or don't have a surface
next if sc.surface.empty?
next if sc.plantLoop.empty?
n_sc += 1
area_m2 = sc.surface.get.netArea
total_area_m2 += area_m2
end
total_area_ft2 = OpenStudio::convert(total_area_m2, "m^2", "ft^2").get
puts "There area #{n_sc} collectors properly defined, for a total area of #{OpenStudio.toNeatString(total_area_m2, 0, true)} m^2 // #{OpenStudio.toNeatString(total_area_ft2, 0, true)} ft^2"
2 | No.2 Revision |
I'm working on on adding a report for solar collectors to the OpenStudio Results measure but can't tell you when that's going to be completed as I have other things on my plate.
For now, I suggest doing this:
Solar Collector Efficiency"Efficiency
and Solar Collector Heat Transfer Energy
. You can report it annually (set reporting frequency to RunPeriod
) or maybe monthly if you want more detail. That will give you the average efficiency of the solar collector and the total heat transfer by the collector and will allow you to double check that your results are correct and physically sound.If you only added a couple of collectors, reporting the area of the collectors can be done easily manually using the openstudio application, otherwise just write a little piece of code like so (I'm writing on the go without trying it, so excuse any typos)
all_collectors = (model.getSolarCollectorFlatPlatePhotovoltaicThermals +
model.getSolarCollectorIntegralCollectorStorages +
model.getSolarCollectorFlatPlateWaters)
total_area_m2 = 0
n_sc = 0
all_collectors.each do |sc|
# Skip collectors that aren't linked to a plant loop or don't have a surface
next if sc.surface.empty?
next if sc.plantLoop.empty?
n_sc += 1
area_m2 = sc.surface.get.netArea
total_area_m2 += area_m2
end
total_area_ft2 = OpenStudio::convert(total_area_m2, "m^2", "ft^2").get
puts "There area #{n_sc} collectors properly defined, for a total area of #{OpenStudio.toNeatString(total_area_m2, 0, true)} m^2 // #{OpenStudio.toNeatString(total_area_ft2, 0, true)} ft^2"
3 | No.3 Revision |
I'm working Following your question I just realized that even the eplustbl.htm
has virtually no useful information on solar collectors. I've decided to work on on adding a report for solar collectors to the OpenStudio Results measure but can't tell you when that's going to be completed as I have other things on my plate.
For now, I suggest doing this:
Solar Collector Efficiency
and Solar Collector Heat Transfer Energy
. You can report it annually (set reporting frequency to RunPeriod
) or maybe monthly if you want more detail. That will give you the average efficiency of the solar collector and the total heat transfer by the collector and will allow you to double check that your results are correct and physically sound.If you only added a couple of collectors, reporting the area of the collectors can be done easily manually using the openstudio application, otherwise just write a little piece of code like so (I'm writing on the go without trying it, so excuse any typos)
all_collectors = (model.getSolarCollectorFlatPlatePhotovoltaicThermals +
model.getSolarCollectorIntegralCollectorStorages +
model.getSolarCollectorFlatPlateWaters)
total_area_m2 = 0
n_sc = 0
all_collectors.each do |sc|
# Skip collectors that aren't linked to a plant loop or don't have a surface
next if sc.surface.empty?
next if sc.plantLoop.empty?
n_sc += 1
area_m2 = sc.surface.get.netArea
total_area_m2 += area_m2
end
total_area_ft2 = OpenStudio::convert(total_area_m2, "m^2", "ft^2").get
puts "There area #{n_sc} collectors properly defined, for a total area of #{OpenStudio.toNeatString(total_area_m2, 0, true)} m^2 // #{OpenStudio.toNeatString(total_area_ft2, 0, true)} ft^2"