Beispiel #1
0
        //Tradução da função calculaFluxoMensal
        internal void Mensal()
        {
            // Executa Fluxo Mensal
            bool ret = _fluxoMensal.ExecutaFluxoMensal();

            // se nao convergiu
            if (!ret)
            {
                _janela.ExibeMsgDisplayMW(_paramGerais.GetNomeAlimAtual() + " alimentador não convergiu!");
            }
        }
Beispiel #2
0
        // Fluxo anual
        public void ExecutaAnual(List <string> lstAlimentadoresCemig)
        {
            //Limpa Arquivos
            _paramGerais.DeletaArqResultados();

            //Seta modo anual
            _paramGerais._parGUI._modoAnual = true;

            //Roda fluxo para cada alimentador
            foreach (string alim in lstAlimentadoresCemig)
            {
                // atribui alim
                _paramGerais.SetNomeAlimAtual(alim);

                //Vetor _resultadoFluxo
                List <PFResults> lstResultadoFluxo = new List <PFResults>();

                // para cada mes executa um fluxo mensal
                for (int mes = 1; mes < 13; mes++)
                {
                    // Verifica se foi solicitado o cancelamento.
                    if (_janela._cancelarExecucao)
                    {
                        return;
                    }

                    // set mes
                    _paramGerais._parGUI.SetMes(mes);

                    //cria objeto fluxo diario
                    _fluxoMensal = new MonthlyPowerFlow(_paramGerais, _janela, _oDSS);

                    // se nao carregou alimentador retorna
                    if (_fluxoMensal.CarregaAlimentador())
                    {
                        // Otimiza
                        if (_paramGerais._parGUI._otmPorEnergia)
                        {
                            Otimiza();
                        }
                        else
                        {
                            // Executa Fluxo Mensal
                            _fluxoMensal.ExecutaFluxoMensal();
                        }
                        PFResults resTmp = new PFResults(_fluxoMensal._resFluxoMensal);

                        //Armazena Resultado
                        lstResultadoFluxo.Add(resTmp);
                    }
                    // FIX ME
                    // se nao carregou alimentador, forca mes = 13 para terminar o for
                    else
                    {
                        mes = 13;
                        break;
                    }
                }

                // se convergiu, Calcula resultado Ano
                if (_fluxoMensal._resFluxoMensal._convergiuBool)
                {
                    //Calcula resultado Ano
                    _fluxoMensal._resFluxoMensal.CalculaResAno(lstResultadoFluxo, alim, _paramGerais.GetNomeComp_arquivoResPerdasAnual(), _janela);
                }
            }
        }