/// <summary> /// Atualiza nos gráficos e nos resultados a vazão desejada. /// </summary> /// <param name="x">Vazão desejada [m^3/s].</param> private void AtualizaVazaoDesejada(double x) { chartPerdaCarga.Series["LinhaVazao"].Points.Clear(); chartNPSHDisp.Series["LinhaVazao"].Points.Clear(); double hBomba = bomba.CalculaAlturaManoRequerida(x); chartPerdaCarga.Series["LinhaVazao"].Points.DataBindXY(new double[] { x, x }, new double[] { 0, hBomba }); double NPSHBomba = bomba.NPSHDisponivel(x); chartNPSHDisp.Series["LinhaVazao"].Points.DataBindXY(new double[] { x, x }, new double[] { 0, NPSHBomba }); txbResultadoAlturaBomba.Text = $"{Math.Round(hBomba, 2)}"; txbResultadoNPSHDisp.Text = $"{Math.Round(NPSHBomba, 2)}"; }
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); }