Equação de Manning para escoamento em canais abertos no QUAL2K
O QUAL2K calcula a velocidade, a profundidade e a área da seção transversal de cada trecho usando a equação de Manning ou curvas-chave do tipo potência, como descrito na documentação técnica do QUAL2K da EPA. A equação de Manning é o método padrão e o mais usado em rios naturais com geometria conhecida. Os parâmetros hidráulicos calculados alimentam diretamente os cálculos do coeficiente de reaeração (em inglês) e da propagação de vazões (em inglês).
Equação de Manning
A equação de Manning relaciona a vazão (m³/s) com a geometria do canal e a rugosidade:
Em que:
- : coeficiente de rugosidade de Manning (adimensional)
- : área molhada da seção transversal (m²)
- : raio hidráulico (m)
- : perímetro molhado (m)
- : declividade do fundo do canal (m/m)
Geometria da seção transversal trapezoidal
O QUAL2K representa o canal como uma seção transversal trapezoidal, com fundo plano de largura e dois taludes laterais (que podem ser diferentes) e :
Para uma dada profundidade de escoamento :
em que é a inclinação média dos taludes.
Solucionador de profundidade por Newton-Raphson
Dada uma vazão conhecida , a profundidade precisa ser encontrada de forma iterativa. O QUAL2K usa o método de Newton-Raphson para resolver:
A derivada é:
em que é a largura superficial e .
A iteração começa em m e converge em 5 a 10 iterações em canais típicos. A regra de atualização é:
Grandezas derivadas
Conhecida a profundidade , os demais parâmetros hidráulicos decorrem diretamente:
em que é o comprimento do trecho em metros.
Alternativa com curva-chave
Quando os coeficientes da curva-chave são informados, o QUAL2K usa relações do tipo potência no lugar da equação de Manning:
A área da seção transversal passa a ser e a largura, . Esse método é usado quando há curvas-chave medidas em campo.
Valores típicos do n de Manning
Coeficientes de rugosidade de Manning para cursos d'água naturais
| Tipo de canal | n (mínimo) | n (típico) | n (máximo) |
|---|---|---|---|
| Limpo, retilíneo, nível máximo | 0,025 | 0,030 | 0,033 |
| Limpo, sinuoso, com alguns poços | 0,033 | 0,040 | 0,045 |
| Lento, com vegetação e poços profundos | 0,050 | 0,070 | 0,080 |
| Muita vegetação, arbustos densos | 0,075 | 0,100 | 0,150 |
| Rios de montanha, seixos | 0,030 | 0,050 | 0,070 |
| Rios de montanha, matacões | 0,040 | 0,070 | 0,100 |
| Planície de inundação, pastagem | 0,025 | 0,035 | 0,050 |
| Planície de inundação, mata densa | 0,100 | 0,120 | 0,160 |
Implementação em Python
def calculate_hydraulics(reach, geo_method):
q_s = reach.get('q', 0) # Vazão em m³/s
n = reach.get('nm', 0.03)
s = reach.get('s', 0.0001)
bb = reach.get('BB', 1.0)
ss1 = reach.get('SS1', 0.0)
ss2 = reach.get('SS2', 0.0)
ss_avg = (ss1 + ss2) / 2.0
# Iteração de Newton-Raphson para a profundidade y
y = 0.5 # estimativa inicial (metros)
for _ in range(30):
area = bb * y + ss_avg * (y ** 2)
perim = bb + y * (sqrt(1 + ss1**2) + sqrt(1 + ss2**2))
radius = area / perim
f = (1/n) * area * radius**(2/3) * s**0.5 - q_s
top_width = bb + (ss1 + ss2) * y
df_dy = (1/n) * s**0.5 * (
(5/3) * top_width * radius**(2/3) -
(2/3) * radius**(5/3) * (sqrt(1+ss1**2) + sqrt(1+ss2**2))
)
dy = f / df_dy
y = y - dy
if abs(dy) < 1e-7:
break