Beispiel #1
0
        // Executa Fluxo potencia
        void Worker_ComparaManobras()
        {
            //Mensagem de Início
            _janelaPrincipal.ExibeMsgDisplayMW("Comparação Manobras");

            //Lê os alimentadores e armazena a lista de alimentadores
            List <string> alimentadores = CemigFeeders.GetTodos(_janelaPrincipal._parGUI.GetArqLstAlimentadores());

            // TODO testar carrega dados de medicoes
            _janelaPrincipal._medAlim.CarregaDados();

            // instancia classe de parametros Gerais
            GeneralParameters paramGerais = new GeneralParameters(_janelaPrincipal);

            // cria objeto DSS
            ObjDSS oDSS = new ObjDSS(paramGerais);

            // instancia classe
            ComparacaoManobras compManobras = new ComparacaoManobras(_janelaPrincipal, paramGerais, alimentadores, oDSS);

            // Fim
            _janelaPrincipal.ExibeMsgDisplayMW("Comparação Manobras");

            // Finaliza processo
            _janelaPrincipal.FinalizaProcesso(false);
        }
Beispiel #2
0
        //contrutor
        public FeederMetering(MainWindow janela, GeneralParameters par)
        {
            _janela      = janela;
            _paramGerais = par;

            _reqEnergiaMes = new MonthlyEnergy(par);
        }
Beispiel #3
0
        public ComparacaoManobras(MainWindow janelaPrincipal, GeneralParameters paramGerais, List <string> lstAlimentadores, ObjDSS oDSS)
        {
            _janela      = janelaPrincipal;
            _paramGerais = paramGerais;
            _oDSS        = oDSS;

            // analisa chave NA de cada alimentador
            foreach (string nomeAlim in lstAlimentadores)
            {
                // Calcula Caso BAse
                CalculaFluxoMensalBase(nomeAlim);

                string cmdManobra  = "close line.ctr128251 term=1";
                string cmdManobra2 = "open line.ctr134565 term=1";

                // Realiza manobra
                ExecutaManobra(cmdManobra);

                // Realiza manobra
                ExecutaManobra(cmdManobra2);

                // recalcula fluxo
                CalculaFluxo();
            }

            //DEBUG
            //Imprime arquivo niveis de tensao antes e depois
            ImprimeNiveisTensao();
        }
Beispiel #4
0
        // Executa Fluxo potencia
        void Worker_ExecutaChavesNAs()
        {
            //Mensagem de Início
            _janelaPrincipal.ExibeMsgDisplayMW("Início Chaves NAs");

            //Lê os alimentadores e armazena a lista de alimentadores
            List <string> alimentadores = CemigFeeders.GetTodos(_janelaPrincipal._parGUI.GetArqLstAlimentadores());

            // TODO testar carrega dados de medicoes
            _janelaPrincipal._medAlim.CarregaDados();

            // instancia classe de parametros Gerais
            GeneralParameters paramGerais = new GeneralParameters(_janelaPrincipal);

            // cria objeto DSS
            ObjDSS oDSS = new ObjDSS(paramGerais);

            // instancia classe AnaliseChavesNAs
            NOSwitchAnalysis analiseChavesNAs = new NOSwitchAnalysis(_janelaPrincipal, paramGerais, alimentadores, oDSS);

            // Fim
            _janelaPrincipal.ExibeMsgDisplayMW("Fim Chaves NAs");

            // Finaliza processo
            _janelaPrincipal.FinalizaProcesso(false);
        }
Beispiel #5
0
        public ObjDSS(GeneralParameters par)
        {
            //
            _paramGerais = par;

            //
            InicializaServDSS();
        }
Beispiel #6
0
 private static void FillParameters(GeneralParameters parameters)
 {
     parameters.UserAgent           = UserAgent;
     parameters.ScreenColors        = ScreenColors;
     parameters.ScreenResolution    = ScreenResolution;
     parameters.DocumentTitle       = LastPageTitle;
     parameters.DocumentLocationUrl = LastPageUrl;
 }
