Skip to content
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

Add Output Variables to Ideal Air loads #8302

Merged
merged 39 commits into from
Feb 12, 2021
Merged
Show file tree
Hide file tree
Changes from 1 commit
Commits
Show all changes
39 commits
Select commit Hold shift + click to select a range
861cfef
Add two output variables to Ideal Air loads
jmythms Sep 24, 2020
908ab51
Moved SupplyTemp and SupplyHumRat from local into the PurchAir struct
jmythms Sep 29, 2020
6b7b538
Merge branch 'develop' into Add-New-Zone-Ideal-Loads-Output-Variables
jmythms Sep 29, 2020
5acf86f
Moved MixedAirTemp and MixedAirHumRat from local into the PurchAir st…
jmythms Sep 29, 2020
0bc4fdf
Merge branch 'develop' into Add-New-Zone-Ideal-Loads-Output-Variables
jmythms Oct 6, 2020
a5b0833
New Output Vars + Documentation + Removed old redundant vars
jmythms Oct 6, 2020
14dbd0d
Fixed labels
jmythms Oct 6, 2020
7bf3209
Unit fix
jmythms Oct 6, 2020
6b73be5
White spaces
jmythms Oct 6, 2020
a33d794
Modifying testfiles to add the new outputs.
jmythms Oct 7, 2020
e5f0e2a
Cleaning up degree symbols
jmythms Oct 7, 2020
89a70d3
Reorder members in the constructor
jmythms Oct 7, 2020
18e8fb9
Merge branch 'develop' into Add-New-Zone-Ideal-Loads-Output-Variables
jmythms Nov 5, 2020
279aa5c
Fixing output variables
jmythms Nov 5, 2020
747afea
Merge branch 'develop' into Add-New-Zone-Ideal-Loads-Output-Variables
jmythms Nov 6, 2020
3cd3110
minor cleanup, bump CI
mitchute Nov 10, 2020
bbe882a
Merge branch 'Add-New-Zone-Ideal-Loads-Output-Variables' of https://g…
jmythms Nov 12, 2020
2ef45da
Merge branch 'develop' into Add-New-Zone-Ideal-Loads-Output-Variables
jmythms Nov 12, 2020
754e98c
Missed "state"
jmythms Nov 12, 2020
cbdb675
Missed 'state'
jmythms Nov 12, 2020
e487697
Unnecessary statements?
jmythms Nov 12, 2020
4972b6f
Changed outputs to report hourly instead of detailed frequency
jmythms Nov 13, 2020
0fc065b
Merge branch 'develop' into Add-New-Zone-Ideal-Loads-Output-Variables
jmythms Nov 13, 2020
2461195
Missed this in the list of outputs
jmythms Nov 13, 2020
120fac1
Removed unnecessary space
jmythms Nov 13, 2020
2dac64b
Merge branch 'develop' into Add-New-Zone-Ideal-Loads-Output-Variables
jmythms Dec 14, 2020
56c86eb
merge conflic resolution
jmythms Dec 14, 2020
227bdd2
Merge branch 'develop' of https://github.com/NREL/EnergyPlus into Add…
jmythms Dec 15, 2020
71755c5
Fix conflict after pulling develop
jmythms Feb 9, 2021
6d6654b
fixed reporting freq to hpurly
jmythms Feb 9, 2021
660dacb
changed MixedAirHumRat to PurchAir(PurchAirNum).MixedAirHumRat
jmythms Feb 9, 2021
fd33e3e
broken unit test
jmythms Feb 9, 2021
7fbaa76
Intermediate commit for Unit test question
jmythms Feb 9, 2021
f67fbc8
fixed unit test
jmythms Feb 10, 2021
ec0199d
Merge branch 'develop' into Add-New-Zone-Ideal-Loads-Output-Variables
jmythms Feb 10, 2021
bebe31c
Merge branch 'develop' into Add-New-Zone-Ideal-Loads-Output-Variables
jmythms Feb 11, 2021
863baf5
Unit change+ .hh file clang formatting
jmythms Feb 11, 2021
e4ade3a
Clang formatted PurchasedAirManager.cc
jmythms Feb 11, 2021
3cfe237
clang formatted PurchasedAirManager.hh
jmythms Feb 11, 2021
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -296,6 +296,10 @@ \subsubsection{Outputs}\label{outputs-043}
HVAC,Average,Zone Ideal Loads Supply Air Mass Flow Rate {[}kg/s{]}
\item
HVAC,Average,Zone Ideal Loads Supply Air Standard Density Volume Flow Rate {[}m3/s{]}
\item
HVAC,Average,Zone Ideal Loads Supply Air Temperature {[}C{]}
\item
HVAC,Average,Zone Ideal Loads Supply Air Humidity Ratio {[}kgWater/kgDryAir{]}
\end{itemize}

