示例#1
0
        //calcula resultado ano
        internal void CalculaResAno(List <PFResults> lstResultadoFluxo, string alim, string arquivo, MainWindow jan)
        {
            // obtem 1mês
            PFResults res1 = lstResultadoFluxo.First();

            //usa variavel da classe para armazenar a soma
            _energyMeter = res1._energyMeter;

            //remove
            lstResultadoFluxo.Remove(res1);

            // obtem medidores do 2mes em diante e soma com o 1mes
            foreach (PFResults res in lstResultadoFluxo)
            {
                //medidor
                MyEnergyMeter emMes = res._energyMeter;

                //soma
                _energyMeter.Soma(emMes);
            }

            // cria string com o formato de saida das perdas
            string conteudo = _energyMeter.FormataResultado(alim);

            // grava perdas alimentador em arquivo
            TxtFile.GravaEmArquivo(conteudo, arquivo, jan);
        }
示例#2
0
        //Tradução da função calculaResultadoFluxoMensal
        //O resultado no fluxo mensal eh armazenado na variavel da classe
        public void CalculaResultadoFluxoMensal(PFResults perdasDU, PFResults perdasSA, PFResults perdasDO, GeneralParameters paramGerais, MainWindow janela)
        {
            // Limpa medidor atual.
            _energyMeter = new MyEnergyMeter();

            // calcula geracao e perdas maximas entre os 3 dias tipicos
            CalcGeracaoEPerdasMax(perdasDU, perdasSA, perdasDO);

            //Obtem mes
            int mes = paramGerais._parGUI.GetMes();

            // cria curva de carga dados: numero de dias do mes e matriz de consumo em PU
            Dictionary <string, int> numTipoDiasMes = paramGerais._objTipoDeDiasDoMes._qntTipoDiasMes[mes];

            // DIAS UTEIS
            perdasDU._energyMeter.MultiplicaEnergia(numTipoDiasMes["DU"]);

            // multiplica pelo Num dias
            perdasSA._energyMeter.MultiplicaEnergia(numTipoDiasMes["SA"]);

            // multiplica pelo Num dias
            perdasDO._energyMeter.MultiplicaEnergia(numTipoDiasMes["DO"]);

            // perdas energia
            SomaEnergiaDiasTipicos(perdasDU, perdasSA, perdasDO);

            // setMes
            _energyMeter.SetMesEM(mes);

            // grava LoadMult do DU
            _energyMeter.GravaLoadMult(perdasDU._energyMeter.loadMultAlim);

            // cria string com o formato de saida das perdas
            string conteudo = _energyMeter.FormataResultado(paramGerais.GetNomeAlimAtual());

            // se modo otimiza nao grava perdas arquivo
            if (!paramGerais._parGUI._otmPorEnergia)
            {
                // grava perdas alimentador em arquivo
                TxtFile.GravaEmArquivo(conteudo, paramGerais.GetNomeComp_arquivoResPerdasMensal(), janela);
            }

            // Se chegou ate aqui, seta convergencia para true
            _convergiuBool = true;
        }
示例#3
0
 //Construtor vazio
 public PFResults()
 {
     _convergiuBool = false;
     _energyMeter   = new MyEnergyMeter();
 }
示例#4
0
 //Construtor por copia
 public PFResults(PFResults rf)
 {
     _convergiuBool = rf._convergiuBool;
     _energyMeter   = new MyEnergyMeter(rf._energyMeter);
 }