Beispiel #7
0
        //constructor
        public VoltageReguladorAnalysis(Text txt, Circuit cir, GeneralParameters paramGerais)
        {
            _circuit   = cir;
            _trafosDSS = cir.Transformers;
            //_DSSText = txt;
            _param = paramGerais;

            _tapsRT = new List <string>();
        }
Beispiel #8
0
        //construtor
        public TransformerVoltageLevelAnalysis(Text txt, Circuit cir, GeneralParameters paramGerais)
        {
            _circuit   = cir;
            _trafosDSS = cir.Transformers;
            _DSSText   = txt;
            _param     = paramGerais;

            _nivelTensaoBarra = new Dictionary <string, double>();
        }
Beispiel #9
0
 // Use this for initialization
 void Start()
 {
     ihm           = new IhmCommunicator();
     generalParams = new GeneralParameters();
     generalParams = GetComponent <GeneralParameters>();
     difficulty    = GetComponent <GeneralParameters>().Difficulty;
     zoom          = GetComponent <GeneralParameters>().Zoom;
     score         = 0;
 }
Beispiel #10
0
        // set energia e perdas mes para o fluxo simplificado
        public void SetEnergiaPerdasFluxoSimples(PFResults resFluxo, GeneralParameters par)
        {
            // mes
            int mes = par._parGUI.GetMes();

            // num de dias do mes
            int numDias = par._objTipoDeDiasDoMes.GetNumDiasMes(mes);

            //
            SetEnergiaPerdasFluxoSimples(resFluxo, numDias);
        }
Beispiel #11
0
        // construtor
        public IsolatedLoads(Circuit cir, GeneralParameters paramGerais)
        {
            // preenche variaveis da classe
            _circuit = cir;
            _param   = paramGerais;

            string[] _arrayCargasIsoladas = cir.Topology.AllIsolatedLoads;

            //
            _lstCargasIsoladas = new List <string>(_arrayCargasIsoladas);
        }
Beispiel #12
0
        // Cria arquivo texto cabecalho DRP DRC
        public static void CriaArqCabecalho(GeneralParameters paramGerais, MainWindow janela)
        {
            //
            string nomeArq = paramGerais.GetNomeComp_arquivoDRPDRC();

            //Grava cabecalho
            string linha = "Alim\tF.A.\tDRP:\tDRC:\tTotal:";

            //Grava em arquivo
            TxtFile.GravaEmArquivo(linha, nomeArq, janela);
        }
Beispiel #13
0
        public FeederGraph(GeneralParameters par, MainWindow jan, Text DSSText)
        {
            _paramGerais = par;
            _janela      = jan;

            _DSSText = DSSText;

            // get matriz incidencia da API OpenDSS
            GetMatrizIncidencia();

            // carrega arquivos CSV da matriz incidencia
            CarregaMapsGrafoAlim();
        }
Beispiel #14
0
        // grava numero clientes com DRP e DRC no arquivo
        public void ImprimeNumClientesDRPDRC(GeneralParameters paramGerais, MainWindow _janela)
        {
            //nome arquivo DRP e DRC
            string nomeArq = paramGerais.GetNomeComp_arquivoDRPDRC();

            // nome alim
            string nomeAlim = paramGerais.GetNomeAlimAtual();

            // linha //ALim DRP DRC totais
            string linha = nomeAlim + "\t" + _numClientesOK.ToString() + "\t" + _numClientesDRP.ToString() + "\t" + _numClientesDRC.ToString() + "\t" + _numClientesTotal.ToString();

            //Grava em arquivo
            TxtFile.GravaEmArquivo(linha, nomeArq, _janela);
        }
