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"; } } }
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"; } } }
public override View OnCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { View view = inflater.Inflate(Resource.Layout.bomba_tubulacao, container, false); // Inputs TextInputLayout diametroInput = view.FindViewById <TextInputLayout>(Resource.Id.textInBombaDiametro); TextInputLayout comprimentoInput = view.FindViewById <TextInputLayout>(Resource.Id.textInBombaComprimento); TextInputLayout rugosidadeInput = view.FindViewById <TextInputLayout>(Resource.Id.textInBombaRugosidade); TextInputLayout elevacaoInput = view.FindViewById <TextInputLayout>(Resource.Id.textInBombaElevacao); MainActivity main = (MainActivity)this.Activity; // Chequa se o objeto fluido da main activity jah foi criado, se sim copia o valor dele para o fluido privado dessa classe if (main.Tubulacao != null) { if (main.Tubulacao.Diametro != 0) { tubulacao = main.Tubulacao; diametroInput.EditText.Text = tubulacao.Diametro.ToString(); comprimentoInput.EditText.Text = tubulacao.Comprimento.ToString(); rugosidadeInput.EditText.Text = tubulacao.Rugosidade.ToString(); elevacaoInput.EditText.Text = tubulacao.Elevacao.ToString(); } } // EventHandler para os inputs diametroInput.EditText.TextChanged += DiametroTextInputLayout_ChangedText; comprimentoInput.EditText.TextChanged += ComprimentoTextInputLayout_ChangedText; rugosidadeInput.EditText.TextChanged += RugosidadeTextInputLayout_ChangedText; elevacaoInput.EditText.TextChanged += ElevacaoTextInputLayout_ChangedText; // Continua com a operação do android var ignored = base.OnCreateView(inflater, container, savedInstanceState); return(view); }
protected void AtualizaGrafico() { double densidade = Convert.ToDouble(numericDensidade.Value) * 1000; double viscosidade = Convert.ToDouble(numericViscosidade.Value) / 1000; double diametro = Convert.ToDouble(numericDiametro.Value) / 100; double comprimento = Convert.ToDouble(numericComprimento.Value); double rugosidade = Convert.ToDouble(numericRugosidade.Value) / 1000000; double elevacao = Convert.ToDouble(numericElevacao.Value); double AeqBomba = (trackBarAeq.Value / 500.0); double BeqBomba = (trackBarBeq.Value / 500.0) * (-2096928); double CeqBomba = (trackBarCeq.Value / 500.0) * 2649.96; double DeqBomba = (trackBarDeq.Value / 500.0) * 26; // Cria o fluido agua usando o constructor FluidoOPI agua = new FluidoOPI(densidade, viscosidade); // Cria a tubulação tubo1 usando o constructor Tubulacao tubo1 = new Tubulacao(diametro, comprimento, new MaterialTubulacao(rugosidade), elevacao); // Cria as singularidades usando o constructor Singularidade s1 = new Singularidade(1, "Cotovelo"); Singularidade s2 = new Singularidade(2, "Cotovelo"); tubo1.AdicionaSingularidade(s1); tubo1.AdicionaSingularidade(s2); Bomba bomba1 = new Bomba(new double[] { AeqBomba, BeqBomba, CeqBomba, DeqBomba }, agua, tubo1); // Atualiza os valores da bomba bomba1.CalculaVazao(); List <double> plotX; List <double> plotYBomba; List <double> plotYtubo; // Prepara os pontos para plotagem (plotX, plotYBomba, plotYtubo) = bomba1.PreparaPlot(40); // Ponto de operacao para plotagem double[] pontoOperacaoX = new double[1]; double[] pontoOperacaoY = new double[1]; // Definicao do ponto de operacao pontoOperacaoX[0] = bomba1.Vazao * 3600; // m^3/h pontoOperacaoY[0] = bomba1.CalcAlturaBomba(bomba1.Vazao); // Plotagem da curva da bomba e da tubulacao chart2.Series[0].Points.DataBindXY(plotX, plotYBomba); chart2.Series[1].Points.DataBindXY(plotX, plotYtubo); // Plotagem do ponto de operacao chart2.Series[2].Points.DataBindXY(pontoOperacaoX, pontoOperacaoY); chart2.Series[2].Label = "Ponto de operacao (" + Math.Round(pontoOperacaoX[0], 1) + " [m³/h] ; " + Math.Round(pontoOperacaoY[0], 1) + " [m])"; // Apresentação do ponto de operação no campo Saídas labelVazao.Text = Math.Round(pontoOperacaoX[0], 1).ToString(); labelPerdaCarga.Text = Math.Round(pontoOperacaoY[0], 1).ToString(); }
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); }
/// <summary> /// Botão para cálculo inicial do bombeamento /// </summary> private void btnCalcular_Click(object sender, EventArgs e) { if (true) { // -> Fluido cmbFluidoNomeTxt = cmbFluidoNome.Text; nudFluidoTemperaturaDbl = Convert.ToDouble(nudFluidoTemperatura.Value) + 273.15; // Temperatura em K nudFluidoPressaoDbl = Convert.ToDouble(nudFluidoPressao.Value) * 1e5; // Pressão em Pa fluido = new FluidoIdealOPIII(InicializadorObjetos.MaterialFluidoOPIII(cmbFluidoNomeTxt), nudFluidoTemperaturaDbl); // -> Tubulação de Sucção nudTubSucRugosidadeDbl = Convert.ToDouble(nudTubSucRugosidade.Value) * 1e-3; nudTubSucDiametroIntDbl = Convert.ToDouble(nudTubSucDiametroInt.Value) * 1e-2; nudTubSucCompSingDbl = Convert.ToDouble(nudTubSucCompSing.Value); singEqvSuc = new Singularidade(nudTubSucCompSingDbl, "Equivalente"); nudTubSucComprimentoDbl = Convert.ToDouble(nudTubSucComprimento.Value); nudTubSucElevacaoDbl = Convert.ToDouble(nudTubSucElevacao.Value); tubulacaoSuccao = new Tubulacao(nudTubSucDiametroIntDbl, nudTubSucComprimentoDbl, new MaterialTubulacao(nudTubSucRugosidadeDbl), nudTubSucElevacaoDbl, "haaland"); tubulacaoSuccao.AdicionaSingularidade(singEqvSuc); // Valvula da sucção valvulaSuc = new Valvula(2, 1000); tubulacaoSuccao.AdicionaSingularidade(valvulaSuc); // -> Tubulação de Descarga nudTubDesRugosidadeDbl = Convert.ToDouble(nudTubDesRugosidade.Value) * 1e-3; nudTubDesDiametroIntDbl = Convert.ToDouble(nudTubDesDiametroInt.Value) * 1e-2; nudTubDesCompSingDbl = Convert.ToDouble(nudTubDesCompSing.Value); singEqvDes = new Singularidade(nudTubDesCompSingDbl, "Equivalente"); nudTubDesComprimentoDbl = Convert.ToDouble(nudTubDesComprimento.Value); nudTubDesElevacaoDbl = Convert.ToDouble(nudTubDesElevacao.Value); tubulacaoDescarga = new Tubulacao(nudTubDesDiametroIntDbl, nudTubDesComprimentoDbl, new MaterialTubulacao(nudTubDesRugosidadeDbl), nudTubDesElevacaoDbl, "haaland"); tubulacaoDescarga.AdicionaSingularidade(singEqvDes); // Valvula da descarga valvulaDes = new Valvula(2, 3000); tubulacaoDescarga.AdicionaSingularidade(valvulaDes); // Bomba bomba = new BombaCompleta(new double[3] { 0, 0, 0 }, fluido, tubulacaoSuccao, tubulacaoDescarga, nudFluidoPressaoDbl, 2); nudVazaoDesejada.Value = Convert.ToDecimal(0.5); nudAberturaValvulaSuc.Value = Convert.ToDecimal(1.0); nudAberturaValvulaDes.Value = Convert.ToDecimal(1.0); nudFluidoTemperaturaDin.Value = Convert.ToDecimal(nudFluidoTemperaturaDbl - 273.15); nudFluidoPressaoDin.Value = Convert.ToDecimal(nudFluidoPressaoDbl * 1e-5); AtualizaHBomba(); AtualizaNPSHDisp(); gubFluidoDin.Visible = true; gubSucDin.Visible = true; gubDesDin.Visible = true; chartPerdaCarga.Visible = true; chartNPSHDisp.Visible = true; gubResultados.Visible = true; labResultados.Visible = true; tabControl.SelectedIndex = 1; } }