Skip to content

Commit

Permalink
Merge branch 'develop' into tsatprecisions20
Browse files Browse the repository at this point in the history
  • Loading branch information
JasonGlazer committed Sep 3, 2021
2 parents 33b755d + 1d31b0b commit 8cee287
Show file tree
Hide file tree
Showing 866 changed files with 128,730 additions and 111,358 deletions.
1 change: 1 addition & 0 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -237,6 +237,7 @@ target_include_directories(project_options INTERFACE ${PROJECT_SOURCE_DIR}/third
target_include_directories(project_options INTERFACE ${PROJECT_SOURCE_DIR}/third_party/re2)
target_include_directories(project_options INTERFACE ${PROJECT_SOURCE_DIR}/third_party/doj)
target_include_directories(project_options INTERFACE ${PROJECT_SOURCE_DIR}/third_party/nlohmann)
target_include_directories(project_options INTERFACE ${PROJECT_SOURCE_DIR}/third_party/fast_float)
target_include_directories(project_options INTERFACE ${PROJECT_SOURCE_DIR}/third_party/valijson)
target_include_directories(project_options INTERFACE ${PROJECT_SOURCE_DIR}/third_party/ObjexxFCL/src/)
target_include_directories(project_options SYSTEM INTERFACE ${PROJECT_SOURCE_DIR}/third_party/SQLite/)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -552,7 +552,7 @@ \subsubsection{Interior Solar Radiation Absorbed by Opaque Surfaces}\label{inter

\begin{equation}
\begin{array}{l}
QRadSWInAbs(SurfNum) = QS(ZoneNum)*AbsIntSurf(SurfNum) \\
SurfOpaqQRadSWInAbs(SurfNum) = QS(ZoneNum)*AbsIntSurf(SurfNum) \\
\quad \quad \quad \quad+ AISurf(SurfNum)*BeamSolarRad [W/m^2]
\end{array}
\label{eq:ShortWaveRadInsideFaceOpaqueSurf}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2799,7 +2799,7 @@ \subsubsection{Complex Fenestration Solar-Optical Calculations}\label{complex-fe

\begin{equation}
\begin{split}
&\text{QRadSWwinAbs}(Surf, Lay) = \\
&\text{SurfWinQRadSWwinAbs}(Surf, Lay) = \\
&\sum_{i = 1}^{N_{layers}} \left(\text{WinSkyFtAbs}(Surf, Lay) \cdot \text{SkySolarInc} + \text{WinSkyGndAbs}(Surf, Lay) \cdot \text{GndSolarInc}\right)
\end{split}
\end{equation}
Expand All @@ -2819,7 +2819,7 @@ \subsubsection{Complex Fenestration Solar-Optical Calculations}\label{complex-fe
Energy absorbed in the layers and which originates from direct solar radiation is given by following equation:

\begin{equation}
\text{QRadSWwinAbs}(SurfNum, Lay) = \text{AWinSurf}(SurfNum, Lay) \cdot \text{BeamSolar}
\text{SurfWinQRadSWwinAbs}(SurfNum, Lay) = \text{AWinSurf}(SurfNum, Lay) \cdot \text{BeamSolar}
\end{equation}

where
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -67,18 +67,16 @@ \subsection{Inside Heat Balance with Interior Moveable Insulation}\label{inside-
\begin{lstlisting}
F1 = HMovInsul / (HMovInsul + HConvIn_surf + IterDampConst);

SurfTempIn(SurfNum) = (SurfCTFConstInPart(SurfNum) + QRadSWInAbs(SurfNum) + construct.CTFCross(0) * TH11 +
F1 * (QRadThermInAbs(SurfNum) + HConvIn_surf * RefAirTemp(SurfNum) +
NetLWRadToSurf(SurfNum) + QHTRadSysSurf(SurfNum) +
QCoolingPanelSurf(SurfNum) + QHWBaseboardSurf(SurfNum) +
QSteamBaseboardSurf(SurfNum) + QElecBaseboardSurf(SurfNum) +
SurfTempIn(SurfNum) = (SurfCTFConstInPart(SurfNum) + SurfOpaqQRadSWInAbs(SurfNum) + construct.CTFCross(0) * TH11 +
F1 * (SurfQRadThermInAbs(SurfNum) + HConvIn_surf * RefAirTemp(SurfNum) +
SurfNetLWRadToSurf(SurfNum) + SurfQdotRadHVACInPerArea(SurfNum) +
QAdditionalHeatSourceInside(SurfNum) +
IterDampConst * SurfTempInsOld(SurfNum)))
/ (construct.CTFInside(0) + HMovInsul - F1 * HMovInsul);

SurfTempInTmp(SurfNum) = (construct.CTFInside(0) * SurfTempIn(SurfNum) +
HMovInsul * SurfTempIn(SurfNum) -
QRadSWInAbs(SurfNum) - SurfCTFConstInPart(SurfNum) -
SurfOpaqQRadSWInAbs(SurfNum) - SurfCTFConstInPart(SurfNum) -
construct.CTFCross(0) * TH11) / (HMovInsul);
\end{lstlisting}

Expand Down Expand Up @@ -270,8 +268,8 @@ \subsubsection{Case5: Y\(_{0}\)~ small, simple conductance, with movable insulat
\begin{lstlisting}
// Outside heat balance case: Movable insulation, slow conduction, simple convection
F2 = HMovInsul / (HMovInsul + HExtSurf(SurfNum) );
TH(1, 1, SurfNum) = (-SurfCTFConstOutPart(SurfNum) + QRadSWOutAbs(SurfNum) + construct.CTFCross(0) * SurfTempIn(SurfNum) +
F2 * (QRadSWOutMvIns(SurfNum) + (HExtSurf(SurfNum)) * TempExt) /
TH(1, 1, SurfNum) = (-SurfCTFConstOutPart(SurfNum) + SurfOpaqQRadSWOutAbs(SurfNum) + construct.CTFCross(0) * SurfTempIn(SurfNum) +
F2 * (SurfQRadSWOutMvIns(SurfNum) + (HExtSurf(SurfNum)) * TempExt) /
(construct.CTFOutside(0) + HMovInsul - F2 * HMovInsul);
\end{lstlisting}

Expand All @@ -283,10 +281,10 @@ \subsubsection{Case6: Y\(_{0}\) not small, simple conductance, with movable insu
// Outside heat balance case: Movable insulation, quick conduction, simple convection
F1 = construct.CTFCross(0) / (construct.CTFInside(0) + HConvIn(SurfNum));
F2 = HMovInsul / (HMovInsul + HExtSurf(SurfNum) );
TH(1, 1, SurfNum) = (-SurfCTFConstOutPart(SurfNum) + QRadSWOutAbs(SurfNum) + QRadLWOutSrdSurfs(SurfNum) +
F1 * (SurfCTFConstInPart(SurfNum) + QRadSWInAbs(SurfNum) + QRadThermInAbs(SurfNum) +
HConvIn(SurfNum) * MAT(ZoneNum) + NetLWRadToSurf(SurfNum)) +
F2 * (QRadSWOutMvIns(SurfNum) + (HExtSurf(SurfNum)) * TempExt) /
TH(1, 1, SurfNum) = (-SurfCTFConstOutPart(SurfNum) + SurfOpaqQRadSWOutAbs(SurfNum) + SurfQRadLWOutSrdSurfs(SurfNum) +
F1 * (SurfCTFConstInPart(SurfNum) + SurfOpaqQRadSWInAbs(SurfNum) + SurfQRadThermInAbs(SurfNum) +
HConvIn(SurfNum) * MAT(ZoneNum) + SurfNetLWRadToSurf(SurfNum)) +
F2 * (SurfQRadSWOutMvIns(SurfNum) + (HExtSurf(SurfNum)) * TempExt) /
(construct.CTFOutside(0) + HMovInsul - F2 * HMovInsul - F1 * construct.CTFCross(0));
\end{lstlisting}

Expand All @@ -297,8 +295,8 @@ \subsubsection{Case7: Y\(_{0}\)~ small, detailed conductance, with movable insul
\begin{lstlisting}
// Outside heat balance case: Movable insulation, slow conduction, detailed convection
F2 = HMovInsul / (HMovInsul + SurfHcExt(SurfNum) + SurfHAirExt(SurfNum) + SurfHSkyExt(SurfNum) + SurfHGrdExt(SurfNum));
TH(1, 1, SurfNum) = (-SurfCTFConstOutPart(SurfNum) + QRadSWOutAbs(SurfNum) + QRadLWOutSrdSurfs(SurfNum) + construct.CTFCross(0) * SurfTempIn(SurfNum) +
F2 * (QRadSWOutMvIns(SurfNum) + (SurfHcExt(SurfNum) + SurfHAirExt(SurfNum)) *
TH(1, 1, SurfNum) = (-SurfCTFConstOutPart(SurfNum) + SurfOpaqQRadSWOutAbs(SurfNum) + SurfQRadLWOutSrdSurfs(SurfNum) + construct.CTFCross(0) * SurfTempIn(SurfNum) +
F2 * (SurfQRadSWOutMvIns(SurfNum) + (SurfHcExt(SurfNum) + SurfHAirExt(SurfNum)) *
TempExt + QAdditionalHeatSourceOutside(SurfNum) +
SurfHSkyExt(SurfNum) * TSky + SurfHGrdExt(SurfNum) * TGround)) /
(construct.CTFOutside(0) + HMovInsul - F2 * HMovInsul);
Expand All @@ -312,10 +310,10 @@ \subsubsection{Case8: Y\(_{0}\) not small, detailed conductance, with movable in
// Outside heat balance case: Movable insulation, quick conduction, detailed convection
F1 = construct.CTFCross(0) / (construct.CTFInside(0) + HConvIn(SurfNum));
F2 = HMovInsul / (HMovInsul + SurfHcExt(SurfNum) + SurfHAirExt(SurfNum) + SurfHSkyExt(SurfNum) + SurfHGrdExt(SurfNum));
TH(1, 1, SurfNum) = (-SurfCTFConstOutPart(SurfNum) + QRadSWOutAbs(SurfNum) + QRadLWOutSrdSurfs(SurfNum) +
F1 * (SurfCTFConstInPart(SurfNum) + QRadSWInAbs(SurfNum) + QRadThermInAbs(SurfNum) +
HConvIn(SurfNum) * MAT(ZoneNum) + NetLWRadToSurf(SurfNum)) +
F2 * (QRadSWOutMvIns(SurfNum) + (SurfHcExt(SurfNum) + SurfHAirExt(SurfNum)) *
TH(1, 1, SurfNum) = (-SurfCTFConstOutPart(SurfNum) + SurfOpaqQRadSWOutAbs(SurfNum) + SurfQRadLWOutSrdSurfs(SurfNum) +
F1 * (SurfCTFConstInPart(SurfNum) + SurfOpaqQRadSWInAbs(SurfNum) + SurfQRadThermInAbs(SurfNum) +
HConvIn(SurfNum) * MAT(ZoneNum) + SurfNetLWRadToSurf(SurfNum)) +
F2 * (SurfQRadSWOutMvIns(SurfNum) + (SurfHcExt(SurfNum) + SurfHAirExt(SurfNum)) *
TempExt + QAdditionalHeatSourceOutside(SurfNum) +
SurfHSkyExt(SurfNum) * TSky + SurfHGrdExt(SurfNum) * TGround)) /
(construct.CTFOutside(0) + HMovInsul - F2 * HMovInsul - F1 * construct.CTFCross(0));
Expand Down Expand Up @@ -353,11 +351,11 @@ \subsection{C++ Variable Descriptions}\label{c++-variable-descriptions}
HmovInsul & Conductance or "h" value of movable insulation & UM & W/m K & Conductance of Movable insulation \tabularnewline
HSky & Radiant exchange (linearized) coefficient & HS & W/m K & Radiative conductance (outside surface to sky radiant temperature \tabularnewline
MAT(ZoneNum) & Zone temperature & TZ & C & Temperature of zone air \tabularnewline
NetLWRadToSurf(SurfNum) & Net interior longwave radiation to a surface from other surfaces & HR*TR & W/m & Net surface to surface radiant exchange \tabularnewline
QRadSWInAbs(SurfNum) & Short-wave radiation absorbed on inside of opaque surface & QSI & W/m & Short wave radiant flux absorbed at inside of surface \tabularnewline
QRadSWOutAbs(SurfNum) & Short wave radiation absorbed on outside opaque surface & QSO & W/m & Short wave radiant flux absorbed at outside of surface \tabularnewline
QRadSWOutMvIns(SurfNum) & Short wave radiation absorbed on outside of movable insulation & QSM & W/m & Short wave radiant flux absorbed at surface of movable insulation \tabularnewline
QRadThermInAbs(SurfNum) & Thermal Radiation absorbed on inside surfaces & ~ & W/m & Longwave radiant flux from internal gains \tabularnewline
SurfNetLWRadToSurf(SurfNum) & Net interior longwave radiation to a surface from other surfaces & HR*TR & W/m & Net surface to surface radiant exchange \tabularnewline
SurfOpaqQRadSWInAbs(SurfNum) & Short-wave radiation absorbed on inside of opaque surface & QSI & W/m & Short wave radiant flux absorbed at inside of surface \tabularnewline
SurfOpaqQRadSWOutAbs(SurfNum) & Short wave radiation absorbed on outside opaque surface & QSO & W/m & Short wave radiant flux absorbed at outside of surface \tabularnewline
SurfQRadSWOutMvIns(SurfNum) & Short wave radiation absorbed on outside of movable insulation & QSM & W/m & Short wave radiant flux absorbed at surface of movable insulation \tabularnewline
SurfQRadThermInAbs(SurfNum) & Thermal Radiation absorbed on inside surfaces & ~ & W/m & Longwave radiant flux from internal gains \tabularnewline
SkyTemp & Sky temperature & T & C & Sky temp \tabularnewline
TempExt & Exterior surface temperature or exterior air temperature & TM, T & C & Temperature of external surface of movable insulation or outside ambient air temperature \tabularnewline
SurfTempIn(SurfNum) & Temperature of inside surface for each heat transfer surface & TI & C & Temperature of inside of surface I at time t-1 \tabularnewline
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -135,11 +135,11 @@ \subsection{TIM- Basic Mathematical Model}\label{tim--basic-mathematical-model}
// Calculate absorbed solar on outside if movable exterior insulation in place
if (AnyMovableInsulation) EvalOutsideMovableInsulation();
if (SurfMovInsulHExt(SurfNum)) { // Movable outside insulation in place
QRadSWOutMvIns(SurfNum) = QRadSWOutAbs(SurfNum) * AbsExt / Material(Construct(ConstrNum).LayerPoint(1)).AbsorpSolar;
QRadSWOutAbs(SurfNum) = Material(Surface(SurfNum).MaterialMovInsulExt).Trans * QRadSWOutMvIns(SurfNum) *
SurfQRadSWOutMvIns(SurfNum) = SurfOpaqQRadSWOutAbs(SurfNum) * AbsExt / Material(Construct(ConstrNum).LayerPoint(1)).AbsorpSolar;
SurfOpaqQRadSWOutAbs(SurfNum) = Material(Surface(SurfNum).MaterialMovInsulExt).Trans * SurfQRadSWOutMvIns(SurfNum) *
((Material(Construct(ConstrNum).LayerPoint(1)).AbsorpSolar / AbsExt) +
(1 - Material(Construct(ConstrNum).LayerPoint(1)).AbsorpSolar));
SWOutAbsTotalReport(SurfNum) = QRadSWOutAbs(SurfNum) * Surface(SurfNum).Area;
SWOutAbsTotalReport(SurfNum) = SurfOpaqQRadSWOutAbs(SurfNum) * Surface(SurfNum).Area;
SWOutAbsEnergyReport(SurfNum) = SWOutAbsTotalReport(SurfNum) * TimeStepZoneSec;
}
\end{lstlisting}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -1067,11 +1067,11 @@ \subsubsection{Inputs}\label{inputs-6-007}

\paragraph{Field: Nominal Energetic Efficiency for Charging}\label{field-nominal-energetic-efficiency-for-charging}

This field contains the charging efficiency. This is the energetic efficiency of storing electrical energy in the storage device. A value of 1.0 means the device does not lose any energy when charging.
This field contains the charging efficiency. This is the energetic efficiency of storing electrical energy in the storage device. A value of 1.0 means the device does not lose any energy when charging. The value for this field must be between 0.001 and 1.0.

\paragraph{Field: Nominal Discharging Energetic Efficiency}\label{field-nominal-discharging-energetic-efficiency}

This field contains the discharging efficiency. This is the energetic efficiency of drawing electrical energy from the storage device. A value of 1.0 means the device does not lose any energy when drawing power.
This field contains the discharging efficiency. This is the energetic efficiency of drawing electrical energy from the storage device. A value of 1.0 means the device does not lose any energy when drawing power. The value for this field must be between 0.001 and 1.0.

\paragraph{Field: Maximum Storage Capacity}\label{field-maximum-storage-capacity}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4115,7 +4115,7 @@ \subsubsection{Inputs}\label{inputs-38}

\paragraph{Field: Tube Spacing}\label{field-tube-spacing}

This field defines the distance between adjacent hydronic tubes spaced in the direction perpendicular to the main direction of heat transfer. The value for this parameter must be greater than 0.01m (or a tube spacing of 1 cm) and less than 1.0m (or a tube spacing of 1m). Note that this parameter is only used for two-dimensional solutions (see previous field).
This field defines the distance between adjacent hydronic tubes spaced in the direction perpendicular to the main direction of heat transfer. The value for this parameter must be greater than 0.01m (or a tube spacing of 1 cm) and less than 1.0m (or a tube spacing of 1m). Note that this parameter is only used for two-dimensional solutions (see previous field) or when the user requests that the tube length for a hydronic radiant system ( \textbf{\hyperref[zonehvaclowtemperatureradiantvariableflow]{variable flow}} or \textbf{\hyperref[zonehvaclowtemperatureradiantconstantflow]{constant flow}}) be autosized. In the case of autosizing the tube length, this parameter is used along with the dimensions of the surface to approximate the tube length.

\paragraph{Field: Two-Dimensional Temperature Calculation Position}\label{field-two-dimensional-temperature-calculation-position}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ int main( int argc, char const *argv[] )
auto const input_json = json::parse( schema_stream );
auto const v_cbor = json::to_cbor( input_json );

printf(" const static std::array< std::uint8_t, %zu > embeddedSchema = {{\n", v_cbor.size() );
printf(" static constexpr std::array< std::uint8_t, %zu > embeddedSchema = {{\n", v_cbor.size() );

for ( size_t i = 0; i < v_cbor.size(); ++i )
{
Expand Down
12 changes: 7 additions & 5 deletions scripts/dev/generate_epJSON_schema/idd_parser.py
Original file line number Diff line number Diff line change
Expand Up @@ -152,7 +152,7 @@ class Data:


def parse_idd(data):
root = {'$schema': "http://json-schema.org/draft-04/schema#", 'properties': {}}
root = {'$schema': "https://json-schema.org/draft-07/schema#", 'properties': {}}
data.file_size = len(data.file)
current_group_name = '**ungrouped**'

Expand Down Expand Up @@ -504,15 +504,17 @@ def parse_field(data, token):

elif token == TOKEN_MAX or token == TOKEN_MAX_EXCLUSIVE:
next_token(data)
root['maximum'] = parse_number(data)
if token == TOKEN_MAX_EXCLUSIVE:
root['exclusiveMaximum'] = True
root['exclusiveMaximum'] = parse_number(data)
else:
root['maximum'] = parse_number(data)

elif token == TOKEN_MIN or token == TOKEN_MIN_EXCLUSIVE:
next_token(data)
root['minimum'] = parse_number(data)
if token == TOKEN_MIN_EXCLUSIVE:
root['exclusiveMinimum'] = True
root['exclusiveMinimum'] = parse_number(data)
else:
root['minimum'] = parse_number(data)

elif token == TOKEN_BEGIN_EXTENSIBLE:
next_token(data)
Expand Down
Loading

4 comments on commit 8cee287

@nrel-bot
Copy link

Choose a reason for hiding this comment

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

tsatprecisions20 (JasonGlazer) - Win64-Windows-10-VisualStudio-16: Tests Failed (0 of 0 tests passed, 0 test warnings)

Build Badge Test Badge

@nrel-bot-2
Copy link

Choose a reason for hiding this comment

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

tsatprecisions20 (JasonGlazer) - x86_64-Linux-Ubuntu-18.04-gcc-7.5: Tests Failed (0 of 0 tests passed, 0 test warnings)

Build Badge Test Badge

@nrel-bot-2
Copy link

Choose a reason for hiding this comment

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

tsatprecisions20 (JasonGlazer) - x86_64-Linux-Ubuntu-18.04-gcc-7.5-UnitTestsCoverage-Debug: Tests Failed (0 of 0 tests passed, 0 test warnings)

Build Badge Test Badge Coverage Badge

@nrel-bot-2
Copy link

Choose a reason for hiding this comment

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

tsatprecisions20 (JasonGlazer) - x86_64-Linux-Ubuntu-18.04-gcc-7.5-IntegrationCoverage-Debug: Tests Failed (0 of 0 tests passed, 0 test warnings)

Build Badge Test Badge Coverage Badge

Please sign in to comment.