Beispiel #15
0
        public NOSwitchAnalysis(MainWindow janela, GeneralParameters par, List <string> lstAlimentadores, ObjDSS oDSS)
        {
            // inicializa variaveis de classe
            _janela      = janela;
            _paramGerais = par;
            _oDSS        = oDSS;

            // analisa chave NA de cada alimentador
            foreach (string nomeAlim in lstAlimentadores)
            {
                AnaliseChavesNAsPvt(nomeAlim);
            }

            // Grava Log
            _janela.GravaLog();
        }
Beispiel #16
0
        public MonthlyPowerFlow(GeneralParameters paramGerais, MainWindow janela, ObjDSS oDSS)
        {
            // preenche variaveis da classe
            _paramGerais = paramGerais;
            _janela      = janela;

            // fluxo dia util
            _fluxoDU = new DailyFlow(paramGerais, janela, oDSS, "DU");

            // fluxo sabado
            _fluxoSA = new DailyFlow(paramGerais, janela, oDSS, "SA");

            // fluxo domingo
            _fluxoDO = new DailyFlow(paramGerais, janela, oDSS, "DO");

            // instancia obj resultado Mensal
            _resFluxoMensal = new PFResults();
        }
Beispiel #17
0
        public LoopAnalysis(MainWindow janelaPrincipal, GeneralParameters paramGerais, List <string> alimentadores, ObjDSS oDSS)
        {
            _janelaPrincipal       = janelaPrincipal;
            this._paramGerais      = paramGerais;
            this._lstAlimentadores = alimentadores;
            this._oDSS             = oDSS;

            //Limpa Arquivos
            _paramGerais.DeletaArqResultados();

            // analisa cada alimentador
            foreach (string nomeAlim in alimentadores)
            {
                AnaliseLoopsPvt(nomeAlim);
            }

            // Grava Log
            _janelaPrincipal.GravaLog();
        }
Beispiel #18
0
        // grava numero clientes com DRP e DRC no arquivo
        public void ImprimeBarrasDRPDRC(GeneralParameters paramGerais, MainWindow _janela)
        {
            //nome arquivo DRP e DRC
            string nomeArq = paramGerais.GetNomeComp_arqBarrasDRPDRC();

            // nome alim
            string nomeAlim = paramGerais.GetNomeAlimAtual();

            // linha
            List <string> lstStr = new List <string>();

            //
            foreach (string barras in _lstBarrasDRCeDRP)
            {
                lstStr.Add(nomeAlim + "\t" + barras);
            }

            //Grava em arquivo
            TxtFile.GravaListArquivoTXT(lstStr, nomeArq, _janela);
        }
Beispiel #19
0
        public DailyFlow(GeneralParameters paramGerais, MainWindow janela, ObjDSS objDSS, string tipoDia = "DU", bool soMT = false)
        {
            // variaveis da classe
            _paramGerais = paramGerais;
            _janela      = janela;
            _oDSS        = objDSS;

            // TODO FIX ME da pau quando executa a segunda vez
            // OBS: datapath setado por alim
            string temp = _paramGerais.GetDataPathAlimOpenDSS();

            _oDSS._DSSObj.DataPath = temp;

            // nome alim
            _nomeAlim = _paramGerais.GetNomeAlimAtual();

            // seta variavel
            _soMT = soMT;

            // TODO
            SetTipoDia(paramGerais._parGUI);
        }
Beispiel #20
0
        // Executa Analise de Loops
        void Worker_ExecutaAnaliseLoops()
        {
            //Mensagem de Início
            _janelaPrincipal.ExibeMsgDisplayMW("Início Analise Loops");

            //Lê os alimentadores e armazena a lista de alimentadores
            List <string> alimentadores = CemigFeeders.GetTodos(_janelaPrincipal._parGUI.GetArqLstAlimentadores());

            // instancia classe de parametros Gerais
            GeneralParameters paramGerais = new GeneralParameters(_janelaPrincipal);

            // cria objeto DSS
            ObjDSS oDSS = new ObjDSS(paramGerais);

            // instancia classe AnaliseChavesNAs
            LoopAnalysis analiseLoops = new LoopAnalysis(_janelaPrincipal, paramGerais, alimentadores, oDSS);

            // Fim
            _janelaPrincipal.ExibeMsgDisplayMW("Fim análise de loops");

            // Finaliza processo
            _janelaPrincipal.FinalizaProcesso(false);
        }
