Open mjwitte opened 8 years ago
@kbenne FYI.
@mjwitte yep thanks. I already took care of it. https://github.com/NREL/OpenStudio/commit/226404d6ff286ea2904cdbcea386f7fc6018f9d4
Most of the components were already in flow order, but then we stupidly tacked the oa mixer itself to the end. The wrong end! Can't believe this lurked so long.
Thinking out loud what to do after OA equipment list is read in.
CheckOASysFirstCompInletIsOANode( ErrorsFound ); // must be a fatal?
CheckOASysFirstCompOutletIsInletToNext( ErrorsFound ); // certainly a fatal
CheckOASysLastCompOutletIsMixedAirNode( ErrorsFound ); // certainly a fatal
CanWeReorganizeOAEquipListOrder( ErrorsFound ); ?????????????
CheckOASysFirstCompInletIsOANode
- not necessarily. It should be fine to draw air from somewhere else.
One hitch to this is that a relief fan won't meet these rules, and for that component, it doesn't really matter where it lands in the list, so need to be able to skip that and go to the next component? Or ignore it if it's last in the list.
So the OA system can draw from non-OA nodes, OK, like DOAS feeding air loop mixers. Relief fan in OA system equip list? I guess you mean a fan in the OA equip list that's in the OA inlet stream to account for fan pressure ? Why would an exhaust/relief fan be in the OA equipment list? The OA equip list only has equipment that's in the "OA Inlet" air stream, not exhaust right? HX, mixer, OA fan, coils, yes, relief fan...no
OA system can have a relief fan that only acts on the exhaust (relief) air stream. See example file 5ZoneAirCooledConvCoefPIU.
AirLoopHVAC:OutdoorAirSystem:EquipmentList,
OA Sys 1 Equipment, !- Name
OutdoorAir:Mixer, !- Component 1 Object Type
OA Mixing Box 1, !- Component 1 Name
Fan:VariableVolume, !- Component 2 Object Type
Relief Fan 1; !- Component 2 Name
One could also have a fan in the OA inlet stream, but that, of course would need to be in flow order, so that's consistent with the other components. If one had a relief fan and heat recovery so that there's more than one component in the exhaust stream, then I'm not sure if the order of those components matter. Doesn't the OA system re-simulate backwards up the list when there is a heat exchanger, or some type of second pass?
Got it. Nothing like a good puzzle. Yes, the OA comps re-sim backwards if there is a HX present.
for ( CompNum = 1; CompNum <= OutsideAirSys( OASysNum ).NumComponents; ++CompNum ) {
CompType = OutsideAirSys( OASysNum ).ComponentType( CompNum );
CompName = OutsideAirSys( OASysNum ).ComponentName( CompNum );
SimOAComponent( CompType, CompName, OutsideAirSys( OASysNum ).ComponentType_Num( CompNum ), FirstHVACIteration, OutsideAirSys( OASysNum ).ComponentIndex( CompNum ), AirLoopNum, Sim, OASysNum, OAHeatCoil, OACoolCoil, OAHX );
if ( OAHX ) ReSim = true;
}
// if there were heat exchangers and/or desiccant wheel in the OA path, need to simulate again
// in reverse order to propagate the air flow and conditions out the relief air path to the relief air
// exit node
if ( ReSim ) {
for ( CompNum = OutsideAirSys( OASysNum ).NumComponents - 1; CompNum >= 1; --CompNum ) {
CompType = OutsideAirSys( OASysNum ).ComponentType( CompNum );
CompName = OutsideAirSys( OASysNum ).ComponentName( CompNum );
SimOAComponent( CompType, CompName, OutsideAirSys( OASysNum ).ComponentType_Num( CompNum ), FirstHVACIteration, OutsideAirSys( OASysNum ).ComponentIndex( CompNum ), AirLoopNum, Sim, OASysNum, OAHeatCoil, OACoolCoil, OAHX );
}
// now simulate again propogate current temps back through OA system
for( CompNum = 1; CompNum <= OutsideAirSys( OASysNum ).NumComponents; ++CompNum ) {
CompType = OutsideAirSys( OASysNum ).ComponentType( CompNum );
CompName = OutsideAirSys( OASysNum ).ComponentName( CompNum );
SimOAComponent( CompType, CompName, OutsideAirSys( OASysNum ).ComponentType_Num( CompNum ), FirstHVACIteration, OutsideAirSys( OASysNum ).ComponentIndex( CompNum ), AirLoopNum, Sim, OASysNum, OAHeatCoil, OACoolCoil, OAHX );
}
}
So what's going on with this issue? No longer an issue? sOME BODY WORKING ON IT?
No one actively working on this as far as I know.
Issue overview
User file with electric preheat coil, the OA mixing box calculation appears to be incorrect. The real problem is that the equipment is not in flow order in the AirLoopHVAC:OutdoorAirSystem:EquipmentList. This can be confusing for heat recovery and if there is a relief fan, but the primary OA flow needs to start with the outermost component and flow towards the OA mixing box.
Details
Some additional details for this issue (if relevant):
Checklist
Add to this list or remove from it as applicable. This is a simple templated set of guidelines.