![]() |
|
|
Planilha de Dimensionamento de Tubulações
Hidráulicas Água Fria e Água Quente CompletaNossa planilha automática de dimensionamento de tubulações de água fria e quente é uma ferramenta desenvolvida para auxiliar engenheiros e projetistas no cálculo rápido e preciso das redes hidráulicas de edificaçoes. Por meio da inserçao de dados como vazao, diâmetro da tubulaçao, comprimento da rede, material do tubo e coeficientes hidráulicos, a planilha realiza automaticamente os cálculos necessários para verificar velocidade da água, perda de carga e dimensionamento adequado das tubulaçoes. |
||
Python ::: Desafios e Lista de Exercícios Resolvidos ::: Fenômenos dos Transportes, Hidráulica e Drenagem |
Exercício Resolvido de Python - Como calcular o Número de Reynolds em Python - Leite integral a 293 K, massa específica de 1030 kg/m3 e viscosidade de 2,12.10-3 N.s/m2 está escoando a uma razãoQuantidade de visualizações: 509 vezes |
|
Pergunta/Tarefa: O Número de Reynolds é uma quantidade adimensional usada na mecânica dos fluidos para prever padrões de fluxo em diferentes situações de escoamento de fluidos. É definido como a razão entre forças inerciais e forças viscosas dentro de um fluido. 1) Leite integral a 293 K, massa específica de 1030 kg/m3 e viscosidade de 2,12.10-3 N.s/m2 está escoando a uma razão de 0,605 kg/s em uma tubulação de 63,5 mm de diâmetro. a) Calcule o número de Reynolds. O escoamento é laminar ou turbulento? b) Calcule a vazão em m3/s para um número de Reynolds de 2100 e a velocidade em m/s. Sua saída deverá ser parecida com: Informe a Massa Específica do fluido (kg/m3): 1030 Informe a Viscosidade Dinâmica do fluido (N.s/m2): 2.12e-3 Informe a Vazão Mássica (kg/s): 0.605 Informe o Diâmetro da Tubulação (mm): 63.5 A área da tubulação é: 0.003166921744359361 m2 A vazão volumétrica do fluido é: 0.000587378640776699 m3/s A velocidade de escoamento do fluido é: 0.18547305181218499 m/s O Número de Reynolds é: 5722.106110271679 Informe o novo Número de Reynolds: 2100 A nova velocidade de escoamento do fluido é: 0.06806819050531304 m/s A nova vazão volumétrica do fluido é: 0.0002155666326104713 m3/s O primeiro passo para a resolução deste exercício é nos lembrarmos da Fórmula do Número de Reynolds: \[R_e = \frac{\rho \cdot v \cdot D}{\mu} \] Onde: [[rho]] é a massa específica do fluido medida em kg/m3; v = velocidade média do fluido em m/s; D = diâmetro para o fluxo do tubo em metros (m); [[mu]] é a viscosidade dinâmica do fluido em N.s/m2. Obs.: No código eu mostro como fazer as conversões de unidades necessárias. Veja a resolução completa para o exercício em Python, comentada linha a linha:
# vamos importar a biblioteca Math
import math
# método principal
def main():
# vamos ler a massa específica da água
massa_especifica = float(input("Informe a Massa Específica (kg/m3): "))
# vamos ler a viscosidade dinâmica do fluido
viscosidade_dinamica = float(input("Informe a Viscosidade (N.s/m2): "))
# vamos ler a vazão mássica
vazao_massica = float(input("Informe a Vazão Mássica (kg/s): "))
# vamos ler o diâmetro da tubulação
diametro = float(input("Informe o Diâmetro da Tubulação (mm): "))
# o primeiro passo é calcular a área da seção transversal da tubulação
# a) convertemos milímetros para metros
diametro = diametro / 1000.0
# b) calculamos a área em metros quadrados
area = (math.pi * math.pow(diametro, 2) / 4)
# vamos converter a vazão mássica em vazão volumétrica
vazao = vazao_massica / massa_especifica
# vamos obter a velocidade de escoamento do fluido
velocidade = vazao / area
# e finalmente calculamos o Número de Reynolds
numero_reynolds = (massa_especifica * velocidade * diametro) / viscosidade_dinamica
# mostramos os resultados
print("\nA área da tubulação é: {0} m2".format(area))
print("A vazão volumétrica do fluido é: {0} m3/s".format(vazao))
print("A velocidade de escoamento do fluido é: {0} m/s".format(velocidade))
print("O Número de Reynolds é: {0}".format(numero_reynolds))
# vamos ler o novo Número de Reynolds
novo_numero_reynolds = float(input("\nInforme o novo Número de Reynolds: "))
# vamos calcular a velocidade para o novo Reynolds
nova_velocidade = ((viscosidade_dinamica * novo_numero_reynolds)
/ (massa_especifica * diametro))
print("A nova velocidade de escoamento do fluido é: {0} m/s".format(nova_velocidade))
# vamos calcular a nova vazão volumétrica
nova_vazao = area * nova_velocidade
print("A nova vazão volumétrica do fluido é: {0} m3/s".format(nova_vazao))
if __name__== "__main__":
main()
O primeiro Número de Reynolds, ou seja, 5722.1061, caracteriza o escoamento como turbulento, pois é maior que 2400. Já o Número de Reynolds 2100 caracteriza o escoamento como escoamento de transição (saindo do escoamento laminar e indo para o escoamento turbulento), já que é maior que 2000 e menor que 2400. |
Python ::: Fundamentos da Linguagem ::: Variáveis e Constantes |
Como acessar variáveis globais a partir de seus métodos PythonQuantidade de visualizações: 13278 vezes |
|
Por padrão, nossos próprios métodos e funções em Python não enxergam as variáveis definidas fora do seu escopo, e quando o fazem, é somente para leitura, já que alterações nas variáveis fora do escopo fazem com que o interpretar crie versões locais dessas variáveis. Uma solução é usar a palavra-chave "global" antes do nome da varíável que queremos acessar. Veja como isso pode ser feito no trecho de código abaixo:
# uma variável global
nome = "Carlos"
# um método que acessa a variável global
def metodo():
global nome
nome = "Osmar J. Silva"
# função principal do programa
def main():
# chama o método
metodo()
# mostra o resultado
print("Valor alterado para:", nome)
if __name__== "__main__":
main()
Ao executar este código Python nós teremos o seguinte resultado: Valor alterado para: Osmar J. Silva |
Java ::: Dicas & Truques ::: Strings e Caracteres |
Como testar se uma string Java é um valor numérico válido usando o método isDigit() da classe CharacterQuantidade de visualizações: 3 vezes |
|
O método isDigit() da classe Character nos permite verificar se um determinado caractere é um número, ou seja, está na faixa de 0 a 9. Podemos tirar proveito disso para varrer todos os caracteres de uma string, usando o método charAt() da classe String, e testar se essa string é um valor numérico válido. Veja o código completo para o exemplo:
package arquivodecodigos;
// Este exemplo mostra como verificar se uma
// string é um valor númerico
public class Estudos {
public static void main(String[] args) {
String valor = "2334554";
boolean valido = true;
for (int i = 0; i < valor.length(); i++) {
Character caractere = valor.charAt(i);
if (!Character.isDigit(caractere)) {
valido = false;
break;
}
}
if (valido) {
System.out.println("Valor numérico valido");
}
else {
System.out.println("NãO é um valor numerico valido");
}
System.exit(0);
}
}
Ao executar este código Java nós teremos o seguinte resultado: Valor numérico válido. |
C# ::: Windows Forms ::: TextBox |
C# Windows Forms Avançado - Como rolar as linhas de um TextBox para baixo uma de cada vez usando a API do WindowsQuantidade de visualizações: 7631 vezes |
|
Em algumas situações gostaríamos de rolar para baixo o conteúdo de um TextBox de múltiplas linhas uma linha de cada vez. Para isso podemos usar a API do Windows, mais especificamente a mensagem WM_VSCROLL com o valor SB_LINEDOWN para seu parâmetro wParam. O valor do parâmetro lParam é zero. Veja um trecho de código que rola para baixo o conteúdo de um TextBox uma linha de cada vez. Antes de executar este exemplo, tenha a certeza de ter um TextBox de múltiplas, com barras de rolagem e conteúdo que force o aparecimento das barras de rolagem. Comece adicionando a linha: using System.Runtime.InteropServices; na seção de usings do seu formulário ou classe. Em seguida adicione o trecho de código abaixo no corpo da classe, como um método:
[DllImport("user32.dll", EntryPoint = "SendMessage",
CharSet = CharSet.Auto, SetLastError = true)]
private static extern IntPtr SendMessage(IntPtr hWnd, uint Msg,
IntPtr wParam, IntPtr lParam);
Finalmente coloque o código abaixo no evento Click de um botão:
private void button2_Click(object sender, EventArgs e){
// antes de executar este exemplo certifique-se de que
// a propriedade Multiline do TextBox esteja definida
// como true e a propriedade ScrollBars contenha o valor
// Vertical ou Both
textBox1.Multiline = true;
textBox1.ScrollBars = ScrollBars.Vertical;
// constante para a mensagem WM_VSCROLL
const uint WM_VSCROLL = 0x115;
// constante para o parâmetro wParam
const int SB_LINEDOWN = 1;
// handle para a caixa de texto
IntPtr handle = textBox1.Handle;
IntPtr wParam = (IntPtr)SB_LINEDOWN;
IntPtr lParam = IntPtr.Zero;
// vamos fazer com que o TextBox role uma linha para baixo
SendMessage(textBox1.Handle, WM_VSCROLL, wParam, lParam);
}
|
Nossas 20 dicas & truques de programação mais populares |
|
JavaScript - Como filtrar os elementos de um array em JavaScript usando a função filter() - Vetores e matrizes em JavaScript |
Você também poderá gostar das dicas e truques de programação abaixo |
|
jQuery - jQuery para iniciantes - Como obter o conteúdo de um elemento HTML usando a função html() do jQuery Python - Como testar se um ponto está dentro de um círculo em Python - Desenvolvimento de Games com Python |
Nossas 20 dicas & truques de programação mais recentes |
Últimos Projetos e Códigos Fonte Liberados Para Apoiadores do Site |
|
Python - Como criar o jogo Pedra, Papel, Tesoura em Python - Jogo completo em Python com código comentado |
Últimos Exercícios Resolvidos |
E-Books em PDF |
||||
|
||||
|
||||
Linguagens Mais Populares |
||||
|
1º lugar: Java |




