示例#1
0
        // calcula fluxo mensal sobre o "caso base" e armazena resultado de perdas em variavel da classe.
        private bool CalculaFluxoMensalBase(string nomeAlim)
        {
            // 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);

            // atribui nomeAlim
            _paramGerais.SetNomeAlimAtual(nomeAlim);

            // Carrega arquivos DSS
            _fluxoMensal = new MonthlyPowerFlow(_paramGerais, _janela, _oDSS);

            // Carrega alimentador
            _fluxoMensal.CarregaAlimentador();

            //
            _janela.ExibeMsgDisplayMW("Configuração Inicial");

            // TODO Inserir opcao de Otimizar tambem FluxoMensal
            bool ret = _fluxoMensal.ExecutaFluxoMensalSimples();

            // se covergiu
            if (ret)
            {
                // TODO
                //bool ret2 = _fluxoMensal.ExecutaFluxoMaximaDiaria();

                // nivel de tensao antes
                _VmagPu_antes = GetAllBusVmagPu();

                // nome das barras
                GetAllBusNames();

                /*
                 * // TODO utilizar esta variavel nas analises
                 * // preeenche variavel cargas isoladas
                 * _numCargasIsoladas = _fluxoMensal.GetNumCargasIsoladas();
                 */
            }
            else
            {
                _janela.ExibeMsgDisplayMW("Caso Base Não convergiu");
            }
            return(ret);
        }
示例#2
0
        // ExecutaFluxoMensalOtm
        internal bool ExecutaFluxoMensalOtm(double loadMult)
        {
            // adiciona loadMult ao paramento gerais
            _paramGerais._parGUI.loadMultAtual = loadMult;

            bool ret = false;

            // fluxo mensal aproximado
            if (_paramGerais._parGUI.GetAproximaFluxoMensalPorDU())
            {
                // Executa fluxo diario
                ret = _fluxoMensal.ExecutaFluxoMensalSimples();
            }
            else
            {
                // Executa fluxo mensal
                ret = _fluxoMensal.ExecutaFluxoMensal();
            }
            return(ret);
        }
示例#3
0
        private bool CalculaFluxo()
        {
            // TODO Inserir opcao de Otimizar tambem FluxoMensal
            bool ret = _fluxoMensal.ExecutaFluxoMensalSimples();

            // se covergiu
            if (ret)
            {
                // TODO Inserir opcao de Otimizar tambem FluxoMensal
                //bool ret2 = _fluxoMensal.ExecutaFluxoMaximaDiaria();

                // obtem barras DRP
                _DRPDRC_depois = _fluxoMensal.GetBarrasDRPDRC();

                // nivel de tensao depois
                _VmagPu_depois = GetAllBusVmagPu();
            }
            else
            {
                _janela.ExibeMsgDisplayMW("Caso manobrado não convergiu");
            }
            return(ret);
        }