Skip to contents

Introdução

A equação de Darcy-Weisbach é a fórmula universal e teoricamente mais rigorosa para o cálculo da perda de carga em condutos forçados. Ao contrário de fórmulas empíricas como a de Hazen-Williams, a equação de Darcy-Weisbach é aplicável a qualquer fluido e qualquer regime de escoamento (laminar, transição ou turbulento).

No pacote hf, a equação baseia-se na vazão volumétrica (QQ):

hf=f8LQ2π2gD5h_f = f \frac{8 L Q^2}{\pi^2 g D^5}

Em que:

  • hfh_f: Perda de carga distribuída (m)
  • ff: Fator de atrito de Darcy (adimensional)
  • LL: Comprimento da tubulação (m)
  • QQ: Vazão volumétrica (m3/sm^3/s)
  • DD: Diâmetro interno (m)
  • gg: Aceleração da gravidade (m/s2m/s^2)

1. O Fator de Atrito (ff)

O fator de atrito depende do Número de Reynolds e da rugosidade relativa do tubo. O pacote hf fornece duas funções distintas para calculá-lo:

  • calc_friction_cw(): Utiliza a equação implícita de Colebrook-White (padrão). Encontra a raiz exata iterativamente.
  • calc_friction_sj(): Utiliza a equação explícita de Swamee-Jain, uma aproximação de alta precisão que não requer iteração.
# Parâmetros do escoamento
Re <- 100000        # Número de Reynolds
e <- 0.00026        # Rugosidade absoluta (m)
D <- 0.1            # Diâmetro (m)

# Comparando ambos os métodos
calc_friction_cw(reynolds = Re, roughness = e, diameter = D)
#> [1] 0.02657412
calc_friction_sj(reynolds = Re, roughness = e, diameter = D)
#> [1] 0.02681396

2. Calculando a Perda de Carga com Injeção Funcional

A função calc_head_loss_darcy calcula a perda, mas você pode “injetar” a função de atrito que deseja utilizar através do argumento friction_fun.

# 1. Padrão (Usa Colebrook-White automaticamente)
calc_head_loss_darcy(
  length = 100, flow = 0.02, diameter = 0.1, roughness = 0.00026
)
#> [1] 8.513127

# 2. Injeção Funcional (Usando Swamee-Jain)
calc_head_loss_darcy(
  length = 100, flow = 0.02, diameter = 0.1, roughness = 0.00026,
  friction_fun = calc_friction_sj
)
#> [1] 8.55815

# 3. Valor Direto (Se você já calculou o fator de atrito)
calc_head_loss_darcy(
  length = 100, flow = 0.02, diameter = 0.1, friction_factor = 0.025
)
#> [1] 8.262686

3. Calculando Diâmetro e Vazão

Como o fator de atrito cria uma dependência circular matemática, o pacote hf utiliza solucionadores numéricos internos (uniroot) para encontrar os valores exatos de diâmetro e vazão. A injeção funcional também funciona nestas funções.

# Calcular o diâmetro necessário para uma perda de 8.56m
calc_diameter_darcy(
  loss = 8.56, length = 100, flow = 0.02, roughness = 0.00026
)
#> [1] 0.09989527

# Calcular a vazão máxima para a mesma perda de carga
calc_flow_darcy(
  loss = 8.56, length = 100, diameter = 0.1, roughness = 0.00026
)
#> [1] 0.02005564