Beispiel #21
0
        static void Main(string[] args)
        {
            System.Globalization.CultureInfo customCulture = (System.Globalization.CultureInfo)System.Threading.Thread.CurrentThread.CurrentCulture.Clone();
            customCulture.NumberFormat.NumberDecimalSeparator    = ".";
            System.Threading.Thread.CurrentThread.CurrentCulture = customCulture;
            maxParallel = Environment.ProcessorCount - 1;
            maxParallel = 4;
            Console.WriteLine("Max parallel sims: " + maxParallel);


            var pp = new ProtocolParameters()
            {
                duty_cycle            = 0.9,     // NOT IN SECONDS: active time percentage (t_l / (t_l + t_s))
                t_sense               = 0.0521,  // carrier sense duration (needs to be more than any signal duration)
                t_backoff             = 0.0219,  // backoff interval length (constant?)
                t_listen              = 0.016,   // listening time, must be quite higher than t_signal
                t_data                = 0.0521,  // data transmission time
                t_signal              = 0.00521, // signal packet transmission time (RTS and CTS ?)
                n_regions             = 4,       // number of priority regions
                n_max_coll            = 6,       // number of attempts for solving a collision
                n_max_sensing         = 10,
                n_max_pkt             = 3,
                n_max_region_cycle    = 5,
                passed_packets_memory = 10
            };

            var sp = new SimulationParameters()
            {
                area_side          = 200,
                debug_interval     = 1,
                debugType          = DebugType.Never,
                debug_file         = "../../graphic_debug/debug_data.js",
                max_time           = 10,      // / (factor * factor),
                n_density          = 200,     // this is density (nodes per 100^2 area), not total nodes
                packet_rate        = 1,
                range              = 20,
                min_distance       = 2,
                asleepEnergy       = 2,
                idleEnergy         = 10,
                transmissionEnergy = 50,
                emptyRegionType    = EmptyRegionType.Lines,
                skipCycleEvents    = true
            };

            var versions = Enum.GetValues(typeof(ProtocolVersion)).Cast <ProtocolVersion>().ToList();
            var shapes   = Enum.GetValues(typeof(EmptyRegionType)).Cast <EmptyRegionType>().ToList();

            var runResults = new RunResult {
                startTime = DateTime.Now,
                basePP    = pp,
                baseSP    = sp
            };

            var DLparameters = new GeneralParameters()
            {
                lambdas = new List <double> {
                    1, 5, 10
                },
                dutyCycles = new List <double>()
                {
                    0.1, 0.3, 0.5, 0.9
                },
                emptyRegionTypes = new List <EmptyRegionType> {
                    EmptyRegionType.None, EmptyRegionType.Lines
                },
                versions    = versions,
                simulations = 20
            };
            var LNparameters = new GeneralParameters()
            {
                lambdas = new List <double> {
                    1, 5, 10
                },
                relay_densities = new List <float> {
                    100, 200, 300
                },                                                                   // CHANGE PROPORTIONAL TO AREA
                emptyRegionTypes = new List <EmptyRegionType> {
                    EmptyRegionType.None, EmptyRegionType.Lines
                },
                versions    = versions,
                simulations = 20
            };
            var shapeParameters = new GeneralParameters()
            {
                versions         = versions,
                emptyRegionTypes = shapes,
                simulations      = 200
            };
            var debugParameters = new GeneralParameters()
            {
                versions = new List <ProtocolVersion> {
                    ProtocolVersion.Base
                },
                emptyRegionTypes = new List <EmptyRegionType> {
                    EmptyRegionType.Lines
                },
                simulations = 1
            };

            //runResults.shapeStats = General.Generate("Shapes", sp, pp, shapeParameters);
            //runResults.dutyLambdas = General.Generate("DL", sp, pp, DLparameters);
            //runResults.lambdaNs = General.Generate("LN", sp, pp, LNparameters);

            // debug
            sp.debugType = DebugType.Always;
            General.Generate("Debug", sp, pp, debugParameters);

            runResults.endTime = DateTime.Now;

            Console.WriteLine("Finished simulating");

            using (var writer = new StreamWriter("../../stats/runResults.json")) {
                writer.WriteLine(JsonConvert.SerializeObject(runResults, Formatting.Indented));
            }
            Console.WriteLine("Saved results");
            //Console.ReadKey();
        }
