LCOV - code coverage report
Current view: top level - EnergyPlus - DataGlobalConstants.cc (source / functions) Hit Total Coverage
Test: lcov.output.filtered Lines: 78 192 40.6 %
Date: 2023-01-17 19:17:23 Functions: 4 4 100.0 %

          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             : // C++ Headers
      49             : #include <map>
      50             : 
      51             : // EnergyPlus Headers
      52             : #include <EnergyPlus/DataGlobalConstants.hh>
      53             : #include <EnergyPlus/UtilityRoutines.hh>
      54             : 
      55             : namespace EnergyPlus::DataGlobalConstants {
      56             : 
      57       38319 : ResourceType AssignResourceTypeNum(std::string const &ResourceTypeChar)
      58             : {
      59             : 
      60             :     // FUNCTION INFORMATION:
      61             :     //       AUTHOR         Linda Lawrie
      62             :     //       DATE WRITTEN   June 2005
      63             :     //       MODIFIED       na
      64             :     //       RE-ENGINEERED  na
      65             : 
      66             :     // PURPOSE OF THIS FUNCTION:
      67             :     // Assists in assigning proper numeric resource types to data structures.
      68             : 
      69             :     {
      70       76638 :         auto const SELECT_CASE_var(UtilityRoutines::MakeUPPERCase(ResourceTypeChar));
      71             : 
      72       38319 :         if (SELECT_CASE_var == "ELECTRICITY") {
      73        9841 :             return ResourceType::Electricity;
      74             : 
      75       28478 :         } else if ((SELECT_CASE_var == "GAS") || (SELECT_CASE_var == "NATURALGAS")) {
      76        3084 :             return ResourceType::Natural_Gas;
      77             : 
      78       25394 :         } else if (SELECT_CASE_var == "GASOLINE") {
      79           0 :             return ResourceType::Gasoline;
      80             : 
      81       25394 :         } else if (SELECT_CASE_var == "DIESEL") {
      82          30 :             return ResourceType::Diesel;
      83             : 
      84       25364 :         } else if (SELECT_CASE_var == "COAL") {
      85           0 :             return ResourceType::Coal;
      86             : 
      87       25364 :         } else if (SELECT_CASE_var == "FUELOILNO1") {
      88           0 :             return ResourceType::FuelOil_1;
      89             : 
      90       25364 :         } else if (SELECT_CASE_var == "FUELOILNO2") {
      91           3 :             return ResourceType::FuelOil_2;
      92             : 
      93       25361 :         } else if (SELECT_CASE_var == "PROPANE") {
      94           0 :             return ResourceType::Propane;
      95             : 
      96       25361 :         } else if (SELECT_CASE_var == "OTHERFUEL1") {
      97           2 :             return ResourceType::OtherFuel1;
      98             : 
      99       25359 :         } else if (SELECT_CASE_var == "OTHERFUEL2") {
     100           0 :             return ResourceType::OtherFuel2;
     101             : 
     102       25359 :         } else if ((SELECT_CASE_var == "WATER") || (SELECT_CASE_var == "H2O")) {
     103        1403 :             return ResourceType::Water; // use record keeping
     104             : 
     105       23956 :         } else if ((SELECT_CASE_var == "ONSITEWATER") || (SELECT_CASE_var == "WATERPRODUCED") || (SELECT_CASE_var == "ONSITE WATER")) {
     106           0 :             return ResourceType::OnSiteWater; // these are for supply record keeping
     107             : 
     108       23956 :         } else if ((SELECT_CASE_var == "MAINSWATER") || (SELECT_CASE_var == "WATERSUPPLY")) {
     109        1397 :             return ResourceType::MainsWater; // record keeping
     110             : 
     111       22559 :         } else if ((SELECT_CASE_var == "RAINWATER") || (SELECT_CASE_var == "PRECIPITATION")) {
     112           0 :             return ResourceType::RainWater; // record keeping
     113             : 
     114       22559 :         } else if ((SELECT_CASE_var == "WELLWATER") || (SELECT_CASE_var == "Groundwater")) {
     115           0 :             return ResourceType::WellWater; // record keeping
     116             : 
     117       22559 :         } else if (SELECT_CASE_var == "CONDENSATE") {
     118           0 :             return ResourceType::Condensate;
     119             : 
     120       22559 :         } else if (SELECT_CASE_var == "ENERGYTRANSFER") {
     121       13303 :             return ResourceType::EnergyTransfer;
     122             : 
     123        9256 :         } else if (SELECT_CASE_var == "STEAM") {
     124           6 :             return ResourceType::Steam;
     125             : 
     126        9250 :         } else if (SELECT_CASE_var == "DISTRICTCOOLING") {
     127         353 :             return ResourceType::DistrictCooling;
     128             : 
     129        8897 :         } else if (SELECT_CASE_var == "DISTRICTHEATING") {
     130         357 :             return ResourceType::DistrictHeating;
     131             : 
     132        8540 :         } else if (SELECT_CASE_var == "ELECTRICITYPRODUCED") {
     133          10 :             return ResourceType::ElectricityProduced;
     134             : 
     135        8530 :         } else if (SELECT_CASE_var == "ELECTRICITYPURCHASED") {
     136          13 :             return ResourceType::ElectricityPurchased;
     137             : 
     138        8517 :         } else if (SELECT_CASE_var == "ELECTRICITYSURPLUSSOLD") {
     139           2 :             return ResourceType::ElectricitySurplusSold;
     140             : 
     141        8515 :         } else if (SELECT_CASE_var == "ELECTRICITYNET") {
     142           5 :             return ResourceType::ElectricityNet;
     143             : 
     144        8510 :         } else if (SELECT_CASE_var == "SOLARWATER") {
     145          19 :             return ResourceType::SolarWater;
     146             : 
     147        8491 :         } else if (SELECT_CASE_var == "SOLARAIR") {
     148          14 :             return ResourceType::SolarAir;
     149             : 
     150        8477 :         } else if (SELECT_CASE_var == "SO2") {
     151           0 :             return ResourceType::SO2;
     152             : 
     153        8477 :         } else if (SELECT_CASE_var == "NOX") {
     154           0 :             return ResourceType::NOx;
     155             : 
     156        8477 :         } else if (SELECT_CASE_var == "N2O") {
     157           0 :             return ResourceType::N2O;
     158             : 
     159        8477 :         } else if (SELECT_CASE_var == "PM") {
     160           0 :             return ResourceType::PM;
     161             : 
     162        8477 :         } else if (SELECT_CASE_var == "PM2.5") {
     163           0 :             return ResourceType::PM2_5;
     164             : 
     165        8477 :         } else if (SELECT_CASE_var == "PM10") {
     166           0 :             return ResourceType::PM10;
     167             : 
     168        8477 :         } else if (SELECT_CASE_var == "CO") {
     169           0 :             return ResourceType::CO;
     170             : 
     171        8477 :         } else if (SELECT_CASE_var == "CO2") {
     172           0 :             return ResourceType::CO2;
     173             : 
     174        8477 :         } else if (SELECT_CASE_var == "CH4") {
     175           0 :             return ResourceType::CH4;
     176             : 
     177        8477 :         } else if (SELECT_CASE_var == "NH3") {
     178           0 :             return ResourceType::NH3;
     179             : 
     180        8477 :         } else if (SELECT_CASE_var == "NMVOC") {
     181           0 :             return ResourceType::NMVOC;
     182             : 
     183        8477 :         } else if (SELECT_CASE_var == "HG") {
     184           0 :             return ResourceType::Hg;
     185             : 
     186        8477 :         } else if (SELECT_CASE_var == "PB") {
     187           0 :             return ResourceType::Pb;
     188             : 
     189        8477 :         } else if (SELECT_CASE_var == "NUCLEAR HIGH") {
     190           0 :             return ResourceType::NuclearHigh;
     191             : 
     192        8477 :         } else if (SELECT_CASE_var == "NUCLEAR LOW") {
     193           0 :             return ResourceType::NuclearLow;
     194             : 
     195        8477 :         } else if (SELECT_CASE_var == "WATERENVIRONMENTALFACTORS") {
     196           0 :             return ResourceType::WaterEnvironmentalFactors;
     197             : 
     198        8477 :         } else if (SELECT_CASE_var == "CARBON EQUIVALENT") {
     199           0 :             return ResourceType::CarbonEquivalent;
     200             : 
     201        8477 :         } else if (SELECT_CASE_var == "SOURCE") {
     202           0 :             return ResourceType::Source;
     203             : 
     204        8477 :         } else if (SELECT_CASE_var == "PLANTLOOPHEATINGDEMAND") {
     205        6804 :             return ResourceType::PlantLoopHeatingDemand;
     206             : 
     207        1673 :         } else if (SELECT_CASE_var == "PLANTLOOPCOOLINGDEMAND") {
     208        1673 :             return ResourceType::PlantLoopCoolingDemand;
     209             : 
     210             :         } else {
     211           0 :             return ResourceType::None;
     212             :         }
     213             :     }
     214             : }
     215             : 
     216         764 : std::string GetResourceTypeChar(ResourceType const ResourceTypeNum)
     217             : {
     218             : 
     219             :     // FUNCTION INFORMATION:
     220             :     //       AUTHOR         Linda Lawrie
     221             :     //       DATE WRITTEN   June 2005
     222             :     //       MODIFIED       na
     223             :     //       RE-ENGINEERED  na
     224             : 
     225             :     // PURPOSE OF THIS FUNCTION:
     226             :     // Shows the resource type character string, given the resource type numeric.
     227             : 
     228         764 :     switch (ResourceTypeNum) {
     229           0 :     case ResourceType::Electricity: {
     230           0 :         return "Electricity";
     231             :     } break;
     232         760 :     case ResourceType::Natural_Gas: {
     233         760 :         return "NaturalGas";
     234             :     } break;
     235           0 :     case ResourceType::Gasoline: {
     236           0 :         return "Gasoline";
     237             :     } break;
     238           0 :     case ResourceType::Diesel: {
     239           0 :         return "Diesel";
     240             :     } break;
     241           0 :     case ResourceType::Coal: {
     242           0 :         return "Coal";
     243             :     } break;
     244           0 :     case ResourceType::FuelOil_1: {
     245           0 :         return "FuelOilNo1";
     246             :     } break;
     247           1 :     case ResourceType::FuelOil_2: {
     248           1 :         return "FuelOilNo2";
     249             :     } break;
     250           0 :     case ResourceType::Propane: {
     251           0 :         return "Propane";
     252             :     } break;
     253           0 :     case ResourceType::OtherFuel1: {
     254           0 :         return "OtherFuel1";
     255             :     } break;
     256           0 :     case ResourceType::OtherFuel2: {
     257           0 :         return "OtherFuel2";
     258             :     } break;
     259           0 :     case ResourceType::Water: {
     260           0 :         return "Water";
     261             :     } break;
     262           0 :     case ResourceType::OnSiteWater: {
     263           0 :         return "OnSiteWater";
     264             :     } break;
     265           0 :     case ResourceType::MainsWater: {
     266           0 :         return "MainsWater";
     267             :     } break;
     268           0 :     case ResourceType::RainWater: {
     269           0 :         return "RainWater";
     270             :     } break;
     271           0 :     case ResourceType::Condensate: {
     272           0 :         return "Condensate";
     273             :     } break;
     274           0 :     case ResourceType::WellWater: {
     275           0 :         return "WellWater";
     276             :     } break;
     277           0 :     case ResourceType::EnergyTransfer: {
     278           0 :         return "EnergyTransfer";
     279             :     } break;
     280           0 :     case ResourceType::Steam: {
     281           0 :         return "Steam";
     282             :     } break;
     283           0 :     case ResourceType::DistrictCooling: {
     284           0 :         return "DistrictCooling";
     285             :     } break;
     286           0 :     case ResourceType::DistrictHeating: {
     287           0 :         return "DistrictHeating";
     288             :     } break;
     289           0 :     case ResourceType::ElectricityProduced: {
     290           0 :         return "ElectricityProduced";
     291             :     } break;
     292           2 :     case ResourceType::ElectricityPurchased: {
     293           2 :         return "ElectricityPurchased";
     294             :     } break;
     295           1 :     case ResourceType::ElectricitySurplusSold: {
     296           1 :         return "ElectricitySurplusSold";
     297             :     } break;
     298           0 :     case ResourceType::ElectricityNet: {
     299           0 :         return "ElectricityNet";
     300             :     } break;
     301           0 :     case ResourceType::SolarWater: {
     302           0 :         return "SolarWater";
     303             :     } break;
     304           0 :     case ResourceType::SolarAir: {
     305           0 :         return "SolarAir";
     306             :     } break;
     307           0 :     case ResourceType::SO2: {
     308           0 :         return "SO2";
     309             :     } break;
     310           0 :     case ResourceType::NOx: {
     311           0 :         return "NOx";
     312             :     } break;
     313           0 :     case ResourceType::N2O: {
     314           0 :         return "N2O";
     315             :     } break;
     316           0 :     case ResourceType::PM: {
     317           0 :         return "PM";
     318             :     } break;
     319           0 :     case ResourceType::PM2_5: {
     320           0 :         return "PM2.5";
     321             :     } break;
     322           0 :     case ResourceType::PM10: {
     323           0 :         return "PM10";
     324             :     } break;
     325           0 :     case ResourceType::CO: {
     326           0 :         return "CO";
     327             :     } break;
     328           0 :     case ResourceType::CO2: {
     329           0 :         return "CO2";
     330             :     } break;
     331           0 :     case ResourceType::CH4: {
     332           0 :         return "CH4";
     333             :     } break;
     334           0 :     case ResourceType::NH3: {
     335           0 :         return "NH3";
     336             :     } break;
     337           0 :     case ResourceType::NMVOC: {
     338           0 :         return "NMVOC";
     339             :     } break;
     340           0 :     case ResourceType::Hg: {
     341           0 :         return "Hg";
     342             :     } break;
     343           0 :     case ResourceType::Pb: {
     344           0 :         return "Pb";
     345             :     } break;
     346           0 :     case ResourceType::NuclearHigh: {
     347           0 :         return "Nuclear High";
     348             :     } break;
     349           0 :     case ResourceType::NuclearLow: {
     350           0 :         return "Nuclear Low";
     351             :     } break;
     352           0 :     case ResourceType::WaterEnvironmentalFactors: {
     353           0 :         return "WaterEnvironmentalFactors";
     354             :     } break;
     355           0 :     case ResourceType::CarbonEquivalent: {
     356           0 :         return "Carbon Equivalent";
     357             :     } break;
     358           0 :     case ResourceType::Source: {
     359           0 :         return "Source";
     360             :     } break;
     361           0 :     case ResourceType::PlantLoopHeatingDemand: {
     362           0 :         return "PlantLoopHeatingDemand";
     363             :     } break;
     364           0 :     case ResourceType::PlantLoopCoolingDemand: {
     365           0 :         return "PlantLoopCoolingDemand";
     366             :     } break;
     367           0 :     default: {
     368           0 :         return "Unknown";
     369             :     } break;
     370             :     }
     371             : }
     372             : 
     373        2313 : } // namespace EnergyPlus::DataGlobalConstants

Generated by: LCOV version 1.13