예제 #1
0
        public void CalculaTudo(object sender, EventArgs e)
        {
            Fluido agua = new Fluido
            {
                densidade   = Convert.ToDouble(numericUpDown1.Value) * 1000,
                viscosidade = Convert.ToDouble(numericUpDown8.Value) / 1000,
            };

            Tubulacao tubo1 = new Tubulacao
            {
                comprimento = Convert.ToDouble(numericUpDown3.Value),
                diametro    = Convert.ToDouble(numericUpDown4.Value) / 100,
                elevacao    = Convert.ToDouble(numericUpDown5.Value),
                rugosidade  = Convert.ToDouble(numericUpDown9.Value) / 1000000,
            };

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

            label25.Visible = true;
            label26.Visible = true;
            label26.Text    = (Math.Round(tubo1.CalculaPerdaCarga(agua, Convert.ToDouble(numericUpDown2.Value) / 3600) + tubo1.elevacao, 6)).ToString() + " m";
            if (this.numericUpDown6.Value == -1)
            {
                if (this.numericUpDown7.Value != -1)
                {
                    label27.Visible = true;
                    label27.Text    = "Pressão na saída";
                    label28.Visible = true;
                    label28.Text    = (Math.Round((Convert.ToDouble(numericUpDown7.Value)) - ((agua.densidade * 9.80665 * tubo1.CalculaPerdaCarga(agua, Convert.ToDouble(numericUpDown2.Value) / 3600) + tubo1.elevacao) / 101325), 6)).ToString() + " atm";
                }
            }
            else
            {
                if (this.numericUpDown7.Value != -1)
                {
                    label27.Visible = true;
                    label27.Text    = "Compatibilidade";
                    label28.Visible = true;
                    label28.Text    = (Math.Round((Convert.ToDouble(numericUpDown7.Value) - (Convert.ToDouble(numericUpDown6.Value))) - ((agua.densidade * 9.80665 * tubo1.CalculaPerdaCarga(agua, Convert.ToDouble(numericUpDown2.Value) / 3600) + tubo1.elevacao) / 101325), 6)).ToString() + " atm";
                }
                else
                {
                    label27.Visible = true;
                    label27.Text    = "Pressão na entrada";
                    label28.Visible = true;
                    label28.Text    = (Math.Round((Convert.ToDouble(numericUpDown6.Value)) + ((agua.densidade * 9.80665 * tubo1.CalculaPerdaCarga(agua, Convert.ToDouble(numericUpDown2.Value) / 3600) + tubo1.elevacao) / 101325), 6)).ToString() + " atm";
                }
            }
        }
예제 #2
0
        public void CalculaTudo(object sender, EventArgs e)
        {
            FluidoOPI agua = new FluidoOPI(Convert.ToDouble(numericUpDown1.Value) * 1000, Convert.ToDouble(numericUpDown8.Value) / 1000);

            Tubulacao tubo1 = new Tubulacao(Convert.ToDouble(numericUpDown4.Value) / 100,
                                            Convert.ToDouble(numericUpDown3.Value), new MaterialTubulacao(Convert.ToDouble(numericUpDown9.Value) / 1000000),
                                            Convert.ToDouble(numericUpDown5.Value));

            label25.Visible = true;
            label26.Visible = true;
            label26.Text    = (Math.Round(tubo1.CalculaPerdaCarga(agua.Material, Convert.ToDouble(numericUpDown2.Value) / 3600) + tubo1.Elevacao, 6)).ToString() + " m";
            if (this.numericUpDown6.Value == -1)
            {
                if (this.numericUpDown7.Value != -1)
                {
                    label27.Visible = true;
                    label27.Text    = "Pressão na saída";
                    label28.Visible = true;
                    label28.Text    = (Math.Round((Convert.ToDouble(numericUpDown7.Value)) - ((agua.Material.Densidade * 9.80665 * tubo1.CalculaPerdaCarga(agua.Material, Convert.ToDouble(numericUpDown2.Value) / 3600) + tubo1.Elevacao) / 101325), 6)).ToString() + " atm";
                }
            }
            else
            {
                if (this.numericUpDown7.Value != -1)
                {
                    label27.Visible = true;
                    label27.Text    = "Compatibilidade";
                    label28.Visible = true;
                    label28.Text    = (Math.Round((Convert.ToDouble(numericUpDown7.Value) - (Convert.ToDouble(numericUpDown6.Value))) - ((agua.Material.Densidade * 9.80665 * tubo1.CalculaPerdaCarga(agua.Material, Convert.ToDouble(numericUpDown2.Value) / 3600) + tubo1.Elevacao) / 101325), 6)).ToString() + " atm";
                }
                else
                {
                    label27.Visible = true;
                    label27.Text    = "Pressão na entrada";
                    label28.Visible = true;
                    label28.Text    = (Math.Round((Convert.ToDouble(numericUpDown6.Value)) + ((agua.Material.Densidade * 9.80665 * tubo1.CalculaPerdaCarga(agua.Material, Convert.ToDouble(numericUpDown2.Value) / 3600) + tubo1.Elevacao) / 101325), 6)).ToString() + " atm";
                }
            }
        }
