#4219 - Mininal Fix: do NOT add a Controller:MEchanicalVentilation if it does not have any DSOA on it (E+ error)#5403
Conversation
…tionOutdoorAir() const`
…the DSOAs Without a DesignDay, the translateSizingZone is never called, and in turn the Controller:MechanicalVentilation does NOT receive the DSOAs This has been the case since the first ever commit of OS SDK on github, but it is wrong IMHO.
| /// return all spaces that have a design specification outdoor air assigned | ||
| std::vector<Space> spacesWithDesignSpecificationOutdoorAir() const; |
| // Convenience method to check whether it links to zones that have DesignSpecificationOutdoorAir(s) assigned | ||
| bool hasZonesWithDesignSpecificationOutdoorAir() const; |
| boost::optional<IdfObject> ForwardTranslator::translateControllerMechanicalVentilation(ControllerMechanicalVentilation& modelObject) { | ||
|
|
||
| // NOTE: don't translate it if it has no DSOA | ||
| if (!modelObject.hasZonesWithDesignSpecificationOutdoorAir()) { | ||
| return boost::none; | ||
| } |
There was a problem hiding this comment.
Don't translate if no DSOA found.
|
CI Results for ab9f0eb:
|
|
Happy to test this when an Ubuntu or Windows build is available... |
|
|
||
| // TODO: Without a DesignDay, the translateSizingZone is never called, and in turn the Controller:MechanicalVentilation does NOT receive the DSOAs | ||
| // This has been the case since the first ever commit of OS SDK on github, but it is wrong IMHO. | ||
| DesignDay d(m); |
There was a problem hiding this comment.
I think you're trying to keep the PR focused on the task, which I appreciate. But, should there be a separate PR to move the assignment of DSOA objects from ForwardTranslateSizingZone.cpp to ForwardTranslateControllerMechanicalVentilation.cpp? Are you thinking it is too risky and there will be unintended consequences?
There was a problem hiding this comment.
As I said in the OP:
This is a mininal fix extracted from #5384
I handle that there...
The issue is that E+ crashes when a ControllerMV uses a DSOA:SpaceList:
Pull request overview
Pull Request Author
src/model/test)src/energyplus/Test)Labels:
IDDChangeAPIChangePull Request - Ready for CIso that CI builds your PRReview Checklist
This will not be exhaustively relevant to every PR.