Beispiel #22
0
        // construtor
        public MonthLoadMult(GeneralParameters par)
        {
            _paramGerais = par;

            CarregaMapAjusteLoadMult();
        }
Beispiel #23
0
        protected override void measureInOpenedFem(FEMM femm)
        {
            // Begin to measure
            FEMM.LineIntegralResult lir = new FEMM.LineIntegralResult();

            VPMMotor          Motor         = this.Motor as VPMMotor;
            VPMRotor          Rotor         = Motor.Rotor;
            Stator3Phase      Stator        = Motor.Stator;
            GeneralParameters GeneralParams = Motor.GeneralParams;
            AirgapNormal      Airgap        = Motor.Airgap;
            PMStaticResults   Results       = this.Results as PMStaticResults;

            double xS = Rotor.Rrotor * Math.Cos(Rotor.alpha * 0.9999);
            double yS = Rotor.Rrotor * Math.Sin(Rotor.alpha * 0.9999);

            // get phiD
            femm.mo_addcontour(xS, yS);
            //femm.mo_selectpoint(Rotor.xR, Rotor.yR);
            femm.mo_addcontour(xS, -yS);
            femm.mo_bendcontour(-360 / (2 * Rotor.p), 1);
            lir          = femm.mo_lineintegral_full();
            Results.phiD = Math.Abs(lir.totalBn);

            // get phiM
            femm.mo_clearcontour();
            femm.mo_selectpoint(Rotor.xD, Rotor.yD);
            femm.mo_selectpoint(Rotor.xG, Rotor.yG);
            FEMM.LineIntegralResult rr = femm.mo_lineintegral(FEMM.LineIntegralType.Bn);
            Results.phiM = Math.Abs(rr.totalBn * 2);

            // get phib
            femm.mo_clearcontour();
            femm.mo_selectpoint(Rotor.xH, Rotor.yH);
            femm.mo_selectpoint(Rotor.xH, -Rotor.yH);
            rr           = femm.mo_lineintegral(FEMM.LineIntegralType.Bn);
            Results.phib = Math.Abs(rr.totalBn);

            femm.mo_clearcontour();
            femm.mo_selectpoint(Rotor.xE, Rotor.yE);
            femm.mo_selectpoint(Rotor.xA, Rotor.yA);
            rr            = femm.mo_lineintegral(FEMM.LineIntegralType.Bn);
            Results.phib += Math.Abs(rr.totalBn * 2);

            // get phisigmaFe
            femm.mo_clearcontour();
            femm.mo_addcontour(Rotor.xA, Rotor.yA);
            femm.mo_addcontour(xS, yS);
            rr            = femm.mo_lineintegral(FEMM.LineIntegralType.Bn);
            Results.phiFe = Math.Abs(rr.totalBn * 2);

            // get phisigmaS
            double xZ = (Stator.Rinstator + 5) * Math.Cos(2 * Math.PI / (4 * Rotor.p) - 2 * Math.PI / 180);
            double yZ = (Stator.Rinstator + 5) * Math.Sin(2 * Math.PI / (4 * Rotor.p) - 2 * Math.PI / 180);

            femm.mo_clearcontour();
            femm.mo_selectpoint(Rotor.xS, Rotor.yS);
            femm.mo_selectpoint(xZ, yZ);
            rr = femm.mo_lineintegral(FEMM.LineIntegralType.Bn);
            Results.phisigmaS = Math.Abs(rr.totalBn * 2);

            // get FM
            femm.mo_clearcontour();
            femm.mo_addcontour((Rotor.xI + Rotor.xF) / 2, (Rotor.yI + Rotor.yF) / 2);
            femm.mo_addcontour((Rotor.xD + Rotor.xG) / 2, (Rotor.yD + Rotor.yG) / 2);
            rr         = femm.mo_lineintegral(FEMM.LineIntegralType.Ht);
            Results.FM = Math.Abs(rr.totalHt);

            // get B_airgap
            int n = 128;

            Results.Bairgap = new PointD[n * 2];
            double RR = (Rotor.Rrotor + Stator.Rinstator) / 2;

            for (int i = 0; i < n; i++)
            {
                double a  = -(i - n / 2.0) / n * 2 * Rotor.alpha;
                double px = RR * Math.Cos(a);
                double py = RR * Math.Sin(a);

                FEMM.PointValues pv = femm.mo_getpointvalues(px, py);
                Results.Bairgap[i].X = 2 * Rotor.alpha * RR * i / n;
                Results.Bairgap[i].Y = pv.B1 * Math.Cos(a) + pv.B2 * Math.Sin(a);
                if (double.IsNaN(Results.Bairgap[i].Y))
                {
                    Results.Bairgap[i].Y = 0;
                }

                if (Results.Bdelta_max < Math.Abs(Results.Bairgap[i].Y))
                {
                    Results.Bdelta_max = Math.Abs(Results.Bairgap[i].Y);
                }
            }

            // make a mirror (odd function)
            double dd = 2 * Rotor.alpha * RR;

            for (int i = 0; i < n; i++)
            {
                Results.Bairgap[i + n].X = Results.Bairgap[i].X + dd;
                Results.Bairgap[i + n].Y = -Results.Bairgap[i].Y;
            }
            double wd = Rotor.gammaMedeg / 180 * (Rotor.Rrotor + Airgap.delta / 2) * 2 * Math.PI / (2 * Rotor.p);

            Results.Bdelta = Results.phiD / (GeneralParams.MotorLength * wd * 1e-6);

            // psiM
            Dictionary <String, FEMM.CircuitProperties> cps = Stator.getCircuitsPropertiesInAns(femm);

            if (cps.ContainsKey("A") && cps.ContainsKey("B") && cps.ContainsKey("C"))
            {
                Fdq fdq = ParkTransform.abc_dq(cps["A"].fluxlinkage, cps["B"].fluxlinkage, cps["C"].fluxlinkage, 0);
                Results.psiM = fdq.Magnitude;
            }
            else
            {
                Results.psiM = double.NaN;
            }

            femm.mo_close();
        }
