Ejemplo n.º 1
0
        //Tradução da função calculaFluxoDiario
        public void ExecutaDiario(List <string> lstAlimentadoresCemig)
        {
            //Limpa arquivos
            _paramGerais.DeletaArqResultados();

            // cria arquivo e preenche Cabecalho, caso modo _calcDRPDRC
            if (_paramGerais._parAvan._calcDRPDRC)
            {
                // Cria arquivo cabecalho
                VoltageLevelAnalysis.CriaArqCabecalho(_paramGerais, _janela);
            }

            //Roda o fluxo para cada alimentador
            foreach (string nomeAlim in lstAlimentadoresCemig)
            {
                //Verifica se foi solicitado o cancelamento.
                if (_janela._cancelarExecucao)
                {
                    return;
                }

                // atribui nomeAlim
                _paramGerais.SetNomeAlimAtual(nomeAlim);

                //cria objeto fluxo diario
                _fluxoDiario = new DailyFlow(_paramGerais, _janela, _oDSS);

                // se carregou alimentador
                if (_fluxoDiario.CarregaAlimentador())
                {
                    //Executa fluxo diário openDSS
                    ExecutaFluxoDiarioOpenDSS();
                }
            }
        }
Ejemplo n.º 2
0
        // executa modo Snap
        public void ExecutaSnap(List <string> lstAlimentadoresCemig)
        {
            //Limpa Arquivos
            _paramGerais.DeletaArqResultados();

            //Roda Fluxo para cada alimentador
            foreach (string nomeAlim in lstAlimentadoresCemig)
            {
                // Verifica se foi solicitado o cancelamento.
                if (_janela._cancelarExecucao)
                {
                    break;
                }

                // atribui novo alimentador
                _paramGerais.SetNomeAlimAtual(nomeAlim);

                //cria objeto fluxo diario
                _fluxoDiario = new DailyFlow(_paramGerais, _janela, _oDSS);

                // carrega alimentador
                _fluxoDiario.CarregaAlimentador();

                //Execução com otimização demanda energia
                if (_paramGerais._parGUI._otmPorDemMax)
                {
                    Otimiza();
                }
                //Execução padrão
                else
                {
                    Snap(nomeAlim);
                }
            }

            // TODO testar
            //Se modo otimiza grava arquivo load mult
            if (_paramGerais._parGUI._otmPorDemMax)
            {
                _paramGerais.GravaMapAlimLoadMultExcel();
            }
        }