Skip to content

Commit

Permalink
Add warnings, update docs.
Browse files Browse the repository at this point in the history
  • Loading branch information
shorowit committed Dec 22, 2023
1 parent 8369f16 commit 2cf975b
Show file tree
Hide file tree
Showing 3 changed files with 21 additions and 1 deletion.
Original file line number Diff line number Diff line change
Expand Up @@ -4089,7 +4089,7 @@ \subsubsection{Inputs}\label{inputs-10-013}

\paragraph{Field: Nominal Thermal Efficiency}\label{field-nominal-thermal-efficiency}

This required numeric field contains the heating efficiency (as a fraction between 0 and 1) of the boiler's burner.~ This is the efficiency relative to the higher heating value (HHV) of fuel at a part load ratio of 1.0. Manufacturers typically specify the efficiency of a boiler using the higher heating value of the fuel. For the rare occurrences when a manufacturers (or particular data set) thermal efficiency is based on the lower heating value (LHV) of the fuel, multiply the thermal efficiency by the lower-to-higher heating value ratio. For example, assume a fuel's lower and higher heating values are approximately 45,450 and 50,000 kJ/kg, respectively. For a manufacturers thermal efficiency rating of 0.90 (based on the LHV), the nominal thermal efficiency entered here is 0.82 (i.e.~0.9 multiplied by 45,450/50,000).
This required numeric field contains the heating efficiency of the boiler's burner.~ This is the efficiency relative to the higher heating value (HHV) of fuel at a part load ratio of 1.0. Manufacturers typically specify the efficiency of a boiler using the higher heating value of the fuel. For the rare occurrences when a manufacturers (or particular data set) thermal efficiency is based on the lower heating value (LHV) of the fuel, multiply the thermal efficiency by the lower-to-higher heating value ratio. For example, assume a fuel's lower and higher heating values are approximately 45,450 and 50,000 kJ/kg, respectively. For a manufacturers thermal efficiency rating of 0.90 (based on the LHV), the nominal thermal efficiency entered here is 0.82 (i.e.~0.9 multiplied by 45,450/50,000).

\paragraph{Field: Efficiency Curve Temperature Evaluation Variable}\label{field-efficiency-curve-temperature-evaluation-variable}

Expand Down
6 changes: 6 additions & 0 deletions src/EnergyPlus/Boilers.cc
Original file line number Diff line number Diff line change
Expand Up @@ -227,6 +227,12 @@ void GetBoilerInput(EnergyPlusData &state)
ShowContinueError(state, format("Invalid {}={:.3R}", state.dataIPShortCut->cNumericFieldNames(2), state.dataIPShortCut->rNumericArgs(2)));
ShowSevereError(state, format("...{} must be greater than 0.0", state.dataIPShortCut->cNumericFieldNames(2)));
ErrorsFound = true;
} else if (state.dataIPShortCut->rNumericArgs(2) > 1.0) {
ShowWarningError(state,
fmt::format("{} = {}: {} should not typically be greater than 1.",
state.dataIPShortCut->cCurrentModuleObject,
state.dataIPShortCut->cAlphaArgs(1),
state.dataIPShortCut->cNumericFieldNames(2)));
}

if (state.dataIPShortCut->cAlphaArgs(3) == "ENTERINGBOILER") {
Expand Down
14 changes: 14 additions & 0 deletions src/EnergyPlus/WaterThermalTanks.cc
Original file line number Diff line number Diff line change
Expand Up @@ -2451,6 +2451,13 @@ bool getWaterHeaterMixedInputs(EnergyPlusData &state)

if (state.dataIPShortCut->rNumericArgs(8) > 0.0) {
Tank.Efficiency = state.dataIPShortCut->rNumericArgs(8);
if (state.dataIPShortCut->rNumericArgs(8) > 1.0) {
ShowWarningError(state,
fmt::format("{} = {}: {} should not typically be greater than 1.",
state.dataIPShortCut->cCurrentModuleObject,
state.dataIPShortCut->cAlphaArgs(1),
state.dataIPShortCut->cNumericFieldNames(8)));
}
} else {
ShowSevereError(state,
format("{} = {}: Heater Thermal Efficiency must be greater than zero",
Expand Down Expand Up @@ -3016,6 +3023,13 @@ bool getWaterHeaterStratifiedInput(EnergyPlusData &state)

if (state.dataIPShortCut->rNumericArgs(11) > 0.0) {
Tank.Efficiency = state.dataIPShortCut->rNumericArgs(11);
if (state.dataIPShortCut->rNumericArgs(11) > 1.0) {
ShowWarningError(state,
fmt::format("{} = {}: {} should not typically be greater than 1.",
state.dataIPShortCut->cCurrentModuleObject,
state.dataIPShortCut->cAlphaArgs(1),
state.dataIPShortCut->cNumericFieldNames(11)));
}
} else {
ShowSevereError(state,
format("{} = {}: Heater Thermal Efficiency must be greater than zero",
Expand Down

0 comments on commit 2cf975b

Please sign in to comment.