Beispiel #24
0
 public CostController(GeneralParameters parameters)
 {
     _parameters = parameters;
 }
Beispiel #25
0
        public static SPMMotor GetSampleMotor()
        {
            ////// all length is in mm
            //////
            SPMMotor m = new SPMMotor();

            // general information
            GeneralParameters gp = new GeneralParameters();

            gp.MotorLength       = 125;
            gp.FullBuildFEMModel = false;

            m.GeneralParams = gp;

            // materials
            //steel
            PointBH[] BH = JSON.ToObject <List <PointBH> >(Properties.Resources.bhsample).ToArray();

            //stator
            Stator3Phase sp = new Stator3Phase();

            sp.Q       = 36;
            sp.DiaYoke = 191;
            sp.DiaGap  = 126;

            sp.HS0 = 0.5;
            sp.HS1 = 1;
            sp.HS2 = 13.3;
            sp.BS0 = 3;
            sp.BS1 = 5;
            sp.BS2 = 8.2;
            sp.RS  = 0.5;

            sp.Kfill          = 0.8;
            sp.WindingsConfig = "A:1-7,12-18,13-19,24-30,25-31,36-6;B:8-14,9-15,20-26,21-27,32-2,33-3;C:4-10,5-11,16-22,17-23,28-34,29-35";
            sp.NStrands       = 10;
            //wire
            sp.WireConduct  = 58;
            sp.WireType     = FEMM.WireType.MagnetWire;
            sp.WireDiameter = 1.2;
            sp.Copper_ro    = 8930;
            //steel
            sp.Lam_fill           = 0.98;
            sp.Lam_d              = 0.635;
            sp.BH                 = BH;
            sp.Steel_ro           = 7650;
            sp.P_eddy_10_50       = 2.5;
            sp.P_hysteresis_10_50 = 0;

            m.Stator = sp;

            //airgap
            AirgapNormal airgap = new AirgapNormal();

            airgap.Kc = 1.1;
            m.Airgap  = airgap;

            //rotor
            SPMRotor rotor = new SPMRotor();

            // steel
            rotor.BH       = BH;
            rotor.Lam_fill = 0.98;
            rotor.Lam_d    = 0.635;
            rotor.Steel_ro = 7650;

            //magnet
            rotor.Hc        = 883310;
            rotor.mu_M      = 1.045;
            rotor.Magnet_ro = 7500;
            rotor.ThickMag  = 6; // magnet length

            rotor.GammaM         = 133;
            rotor.DiaYoke        = 32;
            rotor.p              = 3;       // pair poles
            rotor.DiaGap         = 126 - 2; // airgap
            rotor.Poletype       = SPMRotor.PoleType.Normal;
            rotor.PreRotateAngle = 0;

            m.Rotor = rotor;

            return(m);
        }