\paragraph{Ideal Loads Output Variable Overview}\label{ideal-loads-output-variable-overview}
Expand Down Expand Up @@ -486,6 +490,16 @@ \subsubsection{Outputs}\label{outputs-043}

The volume flow rate of the supply air stream in m3/s using the standard density. The standard density is determined for dry air at the standard barometric pressure for the location's elevation and a temperature of 20.0ºC. The standard density does not vary over time.

\paragraph{Zone Ideal Loads Supply Air Temperature {[}C{]}}\label{zone-ideal-loads-supply-air-temperature-c}

The dry bulb temperature of the supply air stream in ºC.
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We should use the \SI package for units.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Shall I change all of the title lines (like line 493) to use the \SI package? Or just in the text portion, like line 495?

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Just change the in-text units. In this case, just move to \si{\celsius} (or whatever it ends up being). If you see others in this file, feel free to change them.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Got it, thanks!



\paragraph{Zone Ideal Loads Supply Air Humidity Ratio {[}kgWater/kgDryAir{]}}\label{zone-ideal-loads-supply-air-humidity-ratio-kgWaterkgDryAir}

The humidity ratio of the supply air stream in kgWater/kgDryAir.
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

These units are fine, though 🙈



\subsection{ZoneHVAC:FourPipeFanCoil}\label{zonehvacfourpipefancoil}

What is a fan coil unit? Like many HVAC terms, ``fan coil unit'' is used rather loosely. Sometimes it is used for terminal units that would be better described as powered induction units. Carrier and others use the term for the room side of refrigerant-based split systems. Here we are modeling in-room forced-convection hydronic units. The hydronic heating coil may be replaced with an electric heating coil. Typically these units are small (200 -- 1200 cfm) and self-contained. They are mostly used in exterior zones, usually in hotels, apartments, or offices. They may be connected to ducted outside air, or have a direct outside air vent, but they do not have outside air economizers. Units with outside air economizers are marketed (in the United States) as unit ventilators. Unit ventilators are typically bigger than fan coils and are widely used in classrooms or other applications where ventilation is a priority. If a zonal unit with an outside economizer is desired, \emph{\hyperref[zonehvacunitventilator]{ZoneHVAC:UnitVentilator}} should be used.
Expand Down
19 changes: 19 additions & 0 deletions src/EnergyPlus/PurchasedAirManager.cc
Original file line number Diff line number Diff line change
Expand Up @@ -1057,6 +1057,21 @@ namespace PurchasedAirManager {
"Average",
PurchAir(PurchAirNum).Name);

// Air temperature
SetupOutputVariable("Zone Ideal Loads Supply Air Temperature",
OutputProcessor::Unit::C,
PurchAir(PurchAirNum).ZoneIdealLoadsSupplyAirTemperature,
"System",
"Average",
PurchAir(PurchAirNum).Name);
// Humidity Ratio
SetupOutputVariable("Zone Ideal Loads Supply Air Humidity Ratio",
OutputProcessor::Unit::kgWater_kgDryAir,
PurchAir(PurchAirNum).ZoneIdealLoadsSupplyAirHumidityRatio,
"System",
"Average",
PurchAir(PurchAirNum).Name);

