diff --git a/design/FY2024/DuctLoss.PNG b/design/FY2024/DuctLoss.PNG new file mode 100644 index 00000000000..ec4fabf3f2c Binary files /dev/null and b/design/FY2024/DuctLoss.PNG differ diff --git a/design/FY2024/DuctModelRoadMap.md b/design/FY2024/DuctModelRoadMap.md new file mode 100644 index 00000000000..a87e5d07e7c --- /dev/null +++ b/design/FY2024/DuctModelRoadMap.md @@ -0,0 +1,997 @@ +Duct model road map +================ + +** Lixing Gu ** + +** Florida Solar Energy Center** + + - 5th draft, 3/6/24 + + After a technicalities call on 3/6/24 + + - 4th draft, 2/22/24 + + After a conference call with Scott on 2/22/24 + + - Third draft, 2/15/24 + + After Technicalities on 2/7/24 + + - Second draft, 2/7/24 + + After Technicalities on 2/7/24 + + - Original draft, 1/20/24 + +## Background ## + +The AFN model is able to simulate duct conduction and leakage losses. The driving force is the pressure difference. NREL wants duct model can be performed wihtout using the AFN model. In other words, duct losses can be simulated without any pressure calculation and under AirLoopHVAC configurations. The following required may be met: + +1. The proposed new objects may be compatible with the AFN objects. In other words, no duplication is required. +2. The new model should be able to simulate duct conduction and leakage losses. + +Since the process is very complicated, a roadmap is needed to provide dicrection how to implement the new feature. It may involve changes of existing AFN objects. + +## E-mail and Conference Call Conclusions ## + +### E-mail communication with Mike ### + +The most important restriction is that any proposed new objects or existing objects have to be used in the AFN model for the roadmap. + +I'm not sure I understand. I thought the goal here was a simplified model that didn't require AFN. +Mike + +On 2/6/2024 2:08 PM, gu@fsec.ucf.edu wrote: +Mike: + +Thanks for your comments. Let me explain what I need to define duct objects to calculate conduction loss and leakage first. Here are requirements. + +1. Air node + +Some nodes are needed to be redefined, in addition to air node defined in AirLoopHAVC. For example, the inlet node of a zone splitter is the same node of AirloopHVAC demand outlet node. In order to build a duct, I need to make two separate nodes, instead of one. + +2. Duct as a linkage + +A linkage is needed to use two air nodes to represent a duct for conduction loss calculation. + +3. Leak as a linkage + +A zone and an air node have to used to represent a supply or return leak + +4. Make up air as a linkage + +Due to unbalanced supply and return leaks, additional flows between outdoor and a zone, and between two zones have to be defined based on a leakage + +5. Duct component + +Duct geometry and materials are needed for conduction loss calculation + +6. Leakage component + +The fraction flow is needed to represent leakage + +The most important restriction is that any proposed new objects or existing objects have to be used in the AFN model for the roadmap. + +Therefore, I propose to use existing the AFN objects. An alternative choice is that the AFN objects may be renames by removing “AirflowNetwork” for general purpose. For example, AirflowNetwork:Distribution:Node can be replaced by Distribution:Node. + +Therefore, expansion of ZoneHVAC:AirDistributionUnit may not be enough to cover what I need. The object may not be used in the AFN model. + +Thanks. + +Gu + +From: Michael J. Witte +Sent: Tuesday, February 6, 2024 12:49 PM +To: Lixing Gu ; 'Lee, Edwin' ; 'Horowitz, Scott' ; 'Winkler, Jon' ; 'DeGraw, Jason' ; 'Neal Kruis' ; rraustad@fsec.ucf.edu +Subject: Re: Roadmap for comments + +Gu, + +Did you consider extending the leakage options in ZoneHVAC:AirDistributionUnit instead of using the AFN objects? + +ZoneHVAC:AirDistributionUnit, + + N1 , \field Nominal Upstream Leakage Fraction + \note fraction at system design Flow; leakage Flow constant, leakage fraction + \note varies with variable system Flow Rate. + N2 , \field Constant Downstream Leakage Fraction + +Mike + +### Discussion in the technicalities on 2/7/24 ### + +The roadmap was discussed in the Technicalities on 2/7/24. Here are comments and my reply after my name. + +Scott: Temperature control at the exterior boundary conditions + +Gu: I am going to add 3 more fields at the end of Duct:Loss: + +\field Environment Type +\field Ambient Temperature Zone Name +\field Ambient Temperature Schedule Name + + +Mike: Heat dump from condution and leakaga to the zone? + +Scott: Use regain factor + +Gu: Any energy loss or gain from conduction and leakage will be added as zone loads. The detailed implementation will be addressed in the design document + +Jason DeGraw: Not undesrand fully and will need time to provide comments later. + +Gu: Will make offline contact + +Scott: Solve option in the AirflowNetwork:SimulationControl may be controversial, so that the AirflowNetwork:SimulationControl object may not be used. + +Jason: Agree. + +Brett: It is odd to use AirflowNetwork:SimulationControl for non AFN simplified duct model. + +Gu: I agree not to use AirflowNetwork:SimulationControl to trigger the simplified duct model. Instead, a new proposed object of Duct:Loss will be used. + +The trigger option using AirflowNetwork:SimulationControl in the Roadmap will be removed. + +### Discussion in the conference call on 2/15/24 ### + +A group of team members attanded the conference call for further discussion: Mike, Jason, Edwin and Gu. Scott missed the call and will get a chance to review the thrid draft. + +#### General agreement #### + +The group is OK with the proposed inputs. + +#### Undecided items #### + +The group have different opinions for the new object of Duct:Lose + +1. Keep a single object as Duct:Loss and A4 field with 3 choice as Conduction, Leakage and MakeupAir +2. Use 3 new objects wihtout A4 field + +The detailed approaches are provided below. + +#### Suggestion #### + +When the makeup air is introduced, it is better to investigate the ZoneAirMassFlowConservation to see possible connection. + +Gu: There are two types of makeup air. The first type is that the makeup aie flows from outdoor to a zone, equivalent to Infiltration. The second type is that the makeup air flows from a zone to another zone, equivalent to Mixing object. It is possible to assign makeup air into Infiltration and Mixing airflows and call ZoneAirMassFlowConservation to perform mass conservation. + +### Discussion in the conference call on 2/22/24 ### + +Scott and Gu attended the conference call. + +#### New objects #### + +Scott prefer to use 3 new objects to represent conduction, leakage and makeup air, respectively. + +#### Supply leak calculation #### + +Scott also agrees to calculate equivalent temperature and humidity ratio after supply leak without chancge the mass flow rate of Airloop mass flow rate. + +#### Have a concern #### + +Although Scott accepts the proposed new and existing objects, he would like to reserve his opinion: no AFN names for none AFN approach. + +Gu's response: In order to keep the roadmap moving, the existing AFN objects will be used. + +### Discussion in the technicalities call on 3/6/24 ### + +The design document was presented in the call. + +Mike asked a question why added duct loss is restricted to a system. The general is preferred. + +Gu's reply: + +There is a function to calculate zone sensible and latent outputs as CalcZoneSensibleLatentOutput in the GeneralRoutines module. + + void CalcZoneSensibleLatentOutput(Real64 const MassFlow, // air mass flow rate, {kg/s} + Real64 const TDBEquip, // dry-bulb temperature at equipment outlet {C} + Real64 const WEquip, // humidity ratio at equipment outlet + Real64 const TDBZone, // dry-bulb temperature at zone air node {C} + Real64 const WZone, // humidity ratio at zone air node + Real64 &SensibleOutput, // sensible output rate (state 2 -> State 1), {W} + Real64 &LatentOutput, // latent output rate (state 2 -> State 1), {W} + Real64 &TotalOutput // total = sensible + latent putput rate (state 2 -> State 1), {W} + ) + { + + // Purpose: + // returns total, sensible and latent heat rate of transfer between the supply air zone inlet + // node and zone air node. The moist air energy transfer can be cooling or heating depending + // on the supply air zone inlet node and zone air node conditions. + + // Methodology: + // Q_total = m_dot * (hEquip - hZone) + // Q_sensible = m_dot * Psychrometrics::PsyDeltaHSenFnTdbEquipTdbWZone(TDBEquip, TDBZone, WZone); + // or Q_sensible = m_dot * cp_moistair_zoneHumRat * (TDBEquip - TDBZone) + // cp_moistair_zoneHumRat = Psychrometrics::PsyCpAirFnW(WZone); + // Q_latent = Q_total - Q_latent; + + TotalOutput = 0.0; + LatentOutput = 0.0; + SensibleOutput = 0.0; + if (MassFlow > 0.0) { + TotalOutput = MassFlow * (Psychrometrics::PsyHFnTdbW(TDBEquip, WEquip) - + Psychrometrics::PsyHFnTdbW(TDBZone, WZone)); // total addition/removal rate, {W}; + SensibleOutput = MassFlow * Psychrometrics::PsyDeltaHSenFnTdb2Tdb1W(TDBEquip, TDBZone, WZone); // sensible addition/removal rate, {W}; + LatentOutput = TotalOutput - SensibleOutput; // latent addition/removal rate, {W} + } + } + +There are several modules to call this function: Furnace, HVACMultispeedHeatPump, HVACStandAloneERV, and UnitarySystem. + +Here is an example function to call CalcZoneSensibleLatentOutput in UnitarySystem: + + void UnitarySys::calculateCapacity(EnergyPlusData &state, Real64 &SensOutput, Real64 &LatOutput) + { + + // Check delta T (outlet to reference temp), IF positive use reference HumRat ELSE outlet humrat to calculate + // sensible capacity as MdotDeltaH at constant humidity ratio + int OutletNode = this->AirOutNode; + Real64 AirMassFlow = state.dataLoopNodes->Node(OutletNode).MassFlowRate; + Real64 RefTemp = 0.0; + Real64 RefHumRat = 0.0; + if (this->m_ControlType == UnitarySysCtrlType::Setpoint) { + RefTemp = state.dataLoopNodes->Node(this->AirInNode).Temp; + RefHumRat = state.dataLoopNodes->Node(this->AirInNode).HumRat; + } else { + RefTemp = state.dataLoopNodes->Node(this->NodeNumOfControlledZone).Temp; + RefHumRat = state.dataLoopNodes->Node(this->NodeNumOfControlledZone).HumRat; + } + Real64 SensibleOutput(0.0); // sensible output rate, {W} + Real64 LatentOutput(0.0); // latent output rate, {W} + Real64 TotalOutput(0.0); // total output rate, {W} + // calculate sensible load met + if (this->ATMixerExists) { + ..... + } else { + // Calculate sensible load met + CalcZoneSensibleLatentOutput(AirMassFlow, + state.dataLoopNodes->Node(OutletNode).Temp, + state.dataLoopNodes->Node(OutletNode).HumRat, + RefTemp, + RefHumRat, + SensibleOutput, + LatentOutput, + TotalOutput); + SensOutput = SensibleOutput - this->m_SenLoadLoss; + if (this->m_Humidistat) { + LatOutput = LatentOutput - this->m_LatLoadLoss; + } else { + LatOutput = 0.0; + } + } + this->m_SensibleLoadMet = SensOutput; + this->m_LatentLoadMet = LatOutput; + } + +The sensible and latent zone loads are claculated based on system outlet node (this->AirOutNode) and zone node, instead of zone supply inlet node. The assumtion is that air conditions at both zone supply inlet node and system outlet node are the same. It misses any possible losses between both nodes. The proposed new feature will add any possible losses between both nodes. + +It is recommended that possible refactor for any systems should use zone supply inlet condition, instead of system outlet condition. + +## Roadmap ## + +The roadmap presents my view to implement simplified duct model without using the AFN model. The proposed new feature should meet the above requirements and include three new objects and possible modifications of existing objects. The present document addresses the possible inputs and partial design document so far. + +Any more design document will be followed. + +The following figure represents proposed duct configuration. + +![duct model](DuctLoss.PNG) + +Note: Any air movement from a zone to outdoors is not presented in the figure, becuase exfiltration is not a part of zone energy balance. + +### General inputs ### + +This section presents inputs used in both losses of conduction and leakage. + +The group has not finalized the new objects. There are two choices. The first has a new object with A4 field with 3 choices. The second has 3 new objects: Duct:Loss:Conduction, Duct:Loss:Leakage, and Duct:Loss:MakeupAir. + +#### 3 new objects #### + +An alternative approach is to have 3 new obejcts. Each object represents each loss type explicitly. + + Duct:Loss:Conduction, + A1, \field Name + \required-field + A2, \field AirLoopHAVC Name + \required-field + \type object-list + \object-list AirPrimaryLoops + A3; \field AirflowNetwork:Distribution:Linkage Name + \required-field + \type object-list + \object-list AirflowNetworkDistributionLinkageNames + A4, \field Environment Type + \type choice + \key Zone + \key Schedule + \default Zone + A5, \field Ambient Temperature Zone Name + \type object-list + \object-list ZoneNames + A6; \field Ambient Temperature Schedule Name + \type object-list + \object-list ScheduleNames + + Duct:Loss:Leakage, + A1, \field Name + \required-field + A2, \field AirLoopHAVC Name + \required-field + \type object-list + \object-list AirPrimaryLoops + A3; \field AirflowNetwork:Distribution:Linkage Name + \required-field + \type object-list + \object-list AirflowNetworkDistributionLinkageNames + + Duct:Loss:MakeupAir, + A1, \field Name + \required-field + A2, \field AirLoopHAVC Name + \required-field + \type object-list + \object-list AirPrimaryLoops + A3; \field AirflowNetwork:Distribution:Linkage Name + \required-field + \type object-list + \object-list AirflowNetworkDistributionLinkageNames + +#### Existing object AirflowNetwork:Distribution:Node #### + +The added choice is highlighted in red. + + AirflowNetwork:Distribution:Node, + \min-fields 4 + \memo This object represents an air distribution node in the AirflowNetwork model. + A1 , \field Name + \required-field + \type alpha + \reference AirflowNetworkNodeAndZoneNames + \note Enter a unique name for this object. + A2 , \field Component Name or Node Name + \type alpha + \note Designates node names defined in another object. The node name may occur in air branches. + \note Enter a node name to represent a node already defined in an air loop. + \note Leave this field blank if the Node or Object Type field below is entered as + \note AirLoopHVAC:ZoneMixer, AirLoopHVAC:ZoneSplitter, AirLoopHVAC:OutdoorAirSystem, or Other. + A3 , \field Component Object Type or Node Type + \type choice + \key AirLoopHVAC:ZoneMixer + \key AirLoopHVAC:ZoneSplitter + \key AirLoopHVAC:OutdoorAirSystem + \key OAMixerOutdoorAirStreamNode + \key OutdoorAir:NodeList + \key OutdoorAir:Node + \key Other + + + \key Zone + + + \default Other + \note Designates Node type for the Node or Component Name defined in the field above. + \note AirLoopHVAC:ZoneMixer -- Represents a AirLoopHVAC:ZoneMixer object. + \note AirLoopHVAC:ZoneSplitter -- Represents a AirLoopHVAC:ZoneSplitter object. + \note AirLoopHVAC:OutdoorAirSystem -- Represents an AirLoopHVAC:OutdoorAirSystem object. + \note OAMixerOutdoorAirStreamNode -- Represents an external node used in the OutdoorAir:Mixer + \note OutdoorAir:NodeList -- Represents an external node when a heat exchanger is used before + \note the OutdoorAir:Mixer + \note OutdoorAir:Node -- Represents an external node when a heat exchanger is used before + \note the OutdoorAir:Mixer + \note Other -- none of the above, the Node name already defined in the previous field is part + \note of an air loop. + \note Zone -- Enter a zone name for duct simple model to calculate duct leakage loss. + N1 ; \field Node Height + \type real + \units m + \default 0.0 + \note Enter the reference height used to calculate the relative pressure. + + +Note for AirflowNetwork:Distribution:Node: + +1. Component Name or Node Name + +The field of Component Name or Node Name is either Air Node name or Zone name. If a Zone name or an outdoor air node is entered, this node is used as a return leakage source or a supply leak target. + +2. N1 field are ignored + +Since the proposed feature is used for duct energy losses from conduction and leakage, N1 field is not used in energy loss calculation. The outdoor air node is allowed as either leakage source or target. + +3. A new choice of A3 field is added as zone name. When AFN is fully implemented, the zone name is defined in AirflowNetwork:MultiZone:Zone. For the simplified duct model without using AFN, the added new choice can be used to define a zone for duct leakage calculation. Therefore, there is no need to use AirflowNetwork:MultiZone:Zone. + +#### Existing object AirflowNetwork:Distribution:Linkage #### + + AirflowNetwork:Distribution:Linkage, + \min-fields 4 + \memo This object defines the connection between two nodes and a component. + A1 , \field Name + \required-field + \type alpha + \note Enter a unique name for this object. + \reference AirflowNetworkDistributionLinkageNames + A2 , \field Node 1 Name + \required-field + \type object-list + \object-list AirflowNetworkNodeAndZoneNames + \note Enter the name of zone or AirflowNetwork Node or Air Node. + A3 , \field Node 2 Name + \required-field + \type object-list + \object-list AirflowNetworkNodeAndZoneNames + \object-list AirNodeAndZoneNames + \note Enter the name of zone or AirflowNetwork Node or Air Node. + A4 , \field Component Name + \required-field + \type object-list + \object-list AirflowNetworkComponentNames + \object-list FansCVandOnOffandVAV + \object-list AFNCoilNames + \object-list AFNHeatExchangerNames + \object-list AFNTerminalUnitNames + \note Enter the name of an AirflowNetwork component. A component is one of the + \note following AirflowNetwork:Distribution:Component objects: Leak, LeakageRatio, + \note Duct, ConstantVolumeFan, Coil, TerminalUnit, ConstantPressureDrop, or HeatExchanger. + A5 ; \field Thermal Zone Name + \type object-list + \object-list ZoneNames + \note Only used if component = AirflowNetwork:Distribution:Component:Duct + \note The zone name is where AirflowNetwork:Distribution:Component:Duct is exposed. Leave this field blank if the duct + \note conduction loss is ignored. + +Note for AirflowNetwork:Distribution:Linkage: + +1. Conduction + +If duct conduction loss is simulated, the selected Component Name should be AirflowNetwork:Distribution:Component:Duct. Node 1 and Node 2 names should be Air Node names, provided in the list of AirflowNetwork:Distribution:Node. + +2. Leakage + +If duct leakage loss is simulated, the selected Component Name should be AirflowNetwork:Distribution:Component:LeakageRatio. The input of Effective Leakage Ratio field should be a fraction of mass flow rate of the AirLoopHVAC. The other field inputs are not used. One of nodes should be either zone name or outdoor air node name. + +If a supply leak is defined, Node 1 name should be an air node, Node 2 name should be either a zone name or an outdoor air node name. + +If a return leak is defined, Node 1 name should be either a zone name or an outdoor air node name, Node 2 name should be an air node. + +3. Restriction + +Although there is no restriction of the number of ducts and locations, it is proposed for Phase 1 to have limits as follows. + +3.1 There is a single duct used for SupplyTrunk and ReturnTrunk. + +The connection of SupplyTrunk is between the inlet node (AirloopHVAC Demand Side Inlet Node) of AirLoopHVAC and the AirLoopHVAC:ZoneSplitter inlet node. If AirLoopHVAC:ZoneMixer is available, The connection of ReturnTrunk is between AirLoopHVAC:ZoneMixer outlet node and the outlet node (AirloopHVAC Demand Side Outlet Node) of AirLoopHVAC. + +3.2 Each branch has a single duct. + +The connection of SupplyBranch is between AirLoopHVAC:ZoneSplitter outlet node and one of the Air terminal inlet node. If AirLoopHVAC:ZoneMixer is available, The connection of ReturnBranch is between the zone outlet node and the AirLoopHVAC:ZoneMixer inlet node. + +### Conduction loss ### + +The AirflowNetwork:Distribution:Component:Duct object is used to calculate duct conduction loss. + +#### Existing object for duct conduction loss as AirflowNetwork:Distribution:Component:Duct #### + + AirflowNetwork:Distribution:Component:Duct, + \min-fields 8 + \memo This object defines the relationship between pressure and air flow through the duct. + A1 , \field Name + \required-field + \type alpha + \reference AirflowNetworkComponentNames + \note Enter a unique name for this object. + N1 , \field Duct Length + \required-field + \type real + \units m + \minimum> 0.0 + \note Enter the length of the duct. + N2 , \field Hydraulic Diameter + \required-field + \type real + \units m + \minimum> 0.0 + \note Enter the hydraulic diameter of the duct. + \note Hydraulic diameter is defined as 4 multiplied by cross section area divided by perimeter + N3 , \field Cross Section Area + \required-field + \type real + \units m2 + \minimum> 0.0 + \note Enter the cross section area of the duct. + N4 , \field Surface Roughness + \type real + \units m + \default 0.0009 + \minimum> 0.0 + \note Enter the inside surface roughness of the duct. + N5 , \field Coefficient for Local Dynamic Loss Due to Fitting + \type real + \units dimensionless + \default 0.0 + \minimum 0.0 + \note Enter the coefficient used to calculate dynamic losses of fittings (e.g. elbows). + + + A2, \field Construction Name + \required-field + \type object-list + \object-list ConstructionNames + + + N6 , \field Overall Moisture Transmittance Coefficient from Air to Air + \type real + \units kg/m2 + \minimum> 0.0 + \default 0.001 + \note Enter the overall moisture transmittance coefficient + \note including moisture film coefficients at both surfaces. + N7 , \field Outside Convection Coefficient + \note optional. convection coefficient calculated automatically, unless specified + \type real + \units W/m2-K + \minimum> 0.0 + N8 ; \field Inside Convection Coefficient + \note optional. convection coefficient calculated automatically, unless specified + \type real + \units W/m2-K + \minimum> 0.0 + +Note: + +1. Replace N6 by A2 + +Heat Transmittance Coefficient (U-Factor) for Duct Wall Construction field is replaced by construction name. Since inside and outside film coefficients are provided, there is no reason to requires U factor, if the construction object can be use. + +2. Keep N6 Overall Moisture Transmittance Coefficient from Air to Air + +Although I can require to add one more field for moisture diffusivity in the Material object, this property is driven by humidity ratio. As we know, heat transfer is driven by the temperature difference, while the mositure transfer is driven by partial vapor pressure difference. The humidity ratio, as an independent variable, may not be proper. + +Let's keep the field for the time being. We may need to think to use the partial vapor pressure as driving force to simulate moisture performance across walls. + +3. The Component:Duct is the only component listed in the Component Name defined in the Linkage object for conduction loss calculation. + +4. The Component:LeakageRatio is the only component listed in the Component Name defined in the Linkage object for conduction leakage calculation. + +An example of objects used to calculate duct condiuction loss in an IDF is: + +\begin{lstlisting} + + Duct:Loss:Conduction, + Main duct, !- Name + Main AirLoopHVAC, !- AirLoopHAVC Name + Mail Duct Linkage, !- AirflowNetwork:Distribution:Linkage Name + Zone, !- Environment Type + Zone 1, !- Ambient Temperature Zone Name + ; !- Ambient Temperature Schedule Name + + AirflowNetwork:Distribution:Node, + EquipmentOutletNode, !- Name + Equipment outlet node, !- Component Name or Node Name + Other, !- Component Object Type or Node Type + 3.0; !- Node Height {m} + + AirflowNetwork:Distribution:Node, + SplitterInletNode, !- Name + ZoneSplitter Inlet Node, !- Component Name or Node Name + Other, !- Component Object Type or Node Type + 3.0; !- Node Height {m} + + AirflowNetwork:Distribution:Component:Duct, + AirLoopSupply, !- Name + 0.1, !- Duct Length {m} + 1.0, !- Hydraulic Diameter {m} + 0.7854, !- Cross Section Area {m2} + , !- Surface Roughness {m} + , !- Coefficient for Local Dynamic Loss Due to Fitting {dimensionless} + Duct Wall, !- Construction Name + 0.0001, !- Overall Moisture Transmittance Coefficient from Air to Air {kg/m2} + 0.006500, !- Outside Convection Coefficient {W/m2-K} + 0.032500; !- Inside Convection Coefficient {W/m2-K} + + AirflowNetwork:Distribution:Linkage, + Mail Duct Linkage, !- Name + EquipmentOutletNode, !- Node 1 Name + SplitterInletNode, !- Node 2 Name + AirLoopSupply, !- Component Name + Attic Zone; !- Thermal Zone Name + +\end{lstlisting} + +### Leakage losses without mass flow changes ### + +Assumptions: + +1. The leakage loss calculation is based on energy transfer. In other words, no mass flows are involved in both AirLoopHVAC and zones. For example, when a supply leak is applied, the supply fan flow rate remains the same, the changes may be outlet equivalent temperatures and humidity ratios + +2. Any energy losses for supply leak occur in the source duct and target zone or outdoor air node only. No more extension to other ducts and zones. + +3. Any energy losses for return leak occur in the source zone or outdoor air node and and target duct only. No more extension to other ducts and zones. + +4. Any air movement between zones caused by duct leakage can be accomplished by make up air. + +#### Existing objects #### + +AirflowNetwork:Distribution:Node and AirflowNetwork:Distribution:Linkage are the same as above + +No change of AirflowNetwork:Distribution:Component:LeakageRatio. + +Note for AirflowNetwork:Distribution:Component:LeakageRatio + +Field Effective Leakage Ratio is used as leakage, a fraction of AirLoopHVAC flow. The inputs of the rest of fields are not used. + +#### Makeup air #### + +An important factor for duct leakage is to introduce make up flow due to supply and return leaks. Since we don't use pressure to calculate make up airflow impact, we will allow users to specify makeup air flows and direction using existing AFN object, so that make up airflows can flow from outdoor to a zone, and from a zone to another zone. The requirements are as follows: + +1. The Node 1 name and Node 2 name in the AirflowNetwork:Distribution:Linkage object have to be either zone names for both fields or a zone name and an outdoor node name. The Node 1 name represents flow starting point, and the Node 2 name represents flow ending points. The flow direction for a linkage with a zone name and an outdoor node name should be from outdoor to a zone, equivalent to air infiltration. When both zone names are specified, the equivalent object should Zobe Mixing. + +2. Exfiltration is not used in energy calculation. In other words, an outdoor air node can not be specified as Node 2 name. + +3. The current makeup air is limited in a single AirLoopHVAC. When multiple AirLoopHVACs are applied, makeup air movement between two zones can be very complicated. More deep discussion may be needed after implementation with a single AirLoopHVAC. + +An example of objects used to calculate duct leak loss in an IDF is: + +\begin{lstlisting} + + Duct:Loss:Leakage, + Main duct leak, !- Name + Main AirLoopHVAC, !- AirLoopHAVC Name + Mail Duct Leak; \field AirflowNetwork:Distribution:Linkage Name + + AirflowNetwork:Distribution:Node, + SplitterInletNode, !- Name + ZoneSplitter Inlet Node, !- Component Name or Node Name + Other, !- Component Object Type or Node Type + 3.0; !- Node Height {m} + + AirflowNetwork:Distribution:Node, + Attic Zone, !- Name + Attic zone Name, !- Component Name or Node Name + Other, !- Component Object Type or Node Type + 3.0; !- Node Height {m} + + AirflowNetwork:Distribution:Component:LeakageRatio, + ZoneSupplyELR, !- Name + 0.05, !- Effective Leakage Ratio {dimensionless} + 1.9, !- Maximum Flow Rate {m3/s} + 59.0, !- Reference Pressure Difference {Pa} + 0.65; !- Air Mass Flow Exponent {dimensionless} + + AirflowNetwork:Distribution:Linkage, + Main Duct Leak, !- Name + SplitterInletNode, !- Node 1 Name + Attic Zone, !- Node 2 Name + ZoneSupplyELR, !- Component Name + ; !- Thermal Zone Name + +! Make up air + + Duct:Loss:MakeupAir, + Makeup air, !- Name + Main AirLoopHVAC, !- AirLoopHAVC Name + Duct Leak Makeup; \field AirflowNetwork:Distribution:Linkage Name + + AirflowNetwork:Distribution:Node, + OutdoorAirNode, !- Name + Outdoor Air Node, !- Component Name or Node Name + Other, !- Component Object Type or Node Type + 3.0; !- Node Height {m} + + AirflowNetwork:Distribution:Node, + Living Zone, !- Name + Living zone Name, !- Component Name or Node Name + Other, !- Component Object Type or Node Type + 3.0; !- Node Height {m} + + AirflowNetwork:Distribution:Component:LeakageRatio, + MakeupAirELR, !- Name + 0.05, !- Effective Leakage Ratio {dimensionless} + 1.9, !- Maximum Flow Rate {m3/s} + 59.0, !- Reference Pressure Difference {Pa} + 0.65; !- Air Mass Flow Exponent {dimensionless} + + AirflowNetwork:Distribution:Linkage, + Duct Leak Makeup, !- Name + OutdoorAirNode, !- Node 1 Name + Living Zone, !- Node 2 Name + MakeupAirELR, !- Component Name + ; !- Thermal Zone Name + +\end{lstlisting} + +### Trigger ### + +The duct model can be trigged by two choices. The first choice is to use a new object as Duct:Loss. The second choice is add more choices in the AirflowNetwork Control field of the AirflowNetwork:SimulationControl object. I prefer the first choice. The main reason is that the simplified duct mode does not use the AFN model. Instead, the model only uses the existing AFN objects. + +#### Can be triggered by new chocies of AirflowNetwork Control #### + +Thie option is removed based on most people opinions in the Technicalities. + +#### Self start with new obejcts only #### + + +I prefer to use this approach: + + + Duct:Loss objects are used without any modifications of AirflowNetwork:SimulationControl. + +### Leakage losses with mass flow changes ### + +The inputs of objects in this section should be the same as the section of Leakage losses without mass flow changes. The differences between two sections are internal code implementation. The changes will be addressed in Design document. + +## Design Document ## + +This section will provide algorithms and code implementation approach. + +### Algorithms ### + +The algorithms cover temperature and humidity ratio at the outlet for supply and return leaks. + +#### Conduction #### + +Section of 13.1.4 Node Temperature Calculations in Engineering Reference presents temperature at duct outlet node due to conduction losses: + +The outlet air temperature at the end of the duct (x = L) is: + +To = T + (Ti − T)*exp[-UA/(mCp)] + +where: + +Ti = Inlet air temperature [°C] + +To = Outlet air temperature [°C] + +T∞ = Temperature of air surrounding the duct element [°C] + +U = Overall heat transfer coefficient [W/m2-K] + +A = Surface area (Perimeter * Length) [m2] + +m˙ = Airflow rate [kg/s] + +The heat transfer by convection to ambient, Q, is: + +Qsen = m* Cp(T − Ti){1-exp[-UA/(mCp)]} + +13.1.5 Node Humidity Ratio Calculations presents temperature and humidity ratio at duct outlet node due to diffusion losses: + +The outlet air humidity ratio at the end of the duct (x = L) is: + +Wo = W + (Wi − W)*exp[-UmA/m] + +where: + +Wi = Inlet air temperature [°C] + +Wo = Outlet air temperature [°C] + +W∞ = Temperature of air surrounding the duct element [°C] + +Um = Overall moisture transfer coefficient [W/m2-K] + +A = Surface area (Perimeter * Length) [m2] + +m˙ = Airflow rate [kg/s] + +The mositure transfer by convection to ambient, Q, is: + +Qlat = m* (W − Wi){1-exp[-UmA/m]} + + +#### Supply leaks #### + +The schmetic of supply leak is shown below. + +![Supply Leaks](SupplyLeaks.PNG) + +Assumption: + +No mass flow rate in the Airloop will be changed. Instead, the equivalent temperature and humidity ratio at the outlet will be calculated as follows + +Energy balance for a supply leak + +m1h1 = m2 h2 + m3 h3 + +Mass balance + +m1 = m2 + m3 + +Assumption: + +When a supply leak occurs, it assumes to be at the outlet of the duct. The reality is that the outlet enthalpy remains the same, and supply mass flow rate is changed. However, if we assume the same mass flow rate in the Airloop and keep energy balanced, the equivalent ourlet temperature and humidity will be calculated. + +Based on EnergyPlus psychrometric functions, the enthalpy may be calculayed as follows: + +h = 1.00484e3 * TDB + max(dW, 1.0e-5) * (2.50094e6 + 1.85895e3 * TDB); // enthalpy {J/kg} + +where TDB is dry bulb temperature with units of C. + +The above equation may be simplified as + +h = a\*T + W *(b+c\*T) + +where a, b, and c are constants. + +The energy balance equation can be re-written using the same mass flow rate at the outlet: + +m1h1 = m2 h2 + m3 h3 = m1 h4 + m3 h3 + +where + +h4 = [(m1 - m3) \*h1]/m1 = h1*( 1 - m3/m1 ) + +By substituting E+ enthalpy equation, the energy balance equation can be written as: + +h4 = h1*( 1 - m3/m1 ) + +[a\*T4 + W4 *(b+c\*T4)] = [a\*T1 + W1 *(b+c\*T1)] *( 1 - m3/m1 ) + +Since there are two variables, one set of possible solutions can be + +T4 = T1 *( 1 - m3/m1 ) + +W4 = [W1 \*(b+c\*T1)] \*( 1 - m3/m1 ) / [b+c\*T1*( 1 - m3/m1 )] + +#### Return leaks #### + +The schmetic of return leak is shown below. + +![Return Leaks](ReturnLeaks.PNG) + + +The algorithm and code to calculate outlet condition of OAMixer is apply to return leaks. + +OAMixer calculation: + + Real64 RecircMassFlowRate = state.dataMixedAir->OAMixer(OAMixerNum).RetMassFlowRate - state.dataMixedAir->OAMixer(OAMixerNum).RelMassFlowRate; + + state.dataMixedAir->OAMixer(OAMixerNum).MixMassFlowRate = state.dataMixedAir->OAMixer(OAMixerNum).OAMassFlowRate + RecircMassFlowRate; + + state.dataMixedAir->OAMixer(OAMixerNum).MixEnthalpy = + (RecircMassFlowRate * RecircEnthalpy + + state.dataMixedAir->OAMixer(OAMixerNum).OAMassFlowRate * state.dataMixedAir->OAMixer(OAMixerNum).OAEnthalpy) / + state.dataMixedAir->OAMixer(OAMixerNum).MixMassFlowRate; + state.dataMixedAir->OAMixer(OAMixerNum).MixHumRat = (RecircMassFlowRate * RecircHumRat + state.dataMixedAir->OAMixer(OAMixerNum).OAMassFlowRate * state.dataMixedAir->OAMixer(OAMixerNum).OAHumRat) / state.dataMixedAir->OAMixer(OAMixerNum).MixMassFlowRate; + + state.dataMixedAir->OAMixer(OAMixerNum).MixTemp = + Psychrometrics::PsyTdbFnHW(state.dataMixedAir->OAMixer(OAMixerNum).MixEnthalpy, state.dataMixedAir->OAMixer(OAMixerNum).MixHumRat); + +Return leak calculation: + +1. Calculate recirculate flow + +mRecirculate = mAirloop - mReturnleak + +2. Calculate mixed flow + +mMixed = mRecirculate + mreturnleak + +3. Calculate mixed air properties + +Mass flow rate weighted air properties + +TMixed = (TRecirculte * mRecirculte + TReturnleak * mReturnleak ) /mMixed + +WMixed = (WRecirculte * mRecirculte + WReturnleak * mReturnleak ) /mMixed + +#### Makeup air #### + +The additional energy losses from makeup air is treated as infiltration with airflow from outdoor to a zone, and mixing with airflow from a zone to another. + +##### Infiltration ##### + +Qsen = minf* Cp(T − Ti) + +Qlat = minfhg(W − Wi) + +##### Mixing ##### + +Qsen = mmix* Cp(Tj − Ti) + +Qlat = mmixhg(Wj − Wi) + +#### Add loss to zone load and system load #### + +This section provides treament pathway of losses to either a system or a zone. + +1. Duct conduction and leakage loss + +When the system outlet node is replaced by the zone supply inlet zone, duct losses can be included for system capacity request without any changes of system load prediction. This happens every iteration. + +2. Makeup losses + +I have two choices for the makeup losses. The first choice is to add losses as a part of system load, so that all losses will be added every system iteration. The second choice is to treat makeup losses as zone load used in the next time step. + +Here is a reason: + +When makeup losses are added as zone gain, they are excluded in the predictor calculation, so that requested system load will not have makeup losses at beginning of every time step. Thereofre, the makeup losses needs to be caught in the next zone time step. + +I will try the first choice first. If not working well, the second choice will be implemented. + +##### Conduction and leakage ##### + +All losses from conduction and leakage will be added to a system as Duct loss. The implementation code is similar to the DuctLoss code in UntarySystem, Furnace and Multispeed AirToAir Heat pump mdules. The addon is summed by all conduction and leakage losses served to a system by the same Airloop. + +![DuctlossAddon](DuctlossAddon.png) + +It hsould be pointed out that the added loss is calculated at every iteration of the whole Airloop. + +Since the loss addon is system-based one. Each individual system modification will be performed. + + + +###### Possible approach ###### + +If the system outlet node is changed to a zone inlet node in the call of CalcZoneSensibleLatentOutput, the added losses may be removed. I will test this approach to see if it works or not. + + + + +##### Makeup air ##### + +The energy losses from makeup air will be added in a zone used for the next time step. + +### New module ### + +A new module of DuctLoss will be created for inputs process and calculations. Here is a list of possible functions and associated functionality. + +1. SimDuctLoss +2. GetDuctLossInput +3. InitDuctLoss +4. CalcDuctLoss +5. ReportDuctLoss + +#### SimDuctLoss #### + +A possible function is: + +void DuctLoss::SimDuctLoss(EnergyPlusData &state, bool const FirstHVACIteration) + +The function may contain calls shown below: + + if (state.dataDuctLoss->GetInputOnceFlag) { + // Get the AirLoopHVACDOAS input + getDuctLossSInput(state); + state.dataDuctLoss->GetInputOnceFlag = false; + } + + this->initDuctLoss(state, FirstHVACIteration); + + this->CalcDuctLoss(state, FirstHVACIteration); + + this->ReportDuctLoss(state); + +The function will be called in the SimZoneEquipment of the ZoneEquipmentManager. The location will be similar with the call of SplitterComponent::SimAirLoopSplitter or the call of ReturnAirPathManager::SimReturnAirPath. + +#### GetDuctLossInput #### + +The 3 new objects (Duct:Loss:XXX) will be processed in the new module. The other related AFN objects will be handled in the AFN module to read Node, Linkage, Duct and Leakage object. I will check to see possiblity if separated functions are needed or not in the AFN model, because AFN model and Non AFN model need to process the same objects of Node, Linkage, Duct and Leakage. + +The function may contain functionality shown below: + +Read all inputs for Duct:Loss:XXX +Check possible errors +Setup node connections +Call AFN model functions to get all required AFN objects + +##### Local variables ##### + +All new objects and AFN obejcts will have local array variables defined in the header file. + +#### InitDuctLoss #### + +This function has two functionalities. The first one is to assign component values and check error when some components data are not available in the process of GetDuctLossInput. + +The second functionality is to assign component values at each AirLoop iteration. + +#### CalcDuctLoss #### + +All duct losses will be calculated in this function, including conduction, leaks and makeup air. The outputs will be temperature and humidity ratio at outlet nodes. + +#### ReportDuctLoss #### + +All sensible and latent losses from each Duct:Loss:XXX object will be reported. + +### Other module revisions ### + +The major revisions will be performed in 3 modules, UnitarySystem, MultispeedHeatPump, and Furnace. The change will replace system outlet node by supply inlet node to call CalcZoneSensibleLatentOutput, so that duct losses will be included automatically when system capacity is requested to reach zone setpoint. diff --git a/design/FY2024/DuctlossAddon.png b/design/FY2024/DuctlossAddon.png new file mode 100644 index 00000000000..d4d38b357c6 Binary files /dev/null and b/design/FY2024/DuctlossAddon.png differ diff --git a/design/FY2024/NFP-DuctHeatTransfer.md b/design/FY2024/NFP-DuctHeatTransfer.md new file mode 100644 index 00000000000..499ab666f4f --- /dev/null +++ b/design/FY2024/NFP-DuctHeatTransfer.md @@ -0,0 +1,399 @@ +An Improved Duct Model +================ + +** Lixing Gu ** + +** Florida Solar Energy Center** + + - 3rd draft NFP, 1/11/24 + + Revise NFP based on the conference call on 1/11/24 + + - 2nd draft NFP, 1/7/24 + + Remove Dynamic losses with thermal mass Phase 3 + + Add more fields to allow user to select exterior film coefficients + + - First revision on 1/4/24 + + Had a conference call with NREL residential group + + - Original NFP, 12/15/23 + + - + + +## Justification for New Feature ## + +EnergyPlus is being used by many tools around the world, and used as the calculation basis for hundreds of thousands of residential homes leading to billions of dollars of federal energy efficiency rebates in coming years. One aspect that potentially holds back the impact of these studies is related to duct simulation in EnergyPlus. There is skepticism about the accuracy of the model when we cannot simulate certain duct physics in a simplified manner. Although the airflow network model can handle ducts well, we need a duct model that captures duct heat transfer without having to build out a full airflow network. + +## E-mail and Conference Call Conclusions ## + +### Conference call with NREL residential group ### + +The conference call with NREL residential group was held on 1/4/24. Attendees are Edwin Lee, Scott Horowitz, Jon Winkler, and Lixing Gu. + +Before the conference call, Lixing Gu sent the FSEC original NFP to Scott. The original NFP presents how FSEC wanted to accomplish the new feature. Scott also sent NREL E+ Duct Model document to Lixing Gu. The NREL document presents a big wish list from NREL point of view. + +The conference call discussed both documents. Herer are discussion topics based on the NREL document and associated agreements and differences. + +#### Requirements #### + +The NFP allows multiple supply and return ducts using exisitng E+ configuration of Splitters and Mixers. Both parties agree to use FSEC proposed confiuration as a starting point. + +#### Inputs #### + +Both parties agree the proposed new duct object. NREL wants to cove duct leakage. FSEC agrees that the duct leakage is important to the duct model. However, based on current scope and budget, the duct leakage will be developed in later phases. + +The conference call also discussed inputs of effective R-value of duct. FSEC thinks the effective R-value should be user input. Duct shape is also dicussed. Hydronic diameter input is required. The user are required to convert any shapes into hydronic diameter as pre-processing. + +#### Modeling algorithm #### + +Both parties agree to use the exisitng algorithm to handle duct steady state heat transfer based on 13.1.4 Node Temperature Calculations in the Energuneering Reference. + +No leakage will be included in the present new feature. + +#### Testing/validation #### + +FSEC will validate the model compared to Excel calculation results. NREL will compare model results with EMS implementations. + +#### Other #### + +NREL request relationship to ZoneHVAC:AirDistributionUnit ("Simplified Duct Leakage Model"). + +The paragraph is extracted from Input Output Reference: + +The Air Distribution unit also allows the user to specify leaks in the supply air duct system. These inputs are used in the EnergyPlus Simplified Duct Leakage Model (SDLM). This model simulates a specific configuration: supply leaks to a return plenum in a commercial VAV or CV system. + +Since the proposed new feature does not deal with duct leakage, there is no relationship. + +Unfortunately, no discription of Simplified Duct Leakage Model is found in the Input Output Reference. + +NREL also mentions CSE duct model. + +The CSE duct model is available in the link at https://www.energycodeace.com/site/custom/public/reference-ace-2019/index.html#!Documents/110ductsystemmodel.htm + +Here is model simple description extracted from the link: + +The duct model builds on the procedure given by Palmiter (see Francisco and Palmiter, 2003), that uses a steady state heat exchanger effectiveness approach to get analytical expressions for instantaneous duct loss and system efficiencies. The duct model, developed for this program by Palmiter, makes use of many of the same fundamental steady state equations and approach, but given the considerable complexity of the multiple duct systems, does not do a simultaneous solution of all the equations which a generalized Francisco and Palmiter scheme may imply. Instead the approach takes advantage of the small time steps used in the code, and in effect decouples the systems from each other and the zone by basing all losses and other heat transfers occurring during the time step on the driving conditions of Tair and Tmrt known at the beginning of the time step, similar to how heat transfers are determined during mass temperature updates. + +Other assumptions made in the duct program: mass and thermal siphon effects in the duct system are ignored. + +The duct system performance is analyzed at every time step. The duct air temperatures are calculated assuming they are operating at steady state, in equilibrium with the thermal conditions at the beginning of the time-step in the attic. Heat capacity effects of the ducts are ignored. + +The model simplifies the heat transfer calculation with the multiple duct system. Since the new feature calculates heat transfer one by one, the proposed new feature can provide more accurated duct losses without any simplifications. + +### Follow-up E-mail communication after NREL conference call ### + +Thu 1/4/2024 5:05 PM + +Thanks! A couple comments: + +• "NREL will compare model results with EMS and AFN implementations." -- Please remove the AFN part. I don't think we will be able to do that as we are not set up to easily create models w/ AFN. + +• "FSEC thinks the effective R-value should be user input." – You are referring to the effective R-value excluding interior/exterior air films, right? To be clear, I was originally thinking that E+ might ask for the effective R-value including interior/exterior air films, since they may be prescribed by a standard. E.g., the ANSI/RESNET standard currently says to model uninsulated ducts using an effective R-1.5. Perhaps that could be a separate input for air film or convection coefficient, or there could be some way to connect the SurfaceProperty:ConvectionCoefficients object to these duct objects. + +• "Duct shape is also dicussed. Hydronic diameter input is required. The user are required to convert any shapes into hydronic diameter as pre-processing." – Agreed. But an equally important consideration for duct shape is that the nominal insulation R-Value is derated relative to a rectangular duct. That effect can presumably be accounted for in the duct construction materials (effective R-value), though a typical user may not realize they should do this. + +Also, I found another description of how ducts are modeled for California here. It may not have any new/different information than what you already saw. + +Scott + +### EnergyPlus Technicalities on 1/10/24 ### + +The NFP was discussed in the EnergyPlus Technicalities call. + +#### Comments #### +Jason DeGraw: + +He has different opinion to allow a simple model, since the AFN is able to have a full duct model. He prefers to have compatable approach. + +Gu: + +The proposed new object mimics AFN duct model with heat transfer only. The same conduction loss model is used. The model is mainly used by NREL residential group to simplify inputs without using the AFN model. + +Jason Glazer: + +Since AFN model has all input, is it possible to have a high level object to refer existing AFN object? + +Gu: + +The proposed object is a simplified object to have more restrictions compared to the full AFN model. It is hard to have a high level object. It addition, the high level object may confuse users. + +Rich Raustad: + +Suggest to use Inlet and Outlet node connection for the new object. + +Gu: + +Accept. + +Actions: + +1. Use node to replace inlet and outlet name to have a clear picture for node connection +2. Simplify inputs for exterior film coefficients to mimic inputs of AirflowNetwork:Distribution:Component:Duct + + +## Overview ## + +The objective is to design and implement the code changes required to support a new duct model, or modifications to an existing duct model, that enable duct heat transfer to be captured without requiring an airflow network to be set up. We will discuss with NREL’s residential group for guidance on implementation requirements and ensure that the implementation will directly address the skepticism around this capability to ensure EnergyPlus can be used confidently in residential building studies. + +###Assumptions### + +1. The proposed duct model deals with heat transfer only. In other words, no duct air leakage will be modeled. + +2. There are 4 duct types to be simulated: SupplyTrunk, SupplyBranch, ReturnTrunk, and ReturnBranch. + +3. There is a single duct used for SupplyTrunk and ReturnTrunk. + +The connection of SupplyTrunk is between the inlet node (AirloopHVAC Demand Side Inlet Node) of AirLoopHVAC and the AirLoopHVAC:ZoneSplitter inlet node. If AirLoopHVAC:ZoneMixer is available, The connection of ReturnTrunk is between AirLoopHVAC:ZoneMixer outlet node and the outlet node (AirloopHVAC Demand Side Outlet Node) of AirLoopHVAC. + +4. Each branch has a single duct. + +The connection of SupplyBranch is between AirLoopHVAC:ZoneSplitter outlet node and one of the Air terminal inlet node. If AirLoopHVAC:ZoneMixer is available, The connection of ReturnBranch is between the zone outlet node and the AirLoopHVAC:ZoneMixer inlet node. + +5. Inlet node temperature, humidity, and mass flow rate are known + +6. No return ducts when AirloopHVAC:ZoneReturnPlenum is used + +The following figure shows proposed duct configurration. + +![Figure 1 Schematic for ducts](Schametic.PNG) + +Figure 1. Schematic for proposed ducts with blue arrow object. The arrows show flow directions. + +###Model### + +There are 2 approaches to simulate duct heat transfer with conduction losses. The outcome is to provide duct outlet node temperature and humidity ratio. + +####Steady state with convection only as Phase 1#### + +The outlet node temperature will be calculated based on 13.1.4 Node Temperature Calculations in the Energuneering Reference. + +The outlet node humidity ratio will be calculated based on 13.1.5 Node Humidity Ratio Calculations in the Energuneering Reference. + +####Steady state with both convection and radiation as Phase 2#### + +Duct radiation will be added based on Phase 1 using the method decribed in 13.1.4.2 Duct Radiation in the Energuneering Reference. + +The radiation exchange has low priority from NREL point of view. FSEC agrees. + +####Dynamic losses with thermal mass Phase 3#### + +Removed + +###Possible accomplishment### + +Due to time and budget limit, we will lay down foundation of structure for duct inputs and guarantee to deliver duct loss calculation using Steadystate method. The SteadystateWithRadiation method is in the plan and may not be delivered. + +## Approach ## + +A new object simular to Pipe:Indoor is proposed. The main differences are that Fluid Inlet Node Name and Fluid Outlet Node Name are replaced by Inlet Node Name and Outlet Node Name. See detailed description in the Section of Input Description. + +In order to make the proposed object compatible with existing + +## Testing/Validation/Data Sources ## + +insert text + +## Input Output Reference Documentation ## + +\subsection{Duct:HeatTransfer}\label{ductheattransfer} + +This object specifies inputs which are used to simulate the heat transfer from an air duct placed in a zone or when a user schedule is used to specify an environment. + +The data definition for object is shown below. + +\subsubsection{Inputs}\label{inputs-6-014} + +\paragraph{Field: Name}\label{field-name-6-011} + +This alpha field is used as an identifying field for the pipe. + +\paragraph{Field: AirLoopHAVC Name}\label{airloophvac-name-6-011} + +This alpha field is used to identify the this object as a component of the AirLoopHVAC. + +\paragraph{Field: Heat Transmittance Coefficient (U-Factor) for Duct Wall Construction Name}\label{field-construction-name-002} + +This alpha field references a `wall' construction object that gives a layer-by-layer description of the pipe wall and its insulation.~ The construction object follows standard conventions, describing material properties for each layer beginning with the outermost insulation layer and ending with the pipe wall layer. + +\paragraph{Field: Inlet Node Name}\label{field-inlet-node-name-000} + +This alpha field contains the name of the duct inlet. + +\paragraph{Field: Outlet Node Name}\label{field-outlet-node-name-000} + +This alpha field contains the name of the duct outlet. + +paragraph{Field: Duct Length}\label{field-duct-length} + +This numeric field is used to input duct length {[}m{]}. This value must be greater than zero. + +\paragraph{Field: Hydraulic Diameter}\label{field-hydraulic-diameter} + +This numeric field is used to input hydraulic diameter, which is defined as: + +\begin{equation} +{D_h} = \frac{{4A}}{P} +\end{equation} + +where + +D\(_{h}\) = Hydraulic diameter {[}m{]} + +A = Duct cross sectional area {[}m\(^{2}\){]} + +P = Perimeter of cross section {[}m{]} + +\paragraph{Field: Outside Convection Coefficient}\label{field-outside-convection-coefficent} + +This numeric field defines the outside convection coefficient (W/m\(^{2}\)-K). If the field is omitted, the film coefficient is calculated automatically as described in ASTM C1340. + +\paragraph{Field: Inside Convection Coefficient}\label{field-inside-convection-coefficent} + +This numeric field defines the inside convection coefficient (W/m\(^{2}\)-K). If the field is omitted, the film coefficient is calculated automatically as described in ASTM C1340. + +\paragraph{Field: Overall Moisture Transmittance Coefficient from Air to Air}\label{field-overall-moisture-transmittance-coefficient-from-air-to-air-0000} + +This numeric field is defined as the overall moisture transmittance coefficient (kg/m\(^{2}\)) from air to air, including film coefficients at both surfaces. + + +An example of this object in an IDF is: + +\begin{lstlisting} + + Duct:HeatTransfer, + Main duct, !- Name + Main AirLoopHVAC, !- AirLoopHAVC Name + Insulated Pipe, !- Construction name + Equipment outlet node, !- Inlet Node Name + ZoneSplitter Inlet Node, !- Outlet Node Name + Zone, !- Environment Type + East Zone, !- Ambient Temperature Zone Name + , !- Ambient Temperature Schedule Name + 10.0, !- Outside Convection Coefficient + 20.0, !- Inside Convection Coefficient + 0.001, !- Overall Moisture Transmittance Coefficient from Air to Air + +\end{lstlisting} + +## Input Description ## + +A new object of Duct:HeatTransfer to cover duct inputs is provided below. + + Duct:HeatTransfer, + \memo duct model with heat transfer to the environment. + A1, \field Name + \required-field + A2, \field AirLoopHAVC Name + \required-field + \type object-list + \object-list AirPrimaryLoops + A3, \field Heat Transmittance Coefficient (U-Factor) for Duct Wall Construction + \required-field + \type object-list + \object-list ConstructionNames + A4, \field Inlet Node Name + \required-field + A5, \field Outlet Node Name + \required-field + A6, \field Environment Type + \type choice + \key Zone + \key Schedule + \default Zone + A7, \field Ambient Temperature Zone Name + \type object-list + \object-list ZoneNames + A8, \field Ambient Temperature Schedule Name + \type object-list + \object-list ScheduleNames + N1, \field Duct Hydronic Diameter + \type real + \units m + \minimum> 0 + \ip-units in + N2, \field Duct Length + \type real + \units m + \minimum> 0.0 + N3 , \field Outside Convection Coefficient + \note optional. convection coefficient calculated automatically, unless specified + \type real + \units W/m2-K + \minimum> 0.0 + N4 , \field Inside Convection Coefficient + \note optional. convection coefficient calculated automatically, unless specified + \type real + \units W/m2-K + \minimum> 0.0 + N5; \field Overall Moisture Transmittance Coefficient from Air to Air + \type real + \units kg/m2 + \minimum> 0.0 + \default 0.001 + \note Enter the overall moisture transmittance coefficient + \note including moisture film coefficients at both surfaces. + +Future expansion with optional fields + + + + A9, \field Heat Transfer Solution Method + \type choice + \key SteadyState + \key SteadStateWithRadiation + \key Dynamic + \default SteadyState + A10; \field DuctViewFactors Object Name + \type object-list + \object-list AirflowNetworkComponentNames + \note The name of the duct view factor specification object used to calculate radiation exchange. + + + + AirflowNetwork:Distribution:DuctViewFactors, + \extensible:2 - repeat last two fields, remembering to remove ; from "inner" fields. + \memo This object is used to allow user-defined view factors to be used for duct-surface radiation + \memo calculations. + + + A1, \field Linkage or Duct:HeatTransfer Name + + + \required-field + \type object-list + \object-list AirflowNetworkComponentNames + ..... + +Note: + +In order to be general, the AirflowNetwork:Distribution:DuctViewFactors object may be renamed as DuctViewFactors, so that this object can be used either AFN or general duct heat transfer. + +## Outputs Description ## + +insert text + +## Engineering Reference ## + +insert text + +## Example File and Transition Changes ## + +insert text + +## References ## + +The next two references are used to present how thermal dynamic impacts are simulated: + +Hanby, V.I., Wright, J.A., Fletcher, D.W and Jones, D.N.T. 2002. Modeling the Dynamic Response +of Conduits. International Journal of HVACR&R, Vol.8, No.1. pp. 1-12. + +D. Parker, P. Fairey, L. Gu, Simulation of the effects of duct leakage and heat transfer on residential space-cooling energy use, Published 1993 Engineering Energy and Buildings + + + + + diff --git a/design/FY2024/ReturnLeaks.PNG b/design/FY2024/ReturnLeaks.PNG new file mode 100644 index 00000000000..9ba86e8d332 Binary files /dev/null and b/design/FY2024/ReturnLeaks.PNG differ diff --git a/design/FY2024/Schametic.PNG b/design/FY2024/Schametic.PNG new file mode 100644 index 00000000000..6e16e6b0f4d Binary files /dev/null and b/design/FY2024/Schametic.PNG differ diff --git a/design/FY2024/SupplyLeaks.PNG b/design/FY2024/SupplyLeaks.PNG new file mode 100644 index 00000000000..2b0c485f615 Binary files /dev/null and b/design/FY2024/SupplyLeaks.PNG differ