OpenStudioCore:utilities
 All Classes Namespaces Functions Variables Typedefs Enumerations Enumerator Friends Pages
Public Types | Public Member Functions | List of all members
openstudio::Economics Class Reference

#include <Economics.hpp>

Public Types

enum  BuildingType { btReference, btSelected }
 
enum  LevelizationType { ltCost, ltEnergy }
 
enum  VirtualRateType { vrCombined, vrElec, vrGas }
 

Public Member Functions

void addCostInstance (BuildingType buildingType, std::string name, OptionalDouble matCost, OptionalDouble installCost, OptionalDouble fixedOM, OptionalDouble varOM, OptionalInt expectedLife, OptionalDouble salvageCost, OptionalDouble netArea)
 
void addCostInstance (BuildingType buildingType, std::string name, double matCost, double installCost, double fixedOM, double varOM, int expectedLife, double salvageCost, double netArea)
 
void addCostInstance (BuildingType buildingType, std::string name, double matCost, double installCost, double fixedOM, double varOM, int expectedLife, double salvageCost)
 
void addDistrictCool (BuildingType buildingType, double use, double cost, double inflation)
 
void addDistrictHeat (BuildingType buildingType, double use, double cost, double inflation)
 
void addElectricity (BuildingType buildingType, OptionalDouble use, OptionalDouble cost, OptionalDouble inflation)
 
void addElectricity (BuildingType buildingType, double use, double cost, double inflation)
 
void addGas (BuildingType buildingType, OptionalDouble use, OptionalDouble cost, OptionalDouble inflation)
 
void addGas (BuildingType buildingType, double use, double cost, double inflation)
 
int analysisPeriod ()
 
void calculateEconomics ()
 
void calculateSingleEconomics (BuildingType buildingType)
 
void cashFlows (BuildingType buildingType, std::vector< double > &resArray)
 
void cashFlowsCapitalInflation (BuildingType buildingType, std::vector< double > &resArray)
 
void cashFlowsDistrictCoolInflation (BuildingType buildingType, std::vector< double > &resArray)
 
void cashFlowsDistrictHeatInflation (BuildingType buildingType, std::vector< double > &resArray)
 
void cashFlowsElecInflation (BuildingType buildingType, std::vector< double > &resArray)
 
void cashFlowsGasInflation (BuildingType buildingType, std::vector< double > &resArray)
 
void cashFlowsInflation (BuildingType buildingType, std::vector< double > &resArray)
 
double discountedPayback ()
 
double discountedPaybackTotalLifeCycleCost ()
 
 Economics ()
 
double firstCosts (BuildingType buildingType)
 
double futureValue ()
 
std::shared_ptr
< openstudio::CostObject
getBuildingObject (BuildingType buildingType)
 
double getCapitalAnalysisEnergyCost (BuildingType buildingType)
 
double getCapitalCost (BuildingType buildingType)
 
std::vector< double > getCashFlows (const bool includeEnergySavings)
 
void getDistrictCool (BuildingType buildingType, double &use, double &cost)
 
void getDistrictHeat (BuildingType buildingType, double &use, double &cost)
 
void getElec (BuildingType buildingType, double &use, double &cost)
 
double getEnergyCost (BuildingType buildingType)
 
double getFV (double rate, double periods, double presentValue)
 
void getGas (BuildingType buildingType, double &use, double &cost)
 
bool getIRR (const std::vector< double > &cashFlows, double &guess)
 
double getNPV (const double rate, const std::vector< double > &cashFlows)
 
double getPayBack (const std::vector< double > &cashFlowSavings)
 
double getSPVFactor (double rate, double periods)
 
double getSum (const std::vector< double > &doubles)
 
double getTLCC (BuildingType buildingType)
 
double getUPVFactor (double rate, double periods)
 
double getVirtualRate (BuildingType buildingType, VirtualRateType virtualRateType)
 
double internalRateOfReturn ()
 
double netPresentValue ()
 
double realDiscountFactor ()
 
void setAnalysisPeriod (OptionalInt analysisPeriod)
 
void setAnalysisPeriod (const int analysisPeriod=30)
 
void setCashFlowsInflation (BuildingType buildingType, const std::vector< double > &cashFlows)
 
void setDiscountRate (OptionalDouble discountRate)
 
void setDiscountRate (const double discountRate)
 
