2

OS:Coil:Cooling:DX:MultiSpeed does not connect in OpenStudio

I am trying to add a DX cooling coil to an air loop using an OpenStudio measure. It all works very well when I use "OS:Coil:Cooling:DX:VariableSpeed". The coil does indeed show up on the Air Loop HVAC diagram, together with heating coil, variable speed fan, outdoor air system and energy recovery ventilator, all of which also get added in the same OpenStudio measure. At this point, I am not adjusting any parameters yet, just trying to compose the general topology.

However, when I comment out the "OS:Coil:Cooling:DX:VariableSpeed" creation and uncomment out the "OS:Coil:Cooling:DX:MultiSpeed" creation in that measure, the cooling coil no longer shows up in the Air Loop HVAC diagram, though all other components still show up. Also, while the .OSM file with the "OS:Coil:Cooling:DX:VariableSpeed" shows corresponding OS:Connection entries, the .OSM file with the "OS:Coil:Cooling:DX:MultiSpeed" does not, even though the "OS:Coil:Cooling:DX:MultiSpeed" entry itself does show up.

It is as if this call generates the connections

cooling_coil = OpenStudio::Model::CoilCoolingDXVariableSpeed.new(model)

but this call does not?

cooling_coil = OpenStudio::Model::CoilCoolingDXMultiSpeed.new(model)

I'd appreciate any thoughts.

mattkoch's avatar
1.1k
mattkoch
asked 2020-11-01 10:46:20 -0500
Aaron Boranian's avatar
14.1k
Aaron Boranian
updated 2020-11-01 10:49:02 -0500
edit flag offensive 0 remove flag close merge delete

Comments

add a comment see more comments

1 Answer

1

See the EnergyPlus IO Ref which says...

Coil:Cooling:DX:MultiSpeed

...Currently, this cooling coil can only be referenced by a AirLoopHVAC:UnitarySystem or AirLoopHVAC:UnitaryHeatPump:AirToAir:Multispeed object....


The OpenStudio API is behaving correctly. Note that trying to add a CoilCoolingDXMultiSpeed to the air loop returns false, but returns true for the CoilCoolingDXVariableSpeed and FanVariableVolume classes.

PS C:\Users\matt> irb
irb(main):001:0> require 'openstudio'
=> true
irb(main):002:0> include OpenStudio::Model
=> Object
irb(main):003:0> m = Model.new
=> #<OpenStudio::Model::Model:0x00000002c045e8 @__swigtype__="_p_openstudio__model__Model">
irb(main):004:0> al = AirLoopHVAC.new(m)
=> #<OpenStudio::Model::AirLoopHVAC:0x000000064dbcb8 @__swigtype__="_p_openstudio__model__AirLoopHVAC">
irb(main):005:0> cc_dx_vs = CoilCoolingDXVariableSpeed.new(m)
=> #<OpenStudio::Model::CoilCoolingDXVariableSpeed:0x0000000685b4d8 @__swigtype__="_p_openstudio__model__CoilCoolingDXVariableSpeed">
irb(main):006:0> cc_dx_ms = CoilCoolingDXMultiSpeed.new(m)
=> #<OpenStudio::Model::CoilCoolingDXMultiSpeed:0x00000006743190 @__swigtype__="_p_openstudio__model__CoilCoolingDXMultiSpeed">
irb(main):007:0> al_so_node = al.supplyOutletNode
=> #<OpenStudio::Model::Node:0x0000000686aac8 @__swigtype__="_p_openstudio__model__Node">
irb(main):008:0> cc_dx_vs.addToNode(al_so_node)
=> true
irb(main):009:0> cc_dx_ms.addToNode(al_so_node)
=> false
irb(main):010:0> f = FanVariableVolume.new(m)
=> #<OpenStudio::Model::FanVariableVolume:0x000000068d9400 @__swigtype__="_p_openstudio__model__FanVariableVolume">
irb(main):011:0> f.addToNode(al_so_node)
=> true
irb(main):012:0>
MatthewSteen's avatar
10.1k
MatthewSteen
answered 2020-11-03 10:00:30 -0500, updated 2020-11-03 10:06:34 -0500
edit flag offensive 0 remove flag delete link

Comments

1

Yup, stumbled across that after I posted my question but had hoped it was dated. It isn’t. So, now I am trying to work around this by using a unitary system as a wrapper for that coil. I saw that suggestion in another post.

mattkoch's avatar mattkoch (2020-11-03 21:05:53 -0500) edit
add a comment see more comments