MCPcopy Create free account
hub / github.com/NatLabRockies/EnergyPlus / frostControlSetPointLimit

Method frostControlSetPointLimit

src/EnergyPlus/UnitarySystem.cc:1400–1440  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

1398 }
1399
1400 void UnitarySys::frostControlSetPointLimit(EnergyPlusData &state,
1401 Real64 &TempSetPoint, // temperature setpoint of the sensor node
1402 Real64 &HumRatSetPoint, // humidity ratio setpoint of the sensor node
1403 Real64 const BaroPress, // barometric pressure, Pa [N/m^2]
1404 Real64 const TfrostControl, // minimum temperature limit for frost control
1405 int const ControlMode // temperature or humidity control mode
1406 )
1407 {
1408
1409 // SUBROUTINE INFORMATION:
1410 // AUTHOR Bereket Nigusse, FSEC
1411 // DATE WRITTEN January 2013
1412
1413 // PURPOSE OF THIS SUBROUTINE:
1414 // Controls the frost formation condition based on user specified minimum DX coil outlet
1415 // air temperature. Resets the cooling setpoint based on the user specified limiting
1416 // temperature for frost control.
1417
1418 // SUBROUTINE PARAMETER DEFINITIONS:
1419 int constexpr RunOnSensible(1); // identifier for temperature (sensible load) control
1420 int constexpr RunOnLatent(2); // identifier for humidity (latent load) control
1421 static constexpr std::string_view routineName("FrostControlSetPointLimit");
1422
1423 Real64 AirMassFlow = state.dataLoopNodes->Node(this->CoolCoilInletNodeNum).MassFlowRate;
1424 if (ControlMode == RunOnSensible && AirMassFlow > HVAC::SmallAirVolFlow &&
1425 TempSetPoint < state.dataLoopNodes->Node(this->CoolCoilInletNodeNum).Temp) {
1426 if (TempSetPoint < TfrostControl) {
1427 TempSetPoint = TfrostControl;
1428 this->m_FrostControlStatus = 1;
1429 }
1430 } else if (ControlMode == RunOnLatent && AirMassFlow > HVAC::SmallAirVolFlow &&
1431 HumRatSetPoint < state.dataLoopNodes->Node(this->CoolCoilInletNodeNum).HumRat) {
1432 Real64 HumRatioSat = Psychrometrics::PsyWFnTdpPb(state, TfrostControl, BaroPress, routineName);
1433 if (HumRatioSat > HumRatSetPoint) {
1434 HumRatSetPoint = HumRatioSat;
1435 this->m_FrostControlStatus = 2;
1436 }
1437 } else {
1438 this->m_FrostControlStatus = 0;
1439 }
1440 }
1441
1442 void UnitarySys::getUnitarySystemInput(EnergyPlusData &state, std::string_view objectName, bool const ZoneEquipment, int const ZoneOAUnitNum)
1443 {

Callers 2

checkNodeSetPointMethod · 0.95

Calls 1

PsyWFnTdpPbFunction · 0.85

Tested by

no test coverage detected