void setInflation (BuildingType buildingType, OptionalDouble inflation)
 
void setInflation (BuildingType buildingType, double inflation)
 
void setOMInflation (BuildingType buildingType, OptionalDouble OMInflation)
 ! OM = Operation, Maintenance More...
 
void setOMInflation (BuildingType buildingType, double OMInflation)
 
void setVariables (const bool stdRetrofit, const int analysisPeriod, const double realDiscountFactor, const double realElectricityPriceEscalationRate, const double realGasPriceEscalationRate, const double federalCorporateTaxRate, const int usefulLife, const double purchaseCost, const double installationCost, const double salvageValueExisting, const double disposalCost, const double fixedOM, const double fixedMV, const double replacementCost, const double electricityCostSavings, const double gasCostSavings, const double electricityCostSavingsCodeMinimum, const double gasCostSavingsCodeMinimum, const double specialTaxDeductions, const double specialTaxCredits, const double rebates, const double depreciationTaxDeduction, const double otherFinancialIncentives, const double wholeBldFinancialIncentives, const double projectPlanningAndDesign, const double packageMV, const int usefulLifeExisting, const double replacementCostCodeMinimum)
 
double simplePayback ()
 
double totalLifeCycleCost ()
 
virtual ~Economics ()
 

Member Enumeration Documentation

Enumerator
btReference 
btSelected 
Enumerator
ltCost 
ltEnergy 
Enumerator
vrCombined 
vrElec 
vrGas 

Constructor & Destructor Documentation

openstudio::Economics::Economics ( )
virtual openstudio::Economics::~Economics ( )
virtual

Member Function Documentation

