From c7f3361125d1933a317d432d98c27f47a719a0e2 Mon Sep 17 00:00:00 2001 From: Chip Barnaby Date: Wed, 30 Sep 2020 13:05:27 -0400 Subject: [PATCH] HPWHsim mix fix; iz_afCat checking --- src/CGCOMP.CPP | 21 ++++++++++++++------- src/CNRECS.DEF | 1 + vendor/HPWHsim | 2 +- 3 files changed, 16 insertions(+), 8 deletions(-) diff --git a/src/CGCOMP.CPP b/src/CGCOMP.CPP index e27b9026c..cf402caff 100644 --- a/src/CGCOMP.CPP +++ b/src/CGCOMP.CPP @@ -876,6 +876,9 @@ RC IZXRAT::iz_CkfIZXFER() // input checks iz_exp = 0.f; } + if (!iz_CanHaveAFCat()) + ignore(IZXRAT_AFCAT, when); + // horizontal opening // stairangle defaults // L1 and L2 required else disallowed @@ -1046,7 +1049,9 @@ x } void IZXRAT::iz_SetupAfMtrs() { // Air flow category - if (!IsSet(IZXRAT_AFCAT)) + if (!iz_CanHaveAFCat()) + iz_afCat = -1; + else if (!IsSet(IZXRAT_AFCAT)) iz_afCat = iz_AfCatDefault(); // default category (may return -1) // AFMTR ptrs: NULL if no meter specified -> no air flow accounting @@ -1079,8 +1084,8 @@ void IZXRAT::iz_SetupAfMtrs() AFCAT IZXRAT::iz_AfCatDefault() const { AFCAT afCat; - if (!iz_IsAirNet()) - afCat = -1; // track only airnet flows + if (!iz_CanHaveAFCat()) + afCat = -1; // not trackable else if (iz_IsSysAir()) afCat = C_AFCAT_HVAC; else if (iz_IsDuctLk()) @@ -1608,7 +1613,7 @@ RC AIRNET::an_Calc( // airnet flow balance const int ANDBZMAX = 5; double rVSave[ ANDBZMAX]; double jacSave[ ANDBZMAX*ANDBZMAX]; - int bDbPrint = DbDo( dbdAIRNET); + bool bDbPrint = DbDo( dbdAIRNET); #endif TMRSTART( TMR_AIRNET); @@ -1714,9 +1719,11 @@ RC AIRNET::an_Calc( // airnet flow balance } #if defined( DEBUGDUMP) // save info for debug print (changed by gaussjb()) - VCopy( rVSave, nzDb, rV); - for (zi=0; zi < nzDb; zi++) - VCopy( &jacSave[ zi*nzDb], nzDb, &an_jac[ zi*an_nz]); + if (bDbPrint) + { VCopy(rVSave, nzDb, rV); + for (zi = 0; zi < nzDb; zi++) + VCopy(&jacSave[zi*nzDb], nzDb, &an_jac[zi*an_nz]); + } #endif // solve for pressure corrections int gjRet = gaussjb( an_jac, an_nz, rV, 1); diff --git a/src/CNRECS.DEF b/src/CNRECS.DEF index 9483352ed..88ecc906d 100644 --- a/src/CNRECS.DEF +++ b/src/CNRECS.DEF @@ -2788,6 +2788,7 @@ RECORD IZXRAT "izXfer" *RAT // interzone heat transfers: conductive and/or vent. *declare "RC iz_EndSubhr();" // CAUTION: the following depend on C_IZNVTYCH_xxx values *declare "BOOL iz_IsAirNet() const { return iz_nvcntrl > C_IZNVTYCH_TWOWAY; }" + *declare "BOOL iz_CanHaveAFCat() const { return iz_IsAirNet(); }" *declare "BOOL iz_IsExterior() const { return iz_nvcntrl == C_IZNVTYCH_ANEXT || iz_nvcntrl == C_IZNVTYCH_ANEXTFAN || iz_nvcntrl == C_IZNVTYCH_ANEXTFLOW; }" *declare "BOOL iz_IsAirNetIZ() const { return iz_nvcntrl == C_IZNVTYCH_ANIZ || iz_nvcntrl == C_IZNVTYCH_ANIZFAN || iz_nvcntrl == C_IZNVTYCH_ANIZFLOW || iz_nvcntrl == C_IZNVTYCH_ANHORIZ; }" *declare "BOOL iz_IsHERV() const { return iz_nvcntrl == C_IZNVTYCH_ANHERV; }" diff --git a/vendor/HPWHsim b/vendor/HPWHsim index 69ebe6215..6688d3ce3 160000 --- a/vendor/HPWHsim +++ b/vendor/HPWHsim @@ -1 +1 @@ -Subproject commit 69ebe62154466878821edc5b662d21b1fd724efb +Subproject commit 6688d3ce3acb40bb3f7030dce024ca1fe83d035f