LCOV - code coverage report
Current view: top level - EnergyPlus - ThermalISO15099Calc.hh (source / functions) Hit Total Coverage
Test: lcov.output.filtered Lines: 1 104 1.0 %
Date: 2023-01-17 19:17:23 Functions: 2 3 66.7 %

          Line data    Source code
       1             : // EnergyPlus, Copyright (c) 1996-2023, 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 &hin,
     219             :                  Real64 &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> &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 &ebsky,
     298             :                 Real64 &tamb,
     299             :                 Real64 &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> &theta,
     307             :                 const Array1D<Real64> &Tgap,
     308             :                 Array1D<Real64> &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> &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        1542 : 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           0 :     void clear_state() override
     548             :     {
     549           0 :         this->thetas = Array1D<Real64>(maxlay2);
     550           0 :         this->rir = Array1D<Real64>(maxlay2);
     551           0 :         this->hcgass = Array1D<Real64>(maxlay1);
     552           0 :         this->hrgass = Array1D<Real64>(maxlay1);
     553           0 :         this->rs = Array1D<Real64>(maxlay3, 0.0);
     554           0 :         this->qs = Array1D<Real64>(maxlay3);
     555           0 :         this->qvs = Array1D<Real64>(maxlay1);
     556           0 :         this->LaminateAU = Array1D<Real64>(maxlay);
     557           0 :         this->sumsolU = Array1D<Real64>(maxlay);
     558           0 :         this->sol0 = Array1D<Real64>(maxlay);
     559           0 :         this->qcgas = Array1D<Real64>(maxlay1);
     560           0 :         this->qcgaps = Array1D<Real64>(maxlay1);
     561           0 :         this->qrgas = Array1D<Real64>(maxlay1);
     562           0 :         this->qrgaps = Array1D<Real64>(maxlay1);
     563           0 :         this->Atop_NOSD = Array1D<Real64>(maxlay);
     564           0 :         this->Abot_NOSD = Array1D<Real64>(maxlay);
     565           0 :         this->Al_NOSD = Array1D<Real64>(maxlay);
     566           0 :         this->Ar_NOSD = Array1D<Real64>(maxlay);
     567           0 :         this->Ah_NOSD = Array1D<Real64>(maxlay);
     568           0 :         this->EffectiveOpenness_NOSD = Array1D<Real64>(maxlay);
     569           0 :         this->SlatThick_NOSD = Array1D<Real64>(maxlay);
     570           0 :         this->SlatWidth_NOSD = Array1D<Real64>(maxlay);
     571           0 :         this->SlatAngle_NOSD = Array1D<Real64>(maxlay);
     572           0 :         this->SlatCond_NOSD = Array1D<Real64>(maxlay);
     573           0 :         this->SlatSpacing_NOSD = Array1D<Real64>(maxlay);
     574           0 :         this->SlatCurve_NOSD = Array1D<Real64>(maxlay);
     575           0 :         this->vvent_NOSD = Array1D<Real64>(maxlay1);
     576           0 :         this->tvent_NOSD = Array1D<Real64>(maxlay1);
     577           0 :         this->qv_NOSD = Array1D<Real64>(maxlay1);
     578           0 :         this->q_NOSD = Array1D<Real64>(maxlay3);
     579           0 :         this->LayerType_NOSD = Array1D<TARCOGLayerType>(maxlay);
     580           0 :         this->gap_NOSD = Array1D<Real64>(maxlay);
     581           0 :         this->thick_NOSD = Array1D<Real64>(maxlay);
     582           0 :         this->scon_NOSD = Array1D<Real64>(maxlay);
     583           0 :         this->emis_NOSD = Array1D<Real64>(maxlay2);
     584           0 :         this->rir_NOSD = Array1D<Real64>(maxlay2);
     585           0 :         this->tir_NOSD = Array1D<Real64>(maxlay2);
     586           0 :         this->theta_NOSD = Array1D<Real64>(maxlay2);
     587           0 :         this->frct_NOSD = Array2D<Real64>(maxgas, maxlay1);
     588           0 :         this->iprop_NOSD = Array2D_int(maxgas, maxlay1);
     589           0 :         this->nmix_NOSD = Array1D_int(maxlay1);
     590           0 :         this->presure_NOSD = Array1D<Real64>(maxlay1);
     591           0 :         this->hcgas_NOSD = Array1D<Real64>(maxlay1);
     592           0 :         this->hrgas_NOSD = Array1D<Real64>(maxlay1);
     593           0 :         this->LaminateA_NOSD = Array1D<Real64>(maxlay);
     594           0 :         this->LaminateB_NOSD = Array1D<Real64>(maxlay);
     595           0 :         this->sumsol_NOSD = Array1D<Real64>(maxlay);
     596           0 :         this->Ra_NOSD = Array1D<Real64>(maxlay);
     597           0 :         this->Nu_NOSD = Array1D<Real64>(maxlay);
     598           0 :         this->Ebb = Array1D<Real64>(maxlay);
     599           0 :         this->Ebf = Array1D<Real64>(maxlay);
     600           0 :         this->Rb = Array1D<Real64>(maxlay);
     601           0 :         this->Rf = Array1D<Real64>(maxlay);
     602           0 :         this->Ebbs = Array1D<Real64>(maxlay);
     603           0 :         this->Ebfs = Array1D<Real64>(maxlay);
     604           0 :         this->Rbs = Array1D<Real64>(maxlay);
     605           0 :         this->Rfs = Array1D<Real64>(maxlay);
     606           0 :         this->Ebb_NOSD = Array1D<Real64>(maxlay);
     607           0 :         this->Ebf_NOSD = Array1D<Real64>(maxlay);
     608           0 :         this->Rb_NOSD = Array1D<Real64>(maxlay);
     609           0 :         this->Rf_NOSD = Array1D<Real64>(maxlay);
     610           0 :         this->ShadeGapKeffConv_NOSD = Array1D<Real64>(MaxGap);
     611           0 :         this->qcgas_NOSD = Array1D<Real64>(maxlay1);
     612           0 :         this->Keff_NOSD = Array1D<Real64>(maxlay1);
     613           0 :         this->qrgas_NOSD = Array1D<Real64>(maxlay1);
     614           0 :         this->nslice_NOSD = Array1D_int(maxlay);
     615           0 :         this->vfreevent_NOSD = Array1D<Real64>(maxlay1);
     616           0 :         this->vfreevent = Array1D<Real64>(maxlay1);
     617           0 :         this->Atop_eff = Array1D<Real64>(maxlay, 0.0);
     618           0 :         this->Abot_eff = Array1D<Real64>(maxlay, 0.0);
     619           0 :         this->Al_eff = Array1D<Real64>(maxlay, 0.0);
     620           0 :         this->Ar_eff = Array1D<Real64>(maxlay, 0.0);
     621           0 :         this->Ah_eff = Array1D<Real64>(maxlay, 0.0);
     622           0 :         this->EffectiveOpenness = Array1D<Real64>(maxlay, 0.0);
     623           0 :         this->hgas = Array1D<Real64>(maxlay1);
     624           0 :         this->Tgap = Array1D<Real64>(maxlay1);
     625           0 :         this->hcgapMod = Array1D<Real64>(maxlay1);
     626           0 :         this->hcv = Array1D<Real64>(maxlay1);
     627           0 :         this->iprop1 = Array1D_int(maxgas);
     628           0 :         this->frct1 = Array1D<Real64>(maxgas);
     629           0 :         this->frcti = Array1D<Real64>(maxgas);
     630           0 :         this->ipropi = Array1D_int(maxgas);
     631           0 :         this->frctg = Array1D<Real64>(maxgas);
     632           0 :         this->ipropg = Array1D_int(maxgas);
     633             : 
     634           0 :         this->rtot = 0.0;
     635           0 :         this->sft = 0.0;
     636           0 :         this->hcins = 0.0;
     637           0 :         this->hrins = 0.0;
     638           0 :         this->hins = 0.0;
     639           0 :         this->hcouts = 0.0;
     640           0 :         this->hrouts = 0.0;
     641           0 :         this->houts = 0.0;
     642           0 :         this->ufactors = 0.0;
     643           0 :         this->fluxs = 0.0;
     644           0 :         this->qeff = 0.0;
     645           0 :         this->flux_nonsolar = 0.0;
     646           0 :         this->cpa = 0.0;
     647           0 :         this->aveGlassConductivity = 0.0;
     648             : 
     649           0 :         this->iFP = 0;
     650           0 :         this->kFP = 0;
     651             : 
     652           0 :         this->dynFormat = "";
     653           0 :     }
     654             : };
     655             : 
     656             : } // namespace EnergyPlus
     657             : 
     658             : #endif

Generated by: LCOV version 1.13