LCOV - code coverage report
Current view: top level - EnergyPlus - ThermalISO15099Calc.hh (source / functions) Coverage Total Hit
Test: lcov.output.filtered Lines: 3.7 % 107 4
Test Date: 2025-06-02 07:23:51 Functions: 66.7 % 3 2

            Line data    Source code
       1              : // EnergyPlus, Copyright (c) 1996-2025, The Board of Trustees of the University of Illinois,
       2              : // The Regents of the University of California, through Lawrence Berkeley National Laboratory
       3              : // (subject to receipt of any required approvals from the U.S. Dept. of Energy), Oak Ridge
       4              : // National Laboratory, managed by UT-Battelle, Alliance for Sustainable Energy, LLC, and other
       5              : // contributors. All rights reserved.
       6              : //
       7              : // NOTICE: This Software was developed under funding from the U.S. Department of Energy and the
       8              : // U.S. Government consequently retains certain rights. As such, the U.S. Government has been
       9              : // granted for itself and others acting on its behalf a paid-up, nonexclusive, irrevocable,
      10              : // worldwide license in the Software to reproduce, distribute copies to the public, prepare
      11              : // derivative works, and perform publicly and display publicly, and to permit others to do so.
      12              : //
      13              : // Redistribution and use in source and binary forms, with or without modification, are permitted
      14              : // provided that the following conditions are met:
      15              : //
      16              : // (1) Redistributions of source code must retain the above copyright notice, this list of
      17              : //     conditions and the following disclaimer.
      18              : //
      19              : // (2) Redistributions in binary form must reproduce the above copyright notice, this list of
      20              : //     conditions and the following disclaimer in the documentation and/or other materials
      21              : //     provided with the distribution.
      22              : //
      23              : // (3) Neither the name of the University of California, Lawrence Berkeley National Laboratory,
      24              : //     the University of Illinois, U.S. Dept. of Energy nor the names of its contributors may be
      25              : //     used to endorse or promote products derived from this software without specific prior
      26              : //     written permission.
      27              : //
      28              : // (4) Use of EnergyPlus(TM) Name. If Licensee (i) distributes the software in stand-alone form
      29              : //     without changes from the version obtained under this License, or (ii) Licensee makes a
      30              : //     reference solely to the software portion of its product, Licensee must refer to the
      31              : //     software as "EnergyPlus version X" software, where "X" is the version number Licensee
      32              : //     obtained under this License and may not use a different name for the software. Except as
      33              : //     specifically required in this Section (4), Licensee shall not use in a company name, a
      34              : //     product name, in advertising, publicity, or other promotional activities any name, trade
      35              : //     name, trademark, logo, or other designation of "EnergyPlus", "E+", "e+" or confusingly
      36              : //     similar designation, without the U.S. Department of Energy's prior written consent.
      37              : //
      38              : // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
      39              : // IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY
      40              : // AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
      41              : // CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
      42              : // CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
      43              : // SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
      44              : // THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
      45              : // OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
      46              : // POSSIBILITY OF SUCH DAMAGE.
      47              : 
      48              : #ifndef ThermalISO15099Calc_hh_INCLUDED
      49              : #define ThermalISO15099Calc_hh_INCLUDED
      50              : 
      51              : // ObjexxFCL Headers
      52              : #include <ObjexxFCL/Array2A.hh>
      53              : 
      54              : // EnergyPlus Headers
      55              : #include <EnergyPlus/Data/BaseData.hh>
      56              : #include <EnergyPlus/DataGlobals.hh>
      57              : #include <EnergyPlus/EnergyPlus.hh>
      58              : #include <EnergyPlus/TARCOGGassesParams.hh>
      59              : #include <EnergyPlus/TARCOGParams.hh>
      60              : 
      61              : namespace EnergyPlus {
      62              : 
      63              : // Forward declarations
      64              : struct EnergyPlusData;
      65              : 
      66              : // Using/Aliasing
      67              : using namespace TARCOGGassesParams;
      68              : using namespace TARCOGParams;
      69              : 
      70              : namespace ThermalISO15099Calc {
      71              : 
      72              :     void film(EnergyPlusData &state, Real64 tex, Real64 tw, Real64 ws, int iwd, Real64 &hcout, int ibc);
      73              : 
      74              :     void Calc_ISO15099(EnergyPlusData &state,
      75              :                        TARCOGOutput::Files &files,
      76              :                        int nlayer,
      77              :                        int iwd,
      78              :                        Real64 &tout,
      79              :                        Real64 &tind,
      80              :                        Real64 &trmin,
      81              :                        Real64 wso,
      82              :                        Real64 wsi,
      83              :                        Real64 dir,
      84              :                        Real64 outir,
      85              :                        int isky,
      86              :                        Real64 tsky,
      87              :                        Real64 &esky,
      88              :                        Real64 fclr,
      89              :                        Real64 VacuumPressure,
      90              :                        Real64 VacuumMaxGapThickness,
      91              :                        Array1D<Real64> &gap,
      92              :                        Array1D<Real64> &thick,
      93              :                        Array1D<Real64> &scon,
      94              :                        const Array1D<Real64> &tir,
      95              :                        const Array1D<Real64> &emis,
      96              :                        Real64 totsol,
      97              :                        Real64 tilt,
      98              :                        const Array1D<Real64> &asol,
      99              :                        Real64 height,
     100              :                        Real64 heightt,
     101              :                        Real64 width,
     102              :                        const Array1D<Real64> &presure,
     103              :                        Array2A_int iprop,
     104              :                        Array2A<Real64> frct,
     105              :                        Array2A<Real64> xgcon,
     106              :                        Array2A<Real64> xgvis,
     107              :                        Array2A<Real64> xgcp,
     108              :                        const Array1D<Real64> &xwght,
     109              :                        const Array1D<Real64> &gama,
     110              :                        const Array1D_int &nmix,
     111              :                        const Array1D_int &SupportPillar,
     112              :                        const Array1D<Real64> &PillarSpacing,
     113              :                        const Array1D<Real64> &PillarRadius,
     114              :                        Array1D<Real64> &theta,
     115              :                        Array1D<Real64> &q,
     116              :                        Array1D<Real64> &qv,
     117              :                        Real64 &ufactor,
     118              :                        Real64 &sc,
     119              :                        Real64 &hflux,
     120              :                        Real64 &hcin,
     121              :                        Real64 &hcout,
     122              :                        Real64 &hrin,
     123              :                        Real64 &hrout,
     124              :                        Real64 &hin,
     125              :                        Real64 &hout,
     126              :                        Array1D<Real64> &hcgas,
     127              :                        Array1D<Real64> &hrgas,
     128              :                        Real64 &shgc,
     129              :                        int &nperr,
     130              :                        std::string &ErrorMessage,
     131              :                        Real64 &shgct,
     132              :                        Real64 &tamb,
     133              :                        Real64 &troom,
     134              :                        const Array1D_int &ibc,
     135              :                        const Array1D<Real64> &Atop,
     136              :                        const Array1D<Real64> &Abot,
     137              :                        const Array1D<Real64> &Al,
     138              :                        const Array1D<Real64> &Ar,
     139              :                        const Array1D<Real64> &Ah,
     140              :                        const Array1D<Real64> &SlatThick,
     141              :                        const Array1D<Real64> &SlatWidth,
     142              :                        const Array1D<Real64> &SlatAngle,
     143              :                        const Array1D<Real64> &SlatCond,
     144              :                        const Array1D<Real64> &SlatSpacing,
     145              :                        const Array1D<Real64> &SlatCurve,
     146              :                        const Array1D<Real64> &vvent,
     147              :                        const Array1D<Real64> &tvent,
     148              :                        const Array1D<TARCOGLayerType> &LayerType,
     149              :                        const Array1D_int &nslice,
     150              :                        const Array1D<Real64> &LaminateA,
     151              :                        const Array1D<Real64> &LaminateB,
     152              :                        const Array1D<Real64> &sumsol,
     153              :                        Array1D<Real64> &Ra,
     154              :                        Array1D<Real64> &Nu,
     155              :                        TARCOGThermalModel ThermalMod,
     156              :                        int Debug_mode,
     157              :                        Real64 &ShadeEmisRatioOut,
     158              :                        Real64 &ShadeEmisRatioIn,
     159              :                        Real64 &ShadeHcRatioOut,
     160              :                        Real64 &ShadeHcRatioIn,
     161              :                        Real64 &HcUnshadedOut,
     162              :                        Real64 &HcUnshadedIn,
     163              :                        Array1D<Real64> &Keff,
     164              :                        Array1D<Real64> &ShadeGapKeffConv,
     165              :                        Real64 SDScalar,
     166              :                        int SHGCCalc,
     167              :                        int &NumOfIterations,
     168              :                        Real64 egdeGlCorrFac);
     169              : 
     170              :     void therm1d(EnergyPlusData &state,
     171              :                  TARCOGOutput::Files &files,
     172              :                  int nlayer,
     173              :                  int iwd,
     174              :                  Real64 &tout,
     175              :                  Real64 &tind,
     176              :                  Real64 wso,
     177              :                  Real64 wsi,
     178              :                  Real64 VacuumPressure,
     179              :                  Real64 VacuumMaxGapThickness,
     180              :                  Real64 dir,
     181              :                  Real64 &ebsky,
     182              :                  Real64 Gout,
     183              :                  Real64 trmout,
     184              :                  Real64 trmin,
     185              :                  Real64 &ebroom,
     186              :                  Real64 Gin,
     187              :                  const Array1D<Real64> &tir,
     188              :                  const Array1D<Real64> &rir,
     189              :                  const Array1D<Real64> &emis,
     190              :                  const Array1D<Real64> &gap,
     191              :                  const Array1D<Real64> &thick,
     192              :                  const Array1D<Real64> &scon,
     193              :                  Real64 tilt,
     194              :                  const Array1D<Real64> &asol,
     195              :                  Real64 height,
     196              :                  Real64 heightt,
     197              :                  Real64 width,
     198              :                  Array2_int const &iprop,
     199              :                  Array2<Real64> const &frct,
     200              :                  const Array1D<Real64> &presure,
     201              :                  const Array1D_int &nmix,
     202              :                  const Array1D<Real64> &wght,
     203              :                  Array2<Real64> const &gcon,
     204              :                  Array2<Real64> const &gvis,
     205              :                  Array2<Real64> const &gcp,
     206              :                  const Array1D<Real64> &gama,
     207              :                  const Array1D_int &SupportPillar,
     208              :                  const Array1D<Real64> &PillarSpacing,
     209              :                  const Array1D<Real64> &PillarRadius,
     210              :                  Array1D<Real64> &theta,
     211              :                  Array1D<Real64> &q,
     212              :                  Array1D<Real64> &qv,
     213              :                  Real64 &flux,
     214              :                  Real64 &hcin,
     215              :                  Real64 &hrin,
     216              :                  Real64 &hcout,
     217              :                  Real64 &hrout,
     218              :                  Real64 const hin,
     219              :                  Real64 const hout,
     220              :                  Array1D<Real64> &hcgas,
     221              :                  Array1D<Real64> &hrgas,
     222              :                  Real64 &ufactor,
     223              :                  int &nperr,
     224              :                  std::string &ErrorMessage,
     225              :                  Real64 &tamb,
     226              :                  Real64 &troom,
     227              :                  const Array1D_int &ibc,
     228              :                  const Array1D<Real64> &Atop,
     229              :                  const Array1D<Real64> &Abot,
     230              :                  const Array1D<Real64> &Al,
     231              :                  const Array1D<Real64> &Ar,
     232              :                  const Array1D<Real64> &Ah,
     233              :                  const Array1D<Real64> &EffectiveOpenness,
     234              :                  const Array1D<Real64> &vvent,
     235              :                  const Array1D<Real64> &tvent,
     236              :                  const Array1D<TARCOGLayerType> &LayerType,
     237              :                  Array1D<Real64> &Ra,
     238              :                  Array1D<Real64> &Nu,
     239              :                  Array1D<Real64> &vfreevent,
     240              :                  Array1D<Real64> &qcgas,
     241              :                  Array1D<Real64> &qrgas,
     242              :                  Array1D<Real64> &Ebf,
     243              :                  Array1D<Real64> &Ebb,
     244              :                  Array1D<Real64> &Rf,
     245              :                  Array1D<Real64> &Rb,
     246              :                  Real64 &ShadeEmisRatioOut,
     247              :                  Real64 &ShadeEmisRatioIn,
     248              :                  Real64 &ShadeHcModifiedOut,
     249              :                  Real64 &ShadeHcModifiedIn,
     250              :                  TARCOGThermalModel ThermalMod,
     251              :                  int Debug_mode,
     252              :                  Real64 &AchievedErrorTolerance,
     253              :                  int &TotalIndex,
     254              :                  Real64 edgeGlCorrFac);
     255              : 
     256              :     void guess(EnergyPlusData &state,
     257              :                Real64 tout,
     258              :                Real64 tind,
     259              :                int nlayer,
     260              :                const Array1D<Real64> &gap,
     261              :                const Array1D<Real64> &thick,
     262              :                Real64 &width,
     263              :                Array1D<Real64> &theta,
     264              :                Array1D<Real64> &Ebb,
     265              :                Array1D<Real64> &Ebf,
     266              :                Array1D<Real64> &Tgap);
     267              : 
     268              :     void solarISO15099(Real64 totsol, Real64 rtot, const Array1D<Real64> &rs, int nlayer, const Array1D<Real64> &absol, Real64 &sf);
     269              : 
     270              :     void resist(int nlayer,
     271              :                 Real64 trmout,
     272              :                 Real64 Tout,
     273              :                 Real64 trmin,
     274              :                 Real64 tind,
     275              :                 const Array1D<Real64> &hcgas,
     276              :                 const Array1D<Real64> &hrgas,
     277              :                 Array1D<Real64> const &Theta,
     278              :                 Array1D<Real64> &qlayer,
     279              :                 const Array1D<Real64> &qv,
     280              :                 const Array1D<TARCOGLayerType> &LayerType,
     281              :                 const Array1D<Real64> &thick,
     282              :                 const Array1D<Real64> &scon,
     283              :                 Real64 &ufactor,
     284              :                 Real64 &flux,
     285              :                 Array1D<Real64> &qcgas,
     286              :                 Array1D<Real64> &qrgas);
     287              : 
     288              :     void hatter(EnergyPlusData &state,
     289              :                 int nlayer,
     290              :                 int iwd,
     291              :                 Real64 tout,
     292              :                 Real64 tind,
     293              :                 Real64 wso,
     294              :                 Real64 wsi,
     295              :                 Real64 VacuumPressure,
     296              :                 Real64 VacuumMaxGapThickness,
     297              :                 Real64 const ebsky,
     298              :                 Real64 &tamb,
     299              :                 Real64 const ebroom,
     300              :                 Real64 &troom,
     301              :                 const Array1D<Real64> &gap,
     302              :                 Real64 height,
     303              :                 Real64 heightt,
     304              :                 const Array1D<Real64> &scon,
     305              :                 Real64 tilt,
     306              :                 Array1D<Real64> const &theta,
     307              :                 const Array1D<Real64> &Tgap,
     308              :                 Array1D<Real64> const &Radiation,
     309              :                 Real64 trmout,
     310              :                 Real64 trmin,
     311              :                 Array2_int const &iprop,
     312              :                 Array2<Real64> const &frct,
     313              :                 const Array1D<Real64> &presure,
     314              :                 const Array1D_int &nmix,
     315              :                 const Array1D<Real64> &wght,
     316              :                 Array2<Real64> const &gcon,
     317              :                 Array2<Real64> const &gvis,
     318              :                 Array2<Real64> const &gcp,
     319              :                 const Array1D<Real64> &gama,
     320              :                 const Array1D_int &SupportPillar,
     321              :                 const Array1D<Real64> &PillarSpacing,
     322              :                 const Array1D<Real64> &PillarRadius,
     323              :                 Array1D<Real64> &hgas,
     324              :                 Array1D<Real64> &hcgas,
     325              :                 Array1D<Real64> &hrgas,
     326              :                 Real64 &hcin,
     327              :                 Real64 &hcout,
     328              :                 Real64 hin,
     329              :                 Real64 hout,
     330              :                 int index,
     331              :                 const Array1D_int &ibc,
     332              :                 int &nperr,
     333              :                 std::string &ErrorMessage,
     334              :                 Real64 &hrin,
     335              :                 Real64 &hrout,
     336              :                 Array1D<Real64> &Ra,
     337              :                 Array1D<Real64> &Nu);
     338              : 
     339              :     void effectiveLayerCond(EnergyPlusData &state,
     340              :                             int nlayer,
     341              :                             const Array1D<TARCOGLayerType> &LayerType, // Layer type
     342              :                             const Array1D<Real64> &scon,               // Layer thermal conductivity
     343              :                             const Array1D<Real64> &thick,              // Layer thickness
     344              :                             Array2A_int iprop,                         // Gas type in gaps
     345              :                             Array2A<Real64> frct,                      // Fraction of gas
     346              :                             const Array1D_int &nmix,                   // Gas mixture
     347              :                             const Array1D<Real64> &pressure,           // Gas pressure [Pa]
     348              :                             const Array1D<Real64> &wght,               // Molecular weight
     349              :                             Array2A<Real64> gcon,                      // Gas specific conductivity
     350              :                             Array2A<Real64> gvis,                      // Gas specific viscosity
     351              :                             Array2A<Real64> gcp,                       // Gas specific heat
     352              :                             const Array1D<Real64> &EffectiveOpenness,  // Layer effective openneess [m2]
     353              :                             Array1D<Real64> const &theta,              // Layer surface tempeartures [K]
     354              :                             Array1D<Real64> &sconScaled,               // Layer conductivity divided by thickness
     355              :                             int &nperr,                                // Error message flag
     356              :                             std::string &ErrorMessage                  // Error message
     357              :     );
     358              : 
     359              :     void filmi(EnergyPlusData &state,
     360              :                Real64 tair,
     361              :                Real64 t,
     362              :                int nlayer,
     363              :                Real64 tilt,
     364              :                Real64 wsi,
     365              :                Real64 height,
     366              :                Array2A_int iprop,
     367              :                Array2A<Real64> frct,
     368              :                const Array1D<Real64> &presure,
     369              :                const Array1D_int &nmix,
     370              :                const Array1D<Real64> &wght,
     371              :                Array2A<Real64> gcon,
     372              :                Array2A<Real64> gvis,
     373              :                Array2A<Real64> gcp,
     374              :                Real64 &hcin,
     375              :                int ibc,
     376              :                int &nperr,
     377              :                std::string &ErrorMessage);
     378              : 
     379              :     void filmg(EnergyPlusData &state,
     380              :                Real64 tilt,
     381              :                const Array1D<Real64> &theta,
     382              :                const Array1D<Real64> &Tgap,
     383              :                int nlayer,
     384              :                Real64 height,
     385              :                const Array1D<Real64> &gap,
     386              :                Array2A_int iprop,
     387              :                Array2A<Real64> frct,
     388              :                Real64 VacuumPressure,
     389              :                const Array1D<Real64> &presure,
     390              :                const Array1D_int &nmix,
     391              :                const Array1D<Real64> &wght,
     392              :                Array2A<Real64> gcon,
     393              :                Array2A<Real64> gvis,
     394              :                Array2A<Real64> gcp,
     395              :                const Array1D<Real64> &gama,
     396              :                Array1D<Real64> &hcgas,
     397              :                Array1D<Real64> &Rayleigh,
     398              :                Array1D<Real64> &Nu,
     399              :                int &nperr,
     400              :                std::string &ErrorMessage);
     401              : 
     402              :     void filmPillar(EnergyPlusData &state,
     403              :                     const Array1D_int &SupportPillar,     // Shows whether or not gap have support pillar
     404              :                     const Array1D<Real64> &scon,          // Conductivity of glass layers
     405              :                     const Array1D<Real64> &PillarSpacing, // Pillar spacing for each gap (used in case there is support pillar)
     406              :                     const Array1D<Real64> &PillarRadius,  // Pillar radius for each gap (used in case there is support pillar)
     407              :                     int nlayer,
     408              :                     const Array1D<Real64> &gap,
     409              :                     Array1D<Real64> &hcgas,
     410              :                     Real64 VacuumMaxGapThickness,
     411              :                     int &nperr,
     412              :                     std::string &ErrorMessage);
     413              : 
     414              :     void nusselt(Real64 tilt, Real64 ra, Real64 asp, Real64 &gnu, int &nperr, std::string &ErrorMessage);
     415              : 
     416              :     void storeIterationResults(EnergyPlusData &state,
     417              :                                TARCOGOutput::Files &files,
     418              :                                int nlayer,
     419              :                                int index,
     420              :                                const Array1D<Real64> &theta,
     421              :                                Real64 trmout,
     422              :                                Real64 tamb,
     423              :                                Real64 trmin,
     424              :                                Real64 troom,
     425              :                                Real64 ebsky,
     426              :                                Real64 ebroom,
     427              :                                Real64 hcin,
     428              :                                Real64 hcout,
     429              :                                Real64 hrin,
     430              :                                Real64 hrout,
     431              :                                Real64 hin,
     432              :                                Real64 hout,
     433              :                                const Array1D<Real64> &Ebb,
     434              :                                const Array1D<Real64> &Ebf,
     435              :                                const Array1D<Real64> &Rb,
     436              :                                const Array1D<Real64> &Rf,
     437              :                                int &);
     438              : 
     439              :     void CalculateFuncResults(int nlayer, Array2<Real64> const &a, const Array1D<Real64> &b, const Array1D<Real64> &x, Array1D<Real64> &FRes);
     440              : } // namespace ThermalISO15099Calc
     441              : struct ThermalISO15099CalcData : BaseGlobalStruct
     442              : {
     443              :     Array1D<Real64> thetas = Array1D<Real64>(maxlay2);
     444              :     Array1D<Real64> rir = Array1D<Real64>(maxlay2);
     445              :     Array1D<Real64> hcgass = Array1D<Real64>(maxlay1);
     446              :     Array1D<Real64> hrgass = Array1D<Real64>(maxlay1);
     447              :     Array1D<Real64> rs = Array1D<Real64>(maxlay3, 0.0);
     448              :     Array1D<Real64> qs = Array1D<Real64>(maxlay3);
     449              :     Array1D<Real64> qvs = Array1D<Real64>(maxlay1);
     450              :     Array1D<Real64> LaminateAU = Array1D<Real64>(maxlay);
     451              :     Array1D<Real64> sumsolU = Array1D<Real64>(maxlay);
     452              :     Array1D<Real64> sol0 = Array1D<Real64>(maxlay);
     453              :     Array1D<Real64> qcgas = Array1D<Real64>(maxlay1);
     454              :     Array1D<Real64> qcgaps = Array1D<Real64>(maxlay1);
     455              :     Array1D<Real64> qrgas = Array1D<Real64>(maxlay1);
     456              :     Array1D<Real64> qrgaps = Array1D<Real64>(maxlay1);
     457              :     Array1D<Real64> Atop_NOSD = Array1D<Real64>(maxlay);
     458              :     Array1D<Real64> Abot_NOSD = Array1D<Real64>(maxlay);
     459              :     Array1D<Real64> Al_NOSD = Array1D<Real64>(maxlay);
     460              :     Array1D<Real64> Ar_NOSD = Array1D<Real64>(maxlay);
     461              :     Array1D<Real64> Ah_NOSD = Array1D<Real64>(maxlay);
     462              :     Array1D<Real64> EffectiveOpenness_NOSD = Array1D<Real64>(maxlay);
     463              :     Array1D<Real64> SlatThick_NOSD = Array1D<Real64>(maxlay);
     464              :     Array1D<Real64> SlatWidth_NOSD = Array1D<Real64>(maxlay);
     465              :     Array1D<Real64> SlatAngle_NOSD = Array1D<Real64>(maxlay);
     466              :     Array1D<Real64> SlatCond_NOSD = Array1D<Real64>(maxlay);
     467              :     Array1D<Real64> SlatSpacing_NOSD = Array1D<Real64>(maxlay);
     468              :     Array1D<Real64> SlatCurve_NOSD = Array1D<Real64>(maxlay);
     469              :     Array1D<Real64> vvent_NOSD = Array1D<Real64>(maxlay1);
     470              :     Array1D<Real64> tvent_NOSD = Array1D<Real64>(maxlay1);
     471              :     Array1D<Real64> qv_NOSD = Array1D<Real64>(maxlay1);
     472              :     Array1D<Real64> q_NOSD = Array1D<Real64>(maxlay3);
     473              :     Array1D<TARCOGParams::TARCOGLayerType> LayerType_NOSD = Array1D<TARCOGParams::TARCOGLayerType>(maxlay);
     474              :     Array1D<Real64> gap_NOSD = Array1D<Real64>(maxlay);
     475              :     Array1D<Real64> thick_NOSD = Array1D<Real64>(maxlay);
     476              :     Array1D<Real64> scon_NOSD = Array1D<Real64>(maxlay);
     477              :     Array1D<Real64> emis_NOSD = Array1D<Real64>(maxlay2);
     478              :     Array1D<Real64> rir_NOSD = Array1D<Real64>(maxlay2);
     479              :     Array1D<Real64> tir_NOSD = Array1D<Real64>(maxlay2);
     480              :     Array1D<Real64> theta_NOSD = Array1D<Real64>(maxlay2);
     481              :     Array2D<Real64> frct_NOSD = Array2D<Real64>(maxgas, maxlay1);
     482              :     Array2D_int iprop_NOSD = Array2D_int(maxgas, maxlay1);
     483              :     Array1D_int nmix_NOSD = Array1D_int(maxlay1);
     484              :     Array1D<Real64> presure_NOSD = Array1D<Real64>(maxlay1);
     485              :     Array1D<Real64> hcgas_NOSD = Array1D<Real64>(maxlay1);
     486              :     Array1D<Real64> hrgas_NOSD = Array1D<Real64>(maxlay1);
     487              :     Array1D<Real64> LaminateA_NOSD = Array1D<Real64>(maxlay);
     488              :     Array1D<Real64> LaminateB_NOSD = Array1D<Real64>(maxlay);
     489              :     Array1D<Real64> sumsol_NOSD = Array1D<Real64>(maxlay);
     490              :     Array1D<Real64> Ra_NOSD = Array1D<Real64>(maxlay);
     491              :     Array1D<Real64> Nu_NOSD = Array1D<Real64>(maxlay);
     492              :     Array1D<Real64> Ebb = Array1D<Real64>(maxlay);
     493              :     Array1D<Real64> Ebf = Array1D<Real64>(maxlay);
     494              :     Array1D<Real64> Rb = Array1D<Real64>(maxlay);
     495              :     Array1D<Real64> Rf = Array1D<Real64>(maxlay);
     496              :     Array1D<Real64> Ebbs = Array1D<Real64>(maxlay);
     497              :     Array1D<Real64> Ebfs = Array1D<Real64>(maxlay);
     498              :     Array1D<Real64> Rbs = Array1D<Real64>(maxlay);
     499              :     Array1D<Real64> Rfs = Array1D<Real64>(maxlay);
     500              :     Array1D<Real64> Ebb_NOSD = Array1D<Real64>(maxlay);
     501              :     Array1D<Real64> Ebf_NOSD = Array1D<Real64>(maxlay);
     502              :     Array1D<Real64> Rb_NOSD = Array1D<Real64>(maxlay);
     503              :     Array1D<Real64> Rf_NOSD = Array1D<Real64>(maxlay);
     504              :     Array1D<Real64> ShadeGapKeffConv_NOSD = Array1D<Real64>(MaxGap);
     505              :     Array1D<Real64> qcgas_NOSD = Array1D<Real64>(maxlay1);
     506              :     Array1D<Real64> Keff_NOSD = Array1D<Real64>(maxlay1);
     507              :     Array1D<Real64> qrgas_NOSD = Array1D<Real64>(maxlay1);
     508              :     Array1D_int nslice_NOSD = Array1D_int(maxlay);
     509              :     Array1D<Real64> vfreevent_NOSD = Array1D<Real64>(maxlay1);
     510              :     Array1D<Real64> vfreevent = Array1D<Real64>(maxlay1);
     511              :     Array1D<Real64> Atop_eff = Array1D<Real64>(maxlay, 0.0);
     512              :     Array1D<Real64> Abot_eff = Array1D<Real64>(maxlay, 0.0);
     513              :     Array1D<Real64> Al_eff = Array1D<Real64>(maxlay, 0.0);
     514              :     Array1D<Real64> Ar_eff = Array1D<Real64>(maxlay, 0.0);
     515              :     Array1D<Real64> Ah_eff = Array1D<Real64>(maxlay, 0.0);
     516              :     Array1D<Real64> EffectiveOpenness = Array1D<Real64>(maxlay, 0.0);
     517              :     Array1D<Real64> hgas = Array1D<Real64>(maxlay1);
     518              :     Array1D<Real64> Tgap = Array1D<Real64>(maxlay1);
     519              :     Array1D<Real64> hcgapMod = Array1D<Real64>(maxlay1);
     520              :     Array1D<Real64> hcv = Array1D<Real64>(maxlay1);
     521              :     Array1D_int iprop1 = Array1D_int(maxgas);
     522              :     Array1D<Real64> frct1 = Array1D<Real64>(maxgas);
     523              :     Array1D<Real64> frcti = Array1D<Real64>(maxgas);
     524              :     Array1D_int ipropi = Array1D_int(maxgas);
     525              :     Array1D<Real64> frctg = Array1D<Real64>(maxgas);
     526              :     Array1D_int ipropg = Array1D_int(maxgas);
     527              : 
     528              :     Real64 rtot = 0.0;
     529              :     Real64 sft = 0.0;
     530              :     Real64 hcins = 0.0;
     531              :     Real64 hrins = 0.0;
     532              :     Real64 hins = 0.0;
     533              :     Real64 hcouts = 0.0;
     534              :     Real64 hrouts = 0.0;
     535              :     Real64 houts = 0.0;
     536              :     Real64 ufactors = 0.0;
     537              :     Real64 fluxs = 0.0;
     538              :     Real64 qeff = 0.0;
     539              :     Real64 flux_nonsolar = 0.0;
     540              :     Real64 cpa = 0.0;
     541              :     Real64 aveGlassConductivity = 0.0;
     542              : 
     543              :     int iFP = 0;
     544              :     int kFP = 0;
     545              :     std::string dynFormat;
     546              : 
     547          801 :     void init_constant_state([[maybe_unused]] EnergyPlusData &state) override
     548              :     {
     549          801 :     }
     550              : 
     551          801 :     void init_state([[maybe_unused]] EnergyPlusData &state) override
     552              :     {
     553          801 :     }
     554              : 
     555            0 :     void clear_state() override
     556              :     {
     557            0 :         this->thetas = Array1D<Real64>(maxlay2);
     558            0 :         this->rir = Array1D<Real64>(maxlay2);
     559            0 :         this->hcgass = Array1D<Real64>(maxlay1);
     560            0 :         this->hrgass = Array1D<Real64>(maxlay1);
     561            0 :         this->rs = Array1D<Real64>(maxlay3, 0.0);
     562            0 :         this->qs = Array1D<Real64>(maxlay3);
     563            0 :         this->qvs = Array1D<Real64>(maxlay1);
     564            0 :         this->LaminateAU = Array1D<Real64>(maxlay);
     565            0 :         this->sumsolU = Array1D<Real64>(maxlay);
     566            0 :         this->sol0 = Array1D<Real64>(maxlay);
     567            0 :         this->qcgas = Array1D<Real64>(maxlay1);
     568            0 :         this->qcgaps = Array1D<Real64>(maxlay1);
     569            0 :         this->qrgas = Array1D<Real64>(maxlay1);
     570            0 :         this->qrgaps = Array1D<Real64>(maxlay1);
     571            0 :         this->Atop_NOSD = Array1D<Real64>(maxlay);
     572            0 :         this->Abot_NOSD = Array1D<Real64>(maxlay);
     573            0 :         this->Al_NOSD = Array1D<Real64>(maxlay);
     574            0 :         this->Ar_NOSD = Array1D<Real64>(maxlay);
     575            0 :         this->Ah_NOSD = Array1D<Real64>(maxlay);
     576            0 :         this->EffectiveOpenness_NOSD = Array1D<Real64>(maxlay);
     577            0 :         this->SlatThick_NOSD = Array1D<Real64>(maxlay);
     578            0 :         this->SlatWidth_NOSD = Array1D<Real64>(maxlay);
     579            0 :         this->SlatAngle_NOSD = Array1D<Real64>(maxlay);
     580            0 :         this->SlatCond_NOSD = Array1D<Real64>(maxlay);
     581            0 :         this->SlatSpacing_NOSD = Array1D<Real64>(maxlay);
     582            0 :         this->SlatCurve_NOSD = Array1D<Real64>(maxlay);
     583            0 :         this->vvent_NOSD = Array1D<Real64>(maxlay1);
     584            0 :         this->tvent_NOSD = Array1D<Real64>(maxlay1);
     585            0 :         this->qv_NOSD = Array1D<Real64>(maxlay1);
     586            0 :         this->q_NOSD = Array1D<Real64>(maxlay3);
     587            0 :         this->LayerType_NOSD = Array1D<TARCOGLayerType>(maxlay);
     588            0 :         this->gap_NOSD = Array1D<Real64>(maxlay);
     589            0 :         this->thick_NOSD = Array1D<Real64>(maxlay);
     590            0 :         this->scon_NOSD = Array1D<Real64>(maxlay);
     591            0 :         this->emis_NOSD = Array1D<Real64>(maxlay2);
     592            0 :         this->rir_NOSD = Array1D<Real64>(maxlay2);
     593            0 :         this->tir_NOSD = Array1D<Real64>(maxlay2);
     594            0 :         this->theta_NOSD = Array1D<Real64>(maxlay2);
     595            0 :         this->frct_NOSD = Array2D<Real64>(maxgas, maxlay1);
     596            0 :         this->iprop_NOSD = Array2D_int(maxgas, maxlay1);
     597            0 :         this->nmix_NOSD = Array1D_int(maxlay1);
     598            0 :         this->presure_NOSD = Array1D<Real64>(maxlay1);
     599            0 :         this->hcgas_NOSD = Array1D<Real64>(maxlay1);
     600            0 :         this->hrgas_NOSD = Array1D<Real64>(maxlay1);
     601            0 :         this->LaminateA_NOSD = Array1D<Real64>(maxlay);
     602            0 :         this->LaminateB_NOSD = Array1D<Real64>(maxlay);
     603            0 :         this->sumsol_NOSD = Array1D<Real64>(maxlay);
     604            0 :         this->Ra_NOSD = Array1D<Real64>(maxlay);
     605            0 :         this->Nu_NOSD = Array1D<Real64>(maxlay);
     606            0 :         this->Ebb = Array1D<Real64>(maxlay);
     607            0 :         this->Ebf = Array1D<Real64>(maxlay);
     608            0 :         this->Rb = Array1D<Real64>(maxlay);
     609            0 :         this->Rf = Array1D<Real64>(maxlay);
     610            0 :         this->Ebbs = Array1D<Real64>(maxlay);
     611            0 :         this->Ebfs = Array1D<Real64>(maxlay);
     612            0 :         this->Rbs = Array1D<Real64>(maxlay);
     613            0 :         this->Rfs = Array1D<Real64>(maxlay);
     614            0 :         this->Ebb_NOSD = Array1D<Real64>(maxlay);
     615            0 :         this->Ebf_NOSD = Array1D<Real64>(maxlay);
     616            0 :         this->Rb_NOSD = Array1D<Real64>(maxlay);
     617            0 :         this->Rf_NOSD = Array1D<Real64>(maxlay);
     618            0 :         this->ShadeGapKeffConv_NOSD = Array1D<Real64>(MaxGap);
     619            0 :         this->qcgas_NOSD = Array1D<Real64>(maxlay1);
     620            0 :         this->Keff_NOSD = Array1D<Real64>(maxlay1);
     621            0 :         this->qrgas_NOSD = Array1D<Real64>(maxlay1);
     622            0 :         this->nslice_NOSD = Array1D_int(maxlay);
     623            0 :         this->vfreevent_NOSD = Array1D<Real64>(maxlay1);
     624            0 :         this->vfreevent = Array1D<Real64>(maxlay1);
     625            0 :         this->Atop_eff = Array1D<Real64>(maxlay, 0.0);
     626            0 :         this->Abot_eff = Array1D<Real64>(maxlay, 0.0);
     627            0 :         this->Al_eff = Array1D<Real64>(maxlay, 0.0);
     628            0 :         this->Ar_eff = Array1D<Real64>(maxlay, 0.0);
     629            0 :         this->Ah_eff = Array1D<Real64>(maxlay, 0.0);
     630            0 :         this->EffectiveOpenness = Array1D<Real64>(maxlay, 0.0);
     631            0 :         this->hgas = Array1D<Real64>(maxlay1);
     632            0 :         this->Tgap = Array1D<Real64>(maxlay1);
     633            0 :         this->hcgapMod = Array1D<Real64>(maxlay1);
     634            0 :         this->hcv = Array1D<Real64>(maxlay1);
     635            0 :         this->iprop1 = Array1D_int(maxgas);
     636            0 :         this->frct1 = Array1D<Real64>(maxgas);
     637            0 :         this->frcti = Array1D<Real64>(maxgas);
     638            0 :         this->ipropi = Array1D_int(maxgas);
     639            0 :         this->frctg = Array1D<Real64>(maxgas);
     640            0 :         this->ipropg = Array1D_int(maxgas);
     641              : 
     642            0 :         this->rtot = 0.0;
     643            0 :         this->sft = 0.0;
     644            0 :         this->hcins = 0.0;
     645            0 :         this->hrins = 0.0;
     646            0 :         this->hins = 0.0;
     647            0 :         this->hcouts = 0.0;
     648            0 :         this->hrouts = 0.0;
     649            0 :         this->houts = 0.0;
     650            0 :         this->ufactors = 0.0;
     651            0 :         this->fluxs = 0.0;
     652            0 :         this->qeff = 0.0;
     653            0 :         this->flux_nonsolar = 0.0;
     654            0 :         this->cpa = 0.0;
     655            0 :         this->aveGlassConductivity = 0.0;
     656              : 
     657            0 :         this->iFP = 0;
     658            0 :         this->kFP = 0;
     659              : 
     660            0 :         this->dynFormat = "";
     661            0 :     }
     662              : };
     663              : 
     664              : } // namespace EnergyPlus
     665              : 
     666              : #endif
        

Generated by: LCOV version 2.0-1