Beispiel #26
0
        //Tradução da função calculaResultadoFluxoMensal
        //O resultado no fluxo mensal eh armazenado na variavel da classe
        public void CalculaResultadoFluxoMensal(PFResults perdasDU, PFResults perdasSA, PFResults perdasDO, GeneralParameters paramGerais, MainWindow janela)
        {
            // Limpa medidor atual.
            _energyMeter = new MyEnergyMeter();

            // calcula geracao e perdas maximas entre os 3 dias tipicos
            CalcGeracaoEPerdasMax(perdasDU, perdasSA, perdasDO);

            //Obtem mes
            int mes = paramGerais._parGUI.GetMes();

            // cria curva de carga dados: numero de dias do mes e matriz de consumo em PU
            Dictionary <string, int> numTipoDiasMes = paramGerais._objTipoDeDiasDoMes._qntTipoDiasMes[mes];

            // DIAS UTEIS
            perdasDU._energyMeter.MultiplicaEnergia(numTipoDiasMes["DU"]);

            // multiplica pelo Num dias
            perdasSA._energyMeter.MultiplicaEnergia(numTipoDiasMes["SA"]);

            // multiplica pelo Num dias
            perdasDO._energyMeter.MultiplicaEnergia(numTipoDiasMes["DO"]);

            // perdas energia
            SomaEnergiaDiasTipicos(perdasDU, perdasSA, perdasDO);

            // setMes
            _energyMeter.SetMesEM(mes);

            // grava LoadMult do DU
            _energyMeter.GravaLoadMult(perdasDU._energyMeter.loadMultAlim);

            // cria string com o formato de saida das perdas
            string conteudo = _energyMeter.FormataResultado(paramGerais.GetNomeAlimAtual());

            // se modo otimiza nao grava perdas arquivo
            if (!paramGerais._parGUI._otmPorEnergia)
            {
                // grava perdas alimentador em arquivo
                TxtFile.GravaEmArquivo(conteudo, paramGerais.GetNomeComp_arquivoResPerdasMensal(), janela);
            }

            // Se chegou ate aqui, seta convergencia para true
            _convergiuBool = true;
        }
Beispiel #27
0
 public MonthlyEnergy(GeneralParameters par)
 {
     _paramGeraisDSS = par;
 }