void openstudio::Economics::addCostInstance ( BuildingType  buildingType,
std::string  name,
OptionalDouble  matCost,
OptionalDouble  installCost,
OptionalDouble  fixedOM,
OptionalDouble  varOM,
OptionalInt  expectedLife,
OptionalDouble  salvageCost,
OptionalDouble  netArea 
)
void openstudio::Economics::addCostInstance ( BuildingType  buildingType,
std::string  name,
double  matCost,
double  installCost,
double  fixedOM,
double  varOM,
int  expectedLife,
double  salvageCost,
double  netArea 
)
void openstudio::Economics::addCostInstance ( BuildingType  buildingType,
std::string  name,
double  matCost,
double  installCost,
double  fixedOM,
double  varOM,
int  expectedLife,
double  salvageCost 
)
void openstudio::Economics::addDistrictCool ( BuildingType  buildingType,
double  use,
double  cost,
double  inflation 
)
void openstudio::Economics::addDistrictHeat ( BuildingType  buildingType,
double  use,
double  cost,
double  inflation 
)
void openstudio::Economics::addElectricity ( BuildingType  buildingType,
OptionalDouble  use,
OptionalDouble  cost,
OptionalDouble  inflation 
)
void openstudio::Economics::addElectricity ( BuildingType  buildingType,
double  use,
double  cost,
double  inflation 
)
void openstudio::Economics::addGas ( BuildingType  buildingType,
OptionalDouble  use,
OptionalDouble  cost,
OptionalDouble  inflation 
)
void openstudio::Economics::addGas ( BuildingType  buildingType,
double  use,
double  cost,
double  inflation 
)
int openstudio::Economics::analysisPeriod ( )
inline
void openstudio::Economics::calculateEconomics ( )
void openstudio::Economics::calculateSingleEconomics ( BuildingType  buildingType)
void openstudio::Economics::cashFlows ( BuildingType  buildingType,
std::vector< double > &  resArray 
)
void openstudio::Economics::cashFlowsCapitalInflation ( BuildingType  buildingType,
std::vector< double > &  resArray 
)
void openstudio::Economics::cashFlowsDistrictCoolInflation ( BuildingType  buildingType,
std::vector< double > &  resArray 
)
void openstudio::Economics::cashFlowsDistrictHeatInflation ( BuildingType  buildingType,
std::vector< double > &  resArray 
)
void openstudio::Economics::cashFlowsElecInflation ( BuildingType  buildingType,
std::vector< double > &  resArray 
)
void openstudio::Economics::cashFlowsGasInflation ( BuildingType  buildingType,
std::vector< double > &  resArray 
)
void openstudio::Economics::cashFlowsInflation ( BuildingType  buildingType,
std::vector< double > &  resArray 
)
double openstudio::Economics::discountedPayback ( )
inline
double openstudio::Economics::discountedPaybackTotalLifeCycleCost ( )
inline
double openstudio::Economics::firstCosts ( BuildingType  buildingType)
double openstudio::Economics::futureValue ( )
inline
std::shared_ptr<openstudio::CostObject> openstudio::Economics::getBuildingObject ( BuildingType  buildingType)
double openstudio::Economics::getCapitalAnalysisEnergyCost ( BuildingType  buildingType)
double openstudio::Economics::getCapitalCost ( BuildingType  buildingType)
std::vector<double> openstudio::Economics::getCashFlows ( const bool  includeEnergySavings)
void openstudio::Economics::getDistrictCool ( BuildingType  buildingType,
double &  use,
double &  cost 
)
void openstudio::Economics::getDistrictHeat ( BuildingType  buildingType,
double &  use,
double &  cost 
)
void openstudio::Economics::getElec ( BuildingType  buildingType,
double &  use,
double &  cost 
)
double openstudio::Economics::getEnergyCost ( BuildingType  buildingType)
double openstudio::Economics::getFV ( double  rate,
double  periods,
double  presentValue 
)
void openstudio::Economics::getGas ( BuildingType  buildingType,
double &  use,
double &  cost 
)
bool openstudio::Economics::getIRR ( const std::vector< double > &  cashFlows,
double &  guess 
)
double openstudio::Economics::getNPV ( const double  rate,
const std::vector< double > &  cashFlows 
)
double openstudio::Economics::getPayBack ( const std::vector< double > &  cashFlowSavings)
double openstudio::Economics::getSPVFactor ( double  rate,
double  periods 
)
double openstudio::Economics::getSum ( const std::vector< double > &  doubles)
double openstudio::Economics::getTLCC ( BuildingType  buildingType)
double openstudio::Economics::getUPVFactor ( double  rate,
double  periods 
)
double openstudio::Economics::getVirtualRate ( BuildingType  buildingType,
VirtualRateType  virtualRateType 
)
double openstudio::Economics::internalRateOfReturn ( )
inline
double openstudio::Economics::netPresentValue ( )
inline
double openstudio::Economics::realDiscountFactor ( )
inline
void openstudio::Economics::setAnalysisPeriod ( OptionalInt  analysisPeriod)
void openstudio::Economics::setAnalysisPeriod ( const int  analysisPeriod = 30)
void openstudio::Economics::setCashFlowsInflation ( BuildingType  buildingType,
const std::vector< double > &  cashFlows 
)
void openstudio::Economics::setDiscountRate ( OptionalDouble  discountRate)
void openstudio::Economics::setDiscountRate ( const double  discountRate)
void openstudio::Economics::setInflation ( BuildingType  buildingType,
OptionalDouble  inflation 
)
void openstudio::Economics::setInflation ( BuildingType  buildingType,
double  inflation 
)
void openstudio::Economics::setOMInflation ( BuildingType  buildingType,
OptionalDouble  OMInflation 
)

! OM = Operation, Maintenance

void openstudio::Economics::setOMInflation ( BuildingType  buildingType,
double  OMInflation 
)
void openstudio::Economics::setVariables ( const bool  stdRetrofit,
const int  analysisPeriod,
const double  realDiscountFactor,
const double  realElectricityPriceEscalationRate,
const double  realGasPriceEscalationRate,
const double  federalCorporateTaxRate,
const int  usefulLife,
const double  purchaseCost,
const double  installationCost,
const double  salvageValueExisting,
const double  disposalCost,
const double  fixedOM,
const double  fixedMV,
const double  replacementCost,
const double  electricityCostSavings,
const double  gasCostSavings,
const double  electricityCostSavingsCodeMinimum,
const double  gasCostSavingsCodeMinimum,
const double  specialTaxDeductions,
const double  specialTaxCredits,
const double  rebates,
const double  depreciationTaxDeduction,
const double  otherFinancialIncentives,
const double  wholeBldFinancialIncentives,
const double  projectPlanningAndDesign,
const double  packageMV,
const int  usefulLifeExisting,
const double  replacementCostCodeMinimum 
)
double openstudio::Economics::simplePayback ( )
inline
double openstudio::Economics::totalLifeCycleCost ( )
inline