private void AnaliseLoopsPvt(string nomeAlim) { // atribui nomeAlim _paramGerais.SetNomeAlimAtual(nomeAlim); // Carrega arquivos DSS so MT _fluxoSoMT = new DailyFlow(_paramGerais, _janelaPrincipal, _oDSS, null, true); // Carrega arquivos DSS if (_fluxoSoMT.CarregaAlimentador()) { // SE executou fluxo snap if (_fluxoSoMT.ExecutaFluxoSnap()) { // verifica cancelamento usuario if (_janelaPrincipal._cancelarExecucao) { return; } // AnaliseLoops2(); } } }
private void AnaliseChavesNAsPvt(string nomeAlim) { // atribui nomeAlim _paramGerais.SetNomeAlimAtual(nomeAlim); // Carrega arquivos DSS so MT _fluxoSoMT = new DailyFlow(_paramGerais, _janela, _oDSS, null, true); // Carrega arquivos DSS bool ret = _fluxoSoMT.CarregaAlimentador(); if (!ret) { _janela.ExibeMsgDisplayMW("Problema ao executar fluxo só MT!"); return; } // executa fluxo snap ret = _fluxoSoMT.ExecutaFluxoSnap(); // se exibeConvergencia if (ret) { // verifica cancelamento usuario if (_janela._cancelarExecucao) { return; } // get chaves NAs conjunto/alimentador GetChaves(); // cria objeto grafo, juntamente com as matrizes de incidencia _grafo = new FeederGraph(_paramGerais, _janela, _fluxoSoMT._oDSS._DSSText); // verifica se extremidades das chaves NAs estao no conjunto escolhido // OBS: no momento esta filtrando chaves monofasicas tb FiltraLstChavesNAs(); // TODO // Calcula Numero de Loops // DEBUG plota chaves // plotaChavesNA(); // TODO criar nova flag interna // seta este parametro para true para evitar a recarga dos arquivos texto _paramGerais._parGUI._otmPorEnergia = true; _paramGerais._parGUI.SetAproximaFluxoMensalPorDU(true); // Creates monthly PF obj. _fluxoMensal = new MonthlyPowerFlow(_paramGerais, _janela, _oDSS); // fluxo mensal que servira de referencia para a otimizacao bool ret2 = _fluxoMensal.CalculaFluxoMensalBase(); if (ret2) { // preeenche variavel cargas isoladas _numCargasIsoladas = _fluxoMensal.GetNumCargasIsoladas(); // armazena resultado do fluxo em variavel temporaria _resCasoBase = new PFResults(_fluxoMensal._resFluxoMensal); // para cada chave NA, escolhe 1 chave NF BranchExchange(); //ajusta numero de FPS, considerando o inicial (so na MT) _fluxoMensal._nFP++; // plota numero de FPs _janela.ExibeMsgDisplayMW("Número de FPs: " + _fluxoMensal._nFP.ToString()); // plota pares otimizados PlotaChavesOtimizadas(); } } }