Exemple #1
0
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();
}