コード例 #1
0
        // Executa fluxo mensal
        public bool ExecutaFluxoMensal()
        {
            //Executa fluxo diário openDSS. Se alimentador não convergiu, não calcula SA e DO
            if (!_fluxoDU.ExecutaFluxoDiario())
            {
                return(false);
            }

            //Executa fluxo diário openDSS. Se alimentador não convergiu, não calcula DO
            if (!_fluxoSA.ExecutaFluxoDiario())
            {
                return(false);
            }

            //Executa fluxo diário openDSS
            if (!_fluxoDO.ExecutaFluxoDiario())
            {
                return(false);
            }

            // calcula resultados mensal
            _resFluxoMensal.CalculaResultadoFluxoMensal(_fluxoDU._resFluxo, _fluxoSA._resFluxo, _fluxoDO._resFluxo, _paramGerais, _janela);

            //nivel pu
            string nivelTensaoPU = _fluxoDU._oDSS.GetActiveCircuit().Vsources.pu.ToString("0.###");

            //Plota perdas na tela //TODO fix me
            _janela.ExibeMsgDisplayMW(_resFluxoMensal.GetResultadoFluxoToConsole(
                                          nivelTensaoPU, _paramGerais.GetNomeAlimAtual()));

            return(true);
        }
コード例 #2
0
        // Executa fluxo Snap
        public bool ExecutaFluxoSnap()
        {
            // carrega alimentador no objDSS
            CarregaDSS();

            // Executa fluxo Snap PVT
            bool ret = ExecutaFluxoSnapPvt();

            //informa usuario convergencia
            if (ret)
            {
                _janela.ExibeMsgDisplayMW(GetMsgConvergencia(null, _nomeAlim));
            }

            //nivel pu
            string nivelTensaoPU = _oDSS.GetActiveCircuit().Vsources.pu.ToString("0.###");

            //Plota perdas na tela
            _janela.ExibeMsgDisplayMW(_resFluxo.GetResultadoFluxoToConsole(
                                          nivelTensaoPU, _paramGerais.GetNomeAlimAtual()));

            return(ret);
        }