if (AnyEnergyManagementSystemInModel) {
SetupEMSActuator("Ideal Loads Air System",
PurchAir(PurchAirNum).Name,
Expand Down Expand Up @@ -2080,6 +2095,8 @@ namespace PurchasedAirManager {
PurchAir(PurchAirNum).MinOAMassFlowRate = 0.0;
PurchAir(PurchAirNum).TimeEconoActive = 0.0;
PurchAir(PurchAirNum).TimeHtRecActive = 0.0;
PurchAir(PurchAirNum).ZoneIdealLoadsSupplyAirTemperature = 0.0;
PurchAir(PurchAirNum).ZoneIdealLoadsSupplyAirHumidityRatio = 0.0;
SysOutputProvided = 0.0;
MoistOutputProvided = 0.0;
CoolSensOutput = 0.0;
Expand Down Expand Up @@ -2785,6 +2802,8 @@ namespace PurchasedAirManager {
PurchAir(PurchAirNum).OutdoorAirVolFlowRateStdRho = OAMassFlowRate / StdRhoAir;
PurchAir(PurchAirNum).SupplyAirMassFlowRate = SupplyMassFlowRate;
PurchAir(PurchAirNum).SupplyAirVolFlowRateStdRho = SupplyMassFlowRate / StdRhoAir;
PurchAir(PurchAirNum).ZoneIdealLoadsSupplyAirTemperature = Node(InNodeNum).Temp;
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is just passing the inlet temp and hum-rat through. I believe we want to use the already existing local variables SupplyTemp and SupplyHumRat to set these values.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Or would it work to just move SupplyTemp and SupplyHumRat from local into the PurchAir struct?

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

And while you're in here, MixedAirTemp and MixedAirHumRat would also be useful outputs.

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

That's fine with me.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Will do!

PurchAir(PurchAirNum).ZoneIdealLoadsSupplyAirHumidityRatio = Node(InNodeNum).HumRat;

if (PurchAir(PurchAirNum).PlenumExhaustAirNodeNum > 0) {
Node(PurchAir(PurchAirNum).PlenumExhaustAirNodeNum).MassFlowRate = SupplyMassFlowRate;
Expand Down
5 changes: 4 additions & 1 deletion src/EnergyPlus/PurchasedAirManager.hh
Original file line number Diff line number Diff line change
Expand Up @@ -247,6 +247,9 @@ namespace PurchasedAirManager {
int ZonePtr; // pointer to a zone served by an Ideal load air system
int HVACSizingIndex; // index of a HVAC Sizing object for an Ideal load air system

Real64 ZoneIdealLoadsSupplyAirTemperature; // ZoneIdealLoadsSupplyAirTemperature [C]
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'd shorten these to just SupplyAirTemp and SupplyHumRat.

Real64 ZoneIdealLoadsSupplyAirHumidityRatio; // ZoneIdealLoadsSupplyAirHumidityRatio [kgWater/kgDryAir]

// Default Constructor
ZonePurchasedAir()
: AvailSchedPtr(0), ZoneSupplyAirNodeNum(0), ZoneExhaustAirNodeNum(0), PlenumExhaustAirNodeNum(0), ReturnPlenumIndex(0),
Expand All @@ -271,7 +274,7 @@ namespace PurchasedAirManager {
ZoneLatHeatRate(0.0), ZoneTotHeatRate(0.0), ZoneSenCoolRate(0.0), ZoneLatCoolRate(0.0), ZoneTotCoolRate(0.0), OASenHeatRate(0.0),
OALatHeatRate(0.0), OATotHeatRate(0.0), OASenCoolRate(0.0), OALatCoolRate(0.0), OATotCoolRate(0.0), HtRecSenHeatRate(0.0),
HtRecLatHeatRate(0.0), HtRecTotHeatRate(0.0), HtRecSenCoolRate(0.0), HtRecLatCoolRate(0.0), HtRecTotCoolRate(0.0), TimeEconoActive(0.0),
TimeHtRecActive(0.0), ZonePtr(0), HVACSizingIndex(0)
TimeHtRecActive(0.0), ZoneIdealLoadsSupplyAirTemperature(0.0), ZoneIdealLoadsSupplyAirHumidityRatio (0.0), ZonePtr(0), HVACSizingIndex(0)
{
}
};
Expand Down