示例#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
        // Soma energia calculada dias tipicos
        private void SomaEnergiaDiasTipicos(PFResults perdasDU, PFResults perdasSA, PFResults perdasDO)
        {
            _energyMeter.Soma(perdasDU._energyMeter);

            _energyMeter.Soma(perdasSA._energyMeter);

            _energyMeter.Soma(perdasDO._energyMeter);
        }
示例#3
0
        // set energia e perdas mes para o fluxo simplificado
        public void SetEnergiaPerdasFluxoSimples(PFResults resFluxo, GeneralParameters par)
        {
            // mes
            int mes = par._parGUI.GetMes();

            // num de dias do mes
            int numDias = par._objTipoDeDiasDoMes.GetNumDiasMes(mes);

            //
            SetEnergiaPerdasFluxoSimples(resFluxo, numDias);
        }
示例#4
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;
        }
示例#5
0
        // calcula geracao e perdas maximas entre os 3 dias tipicos
        private void CalcGeracaoEPerdasMax(PFResults perdasDU, PFResults perdasSA, PFResults perdasDO)
        {
            // DIAS UTEIS perdasDU MAX
            List <double> perdasDUMax = perdasDU.GetGeracaoEPerdaPotencia();

            // SABADO MAX
            List <double> perdasSAMax = perdasSA.GetGeracaoEPerdaPotencia();

            // DOMINGO MAX
            List <double> perdasDOMax = perdasDO.GetGeracaoEPerdaPotencia();

            // geracao maxima
            double geracaoMax = Math.Max(Math.Max(perdasDUMax[0], perdasSAMax[0]), perdasDOMax[0]);

            // perdas maxima
            double perdasMax = Math.Max(Math.Max(perdasDUMax[1], perdasSAMax[1]), perdasDOMax[1]);

            // atribui variavel da classe
            _energyMeter.MaxkW       = geracaoMax;
            _energyMeter.MaxkWLosses = perdasMax;
        }
示例#6
0
        // set energia e perdas mes para o fluxo simplificado
        internal void SetEnergiaPerdasFluxoSimples(PFResults resFluxo, int numDias)
        {
            //get Energia diaria
            double energiaDiaria = resFluxo.GetEnergia();

            // calcula energia mensal
            double energiaMes = energiaDiaria * numDias;

            // preenchee variavel da classe
            SetEnergia(energiaMes);

            //get Perda diaria
            double perdaDiaria = resFluxo.GetPerdasEnergia();

            //perda mensal
            double perdaMes = perdaDiaria * numDias;

            // preenche varial de perdas
            _energyMeter.LossesKWh = perdaMes;

            // seta fluxo mensal igual a true
            _convergiuBool = true;
        }
示例#7
0
 //Construtor por copia
 public PFResults(PFResults rf)
 {
     _convergiuBool = rf._convergiuBool;
     _energyMeter   = new MyEnergyMeter(rf._energyMeter);
 }