-
Notifications
You must be signed in to change notification settings - Fork 192
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Addresses #5227, updates to Controller:OutdoorAir #5237
Changes from 22 commits
e4e6558
b9a8c14
7f2a379
07f5034
ba9bc10
6f7f67b
3f249dc
4c58131
f1c8943
5d7a6bf
5d20d04
4293bd4
96e3ca8
936ae1f
009e003
4e54e88
34fdbb3
199d8ee
325ef2d
1202392
457dae1
f3b874f
26520c9
8790298
c36adbe
1430a0e
622a258
330ad0c
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -22427,15 +22427,15 @@ OS:Controller:OutdoorAir, | |
\note This field is only used when the field High Humidity Control = Yes. | ||
\type real | ||
\minimum> 0 | ||
\default 1.0 | ||
\required-field | ||
A19, \field Control High Indoor Humidity Based on Outdoor Humidity Ratio | ||
\note If No is selected, the outdoor air flow rate is modified any time indoor relative | ||
\note humidity is above the humidistat setpoint. If Yes is selected, the outdoor air | ||
\note flow rate is modified any time the indoor relative humidity is above the humidistat | ||
\note setpoint and the outdoor humidity ratio is less than the indoor humidity ratio. | ||
\note This field is only used when the field High Humidity Control = Yes. | ||
\type choice | ||
\default Yes | ||
\required-field | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Making this required. Updating ctor to set to "Yes". Requires vt. |
||
\key Yes | ||
\key No | ||
A20, \field Heat Recovery Bypass Control Type | ||
|
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -9,6 +9,9 @@ | |
#include "../../model/ControllerMechanicalVentilation.hpp" | ||
#include "../../model/Node.hpp" | ||
#include "../../model/Schedule.hpp" | ||
#include "../../model/ThermalZone.hpp" | ||
#include "../../model/Curve.hpp" | ||
#include "../../model/ZoneControlHumidistat.hpp" | ||
#include <utilities/idd/Controller_OutdoorAir_FieldEnums.hxx> | ||
#include <utilities/idd/IddEnums.hxx> | ||
|
||
|
@@ -119,9 +122,14 @@ namespace energyplus { | |
} else { | ||
idfObject.setString(openstudio::Controller_OutdoorAirFields::EconomizerMaximumLimitDewpointTemperature, ""); | ||
} | ||
|
||
/////////////////////////////////////////////////////////////////////////// | ||
// Field: Electronic Enthalpy Limit Curve Name //////////////////////////// | ||
idfObject.setString(openstudio::Controller_OutdoorAirFields::ElectronicEnthalpyLimitCurveName, ""); | ||
if (boost::optional<model::Curve> curve = modelObject.electronicEnthalpyLimitCurve()) { | ||
if (boost::optional<IdfObject> _curve = translateAndMapModelObject(curve.get())) { | ||
idfObject.setString(Controller_OutdoorAirFields::ElectronicEnthalpyLimitCurveName, _curve->name().get()); | ||
} | ||
} | ||
|
||
/////////////////////////////////////////////////////////////////////////// | ||
// Field: Economizer Minimum Limit DryBulb Temperature //////////////////// | ||
|
@@ -151,6 +159,17 @@ namespace energyplus { | |
} | ||
} | ||
|
||
// HumidistatControlZoneName | ||
if (auto zone_ = modelObject.humidistatControlZone()) { | ||
if (boost::optional<ZoneControlHumidistat> humidistat = zone_->zoneControlHumidistat()) { | ||
idfObject.setString(openstudio::Controller_OutdoorAirFields::HumidistatControlZoneName, zone_->nameString()); | ||
} else { | ||
LOG(Warn, modelObject.briefDescription() << " has a humidistat control zone " << zone_->nameString() | ||
<< " without a zone control humidistat; humidistat control zone field will not be translated"); | ||
idfObject.setString(openstudio::Controller_OutdoorAirFields::HighHumidityControl, "No"); | ||
joseph-robertson marked this conversation as resolved.
Show resolved
Hide resolved
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. HumidistatControlZoneName is required when HighHumidityControl is "Yes"; so if we can't set HumidistatControlZoneName, then HighHumidityControl must be set to "No". |
||
} | ||
} | ||
|
||
// HighHumidityOutdoorAirFlowRatio | ||
d = modelObject.getHighHumidityOutdoorAirFlowRatio(); | ||
if (d) { | ||
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Making this required. Updating ctor to set to 1.0. Requires vt.