示例#1
0
        /// <summary>
        /// Atualiza o valor da vazão [m^3/s] da bomba utilizando a equação de Bernoulli.
        /// </summary>
        /// <param name="fluido">O fluido que está passando na bomba. </param>
        /// <param name="tubulacao">A tubulação que está sendo analisada. </param>
        /// <returns> A altura da bomba [m]. </returns>
        public void CalculaVazao(Fluido fluido, Tubulacao tubulacao)
        {
            double vazao = 0.001;
            double eps   = 10E-6;
            double err;
            double deri;
            double fX;
            double nIte = 1;

            fX   = this.CalcAlturaBomba(vazao) - tubulacao.CalculaPerdaCarga(fluido, vazao);
            err  = Math.Abs(fX);
            deri = ((this.CalcAlturaBomba(vazao + eps) - tubulacao.CalculaPerdaCarga(fluido, vazao + eps))
                    - (this.CalcAlturaBomba(vazao - eps) - tubulacao.CalculaPerdaCarga(fluido, vazao - eps))) / (2 * eps);
            Console.WriteLine("deri = {0}", deri);

            while (err > 10E-6)
            {
                vazao = vazao - (fX / deri);
                Console.WriteLine("vazão Iter = {0}", vazao);
                fX   = this.CalcAlturaBomba(vazao) - tubulacao.CalculaPerdaCarga(fluido, vazao);
                deri = ((this.CalcAlturaBomba(vazao + eps) - tubulacao.CalculaPerdaCarga(fluido, vazao + eps))
                        - (this.CalcAlturaBomba(vazao - eps) - tubulacao.CalculaPerdaCarga(fluido, vazao - eps))) / (2 * eps);
                Console.WriteLine("fX Iter = {0}", fX);

                err  = Math.Abs(fX);
                nIte = nIte + 1;
            }

            this.vazao             = vazao;
            this.alturaManometrica = CalcAlturaBomba(vazao);

            Console.WriteLine("====Altura Final: {0}", this.alturaManometrica);
            Console.WriteLine("====Perda de carga Final: {0}", tubulacao.CalculaPerdaCarga(fluido, vazao));
        }
示例#2
0
        static void Main()
        {
            // This is a hello world commentary.
            // Console.WriteLine("Hellow World!!");

            Application.EnableVisualStyles();
            Application.SetCompatibleTextRenderingDefault(false);
            Application.Run(new FormsMaster());

            Fluido agua = new Fluido
            {
                densidade   = 1000,
                viscosidade = 8.90E-4,
            };

            Tubulacao tubo1 = new Tubulacao
            {
                diametro    = 0.05,
                rugosidade  = 4.572E-5,
                comprimento = 10
            };

            tubo1.rugosidadeRelativa = tubo1.rugosidade / tubo1.diametro;

            Singularidade s1 = new Singularidade
            {
                comprimentoEqv = 1
            };

            Singularidade s2 = new Singularidade
            {
                comprimentoEqv = 1
            };

            List <Singularidade> lista = new List <Singularidade>
            {
                s1,
                s2
            };

            foreach (Singularidade sin in lista)
            {
                tubo1.listaSingulariedades.Add(sin);
            }

            tubo1.ComprEqSing();

            Bomba bomba1 = new Bomba
            {
                equacaoCurva = new double[] { 0, -2096928, 2649.96, 26 }
            };

            Bomba bomba2 = new Bomba
            {
                equacaoCurva = new double[] { 1, 2096928, -2650.96, 4 }
            };

            Bomba bombaEq = new Bomba
            {
            };

            Bomba[] arrayBombas = new Bomba[] { bomba1, bomba2 };

            bombaEq.BombaEquivalente(new Bomba[] { bomba1, bomba2 }, "Série");

            /*
             * Console.WriteLine("==========Dados da Simulação========");
             * Console.WriteLine("===>Fluido");
             * Console.WriteLine("Densidade : {0} Kg/m^3", agua.densidade);
             * Console.WriteLine("Viscosidade : {0} Pa*s", agua.viscosidade);
             * Console.WriteLine("===>Tubulação");
             * Console.WriteLine("Diametro : {0} m", tubo1.diametro);
             * Console.WriteLine("Comprimento : {0} m",tubo1.comprimento);
             * Console.WriteLine("Comprimento Eq das singularidades: {0} m", tubo1.comprimentoEquivalente);
             * Console.WriteLine("Comprimento total: {0} m", tubo1.comprimentoEquivalente + tubo1.comprimento);
             * Console.WriteLine("===>Bomba");
             * Console.WriteLine("Eq. da bomba: {0}*Q^3 + {1}*Q^2 + {2}*Q^1 + {3}",bomba1.equacaoCurva[0], bomba1.equacaoCurva[1], bomba1.equacaoCurva[2], bomba1.equacaoCurva[3]);
             * Console.WriteLine("Eq. da bombaEQ: {0}*Q^3 + {1}*Q^2 + {2}*Q^1 + {3}", bombaEq.equacaoCurva[0], bombaEq.equacaoCurva[1], bombaEq.equacaoCurva[2], bombaEq.equacaoCurva[3]);
             *
             * bomba1.CalculaVazao(agua, tubo1);
             *
             * Console.WriteLine("==========Resultados da Simulação========");
             * Console.WriteLine("Vazão : {0} m^3/h", bomba1.vazao * 3600);
             * Console.WriteLine("Perda de carga  : {0} m", tubo1.perdaCarga);
             * Console.WriteLine("Altura da bomba : {0} m", bomba1.alturaManometrica);
             *
             * Console.ReadLine();
             */
        }