예제 #3
0
        public void CalculaTudo(object sender, EventArgs e)
        {
            double vazao      = Convert.ToDouble(numericUpDown1.Value);
            double pressaoAtm = Convert.ToDouble(numericUpDown11.Value);

            FluidoIdealOPIII agua = new FluidoIdealOPIII(new MaterialFluidoOPIII("NA", Convert.ToDouble(numericUpDown9.Value), Convert.ToDouble(numericUpDown10.Value), new double[3] {
                4.6543, 1435.264, -64.848
            }), Convert.ToDouble(numericUpDown7.Value) + 273.15);

            Tubulacao tubulacaoSuccao = new Tubulacao(Convert.ToDouble(numericUpDown4.Value) / 100,
                                                      Convert.ToDouble(numericUpDown6.Value), new MaterialTubulacao(Convert.ToDouble(numericUpDown3.Value) / 1000),
                                                      Convert.ToDouble(numericUpDown8.Value), "haaland");

            Tubulacao tubulacaoRecalque = new Tubulacao(Convert.ToDouble(numericUpDown4.Value) / 100,
                                                        Convert.ToDouble(numericUpDown5.Value), new MaterialTubulacao(Convert.ToDouble(numericUpDown3.Value) / 1000),
                                                        Convert.ToDouble(numericUpDown2.Value) - Convert.ToDouble(numericUpDown8.Value), "haaland");

            label24.Text = Convert.ToString(tubulacaoSuccao.Comprimento + tubulacaoRecalque.Comprimento);

            Tubulacao tubulacaoCompleta = new Tubulacao(Convert.ToDouble(numericUpDown4.Value) / 100,
                                                        Convert.ToDouble(label24.Text), new MaterialTubulacao(Convert.ToDouble(numericUpDown3.Value) / 1000),
                                                        Convert.ToDouble(numericUpDown2.Value), "haaland");

            BombaCompleta bombaCompleta = new BombaCompleta(new double[] { 0.00, 0.00, 0.00, 0.00 }, agua, tubulacaoSuccao,
                                                            tubulacaoRecalque, Convert.ToDouble(numericUpDown11.Value), Convert.ToDouble(numericUpDown13.Value), Convert.ToDouble(numericUpDown12.Value));

            /// Item a)
            label38.Text = Convert.ToString(Math.Round(tubulacaoCompleta.CalculaReynolds(agua.Material, vazao)));
            label39.Text = Convert.ToString(Math.Round(100000 * tubulacaoCompleta.CalculaFAtrito(agua.Material, vazao)) / 100000);
            label44.Text = Convert.ToString(Math.Round(10000 * tubulacaoCompleta.CalculaPerdaCarga(agua.Material, vazao)) / 10000);
            label48.Text = Convert.ToString(Math.Round(10000 * tubulacaoCompleta.CalculaPerdaCarga(agua.Material, vazao)) / 10000 + tubulacaoCompleta.Elevacao);

            /// Item b)
            label50.Text = Convert.ToString(Math.Round(100 * agua.ConvertePressaoEmM(pressaoAtm)) / 100);
            label51.Text = Convert.ToString(numericUpDown8.Value);
            label55.Text = Convert.ToString(Math.Round(1000 * agua.ConvertePressaoEmM(agua.PresaoVapor), 2) / 1000);
            label53.Text = Convert.ToString(Math.Round(100 * tubulacaoSuccao.CalculaPerdaCarga(agua.Material, vazao)) / 100);
            label57.Text = Convert.ToString(Math.Round(100 * bombaCompleta.NPSHDisponivel()) / 100);
            label60.Text = Convert.ToString(bombaCompleta.NPSHRequerido);
            if (Convert.ToDouble(label57.Text) > Convert.ToDouble(label60.Text))
            {
                label59.Text = ">";
                label61.Text = "Não pode haver cavitação!";
            }
            else
            {
                label61.Text = "Pode haver cavitação!";
                if (Convert.ToDouble(label57.Text) == Convert.ToDouble(label60.Text))
                {
                    label59.Text = "=";
                }
                else
                {
                    label59.Text = "<";
                }
            }

            /// Item c)
            bombaCompleta.CalculaAlturaManoRequerida(vazao);
            double potenciaW = bombaCompleta.CalculaPotencia(vazao);
            double tempoS    = Convert.ToDouble(numericUpDown14.Value) / vazao;

            label63.Text = Convert.ToString(Math.Round(potenciaW));
            label65.Text = Convert.ToString(Math.Round(potenciaW / 1000));
            label68.Text = Convert.ToString(Math.Round(tempoS));
            label70.Text = Convert.ToString(Math.Round(10000 * tempoS / 3600) / 10000);
            label73.Text = Convert.ToString(Math.Round(100 * potenciaW * tempoS / 3600000) / 100);
            label76.Text = Convert.ToString(Math.Round(1000 * potenciaW * tempoS *
                                                       Convert.ToDouble(numericUpDown15.Value) / 3600000) / 1000);
        }