void Economics::calculateEconomics() { //year 0: First cost //year 1: payment //year 15: equipment/maintenance -- m_gasCostSavings = m_refBuilding->gasCost() - m_selBuilding->gasCost(); m_gasUseSavings = m_refBuilding->gasUse() - m_selBuilding->gasUse(); m_elecCostSavings = m_refBuilding->elecCost() - m_selBuilding->elecCost(); m_elecUseSavings = m_refBuilding->elecUse() - m_selBuilding->elecUse(); m_districtHeatCostSavings = m_refBuilding->districtHeatCost() - m_selBuilding->districtHeatCost(); m_districtHeatUseSavings = m_refBuilding->districtHeatUse() - m_selBuilding->districtHeatUse(); m_districtCoolCostSavings = m_refBuilding->districtCoolCost() - m_selBuilding->districtCoolCost(); m_districtCoolUseSavings = m_refBuilding->districtCoolUse() - m_selBuilding->districtCoolUse(); m_totalEnergyCostSavings = m_gasCostSavings + m_elecCostSavings + m_districtHeatCostSavings + m_districtCoolCostSavings; m_totalEnergyUseSavings = m_gasUseSavings + m_elecUseSavings + m_districtHeatUseSavings + m_districtCoolUseSavings; calculateCashFlowSavings( m_refBuilding->cashFlows(), m_selBuilding->cashFlows() ); m_capitalCostSavings = - m_cashFlowSavings.at(0); //negate for cash flow into building m_energyCostSavings = - m_totalEnergyCostSavings; //negate for cash flow into of building m_capitalAnalysisEnergyCostSavings = m_capitalCostSavings + ( m_analysisPeriod * m_energyCostSavings ); m_NPV = getSum( m_discountedCashFlowSavings ); if(!getIRR( m_cashFlowSavings, m_IRR )){ m_IRR = 0; } m_SPB = payBack( m_cashFlowSavings ); m_DPB = payBack( m_discountedCashFlowSavings ); m_FV = getFV( m_discountRate, m_analysisPeriod, m_cashFlowSavings.at(0) ); //add inflations to cash flows calculateCashFlowSavings( m_refBuilding->cashFlows_Inflation(), m_selBuilding->cashFlows_Inflation() ); m_TLCC_Savings = getSum( m_discountedCashFlowSavings ); m_LCOE_Cost = levelizedCostOfEnergy( m_TLCC_Savings, ltCost ); m_LCOE_Energy = levelizedCostOfEnergy( m_TLCC_Savings, ltEnergy ); m_DPB_TLCC = payBack( m_discountedCashFlowSavings ); }
void Indexer::buildIndex() { if (path == "") return; // Path must be set clearIndex(); // Index all files in path QDir dir(path); QFileInfoList list = dir.entryInfoList(); emit startedIndexing(list.size()); for (int i = 0; i < list.size(); i++) { QFileInfo fileInfo = list.at(i); if (!fileInfo.isFile()) continue; if (fileInfo.suffix().toLower() != "jpg") continue; //qDebug() << "Indexing "<<fileInfo.fileName(); emit indexingFile(fileInfo.fileName()); FeatureVector fv; fv=getFV(fileInfo.filePath()); putInIndex(fileInfo.fileName(), fv); } // Initialize whatever datastructures need to be initialized after putting in index indexPostInit(); // Serialize index to an index file writeIndex(); pathIndexed = true; emit finishedIndexing(); }