First time here? Check out the Help page!
1 | initial version |
AvailabilityManager:DifferentialThermostat
is already implemented in OpenStudio and has been for quite a while, but it isn't available in the OS App though, so you need to use the API via a measure (or load the ruby bindings in a terminal, whatever). Here's some dummy code to give you an example of how the avm works:
m = OpenStudio::Model::Model.new
p = OpenStudio::Model::PlantLoop.new(m)
p2 = OpenStudio::Model::PlantLoop.new(m)
s = OpenStudio::Model::SolarCollectorFlatPlateWater.new(m)
p.addSupplyBranchForComponent(s)
wh = OpenStudio::Model::WaterHeaterMixed.new(m)
p.addDemandBranchForComponent(wh)
p2.addSupplyBranchForComponent(wh)
avm = OpenStudio::Model::AvailabilityManagerDifferentialThermostat.new(m)
avm.setHotNode(p.supplyOutletNode)
avm.setColdNode(wh.supplyInletModelObject.get.to_Node.get)
avm.setTemperatureDifferenceOnLimit(10)
avm.setTemperatureDifferenceOffLimit(2)
FYI, you might be interested in this Pull Request I have made #2844, where I added every missing availability managers to openstudio, as well as the ability to add several (currently one only is allowed) AVMs for a given plant loop. This will allow to properly control Solar collector loops (and many more).
It got merged in develop so should be available in the upcoming new release of OpenStudio.
If you are tight on time constraints, I would propose your use an E+ measure.
2 | No.2 Revision |
AvailabilityManager:DifferentialThermostat
is already implemented in OpenStudio and has been for quite a while, but it isn't available in the OS App though, so you need to use the API via a measure (or load the ruby bindings in a terminal, whatever). Here's some dummy code to give you an example of how the avm works:
m = OpenStudio::Model::Model.new
p = OpenStudio::Model::PlantLoop.new(m)
p2 = OpenStudio::Model::PlantLoop.new(m)
s = OpenStudio::Model::SolarCollectorFlatPlateWater.new(m)
p.addSupplyBranchForComponent(s)
wh = OpenStudio::Model::WaterHeaterMixed.new(m)
p.addDemandBranchForComponent(wh)
p2.addSupplyBranchForComponent(wh)
avm = OpenStudio::Model::AvailabilityManagerDifferentialThermostat.new(m)
avm.setHotNode(p.supplyOutletNode)
avm.setColdNode(wh.supplyInletModelObject.get.to_Node.get)
avm.setTemperatureDifferenceOnLimit(10)
avm.setTemperatureDifferenceOffLimit(2)
FYI, you might be interested in this Pull Request I have made #2844, where I added every missing availability managers to openstudio, as well as the ability to add several (currently one only is allowed) AVMs for a given plant loop. This will allow to properly control Solar collector loops (and many more).
It got merged in develop so should be available in the upcoming new release of OpenStudio.
If you are tight on time constraints, I would propose your use an E+ measure.