Propagação de vazões e balanço de massa nos trechos de rio do QUAL2K

Como descrito na documentação técnica do QUAL2K da EPA, o modelo divide o rio em trechos discretos (elementos de cálculo) e avança para jusante a partir do contorno de cabeceira. Em cada trecho, ele faz um balanço de massa conservativo para misturar a vazão de montante com as fontes pontuais e as fontes difusas antes de aplicar as reações cinéticas.

Algoritmo de propagação de vazões para jusante

A simulação avança em sequência da cabeceira (trecho 0) até o final do rio (trecho n). Em cada trecho ii, três passos são executados nesta ordem:

Passo 1: balanço de massa por mistura conservativa

A massa que entra no trecho ii vinda de todas as fontes a montante é somada e dividida pela vazão total, resultando nas concentrações da mistura:

Cmix,k=Qup⋅Cup,k+∑Qps⋅Cps,k+∑Qds⋅Cds,kQtotalC_{mix,k} = \frac{Q_{up} \cdot C_{up,k} + \sum Q_{ps} \cdot C_{ps,k} + \sum Q_{ds} \cdot C_{ds,k}}{Q_{total}}

em que:

  • QupQ_{up}: vazão de montante, vinda do trecho i−1i-1
  • Cup,kC_{up,k}: concentração de montante do constituinte kk
  • Qps,CpsQ_{ps}, C_{ps}: vazão e concentração da fonte pontual
  • Qds,CdsQ_{ds}, C_{ds}: vazão e concentração da fonte difusa
  • Qtotal=Qup+ΣQps+ΣQds−ΣQabsQ_{total} = Q_{up} + \Sigma Q_{ps} + \Sigma Q_{ds} - \Sigma Q_{abs}

Entrada das fontes pontuais

As fontes pontuais representam lançamentos localizados, como o efluente de uma estação de tratamento de esgoto (ETE), a vazão de um tributário ou lançamentos industriais. Cada fonte pontual tem uma localização xpsx_{ps} (km) ao longo do rio e é atribuída ao trecho em que se encontra:

xdn,i−1<xps≤xdn,ix_{dn,i-1} < x_{ps} \leq x_{dn,i}

Distribuição das fontes difusas

As fontes difusas (não pontuais) se distribuem ao longo de um intervalo de quilômetros do rio. A contribuição para cada trecho é proporcional ao comprimento de sobreposição entre o intervalo da fonte difusa e o trecho:

Qds,i=Qds⋅LoverlapLdsQ_{ds,i} = Q_{ds} \cdot \frac{L_{overlap}}{L_{ds}}

em que Loverlap=min⁡(xds,max,xr,max)−max⁡(xds,min,xr,min)L_{overlap} = \min(x_{ds,max}, x_{r,max}) - \max(x_{ds,min}, x_{r,min}) eLdsL_{ds} é o comprimento total da fonte difusa.

Passo 2: reações cinéticas

Depois da mistura, as reações cinéticas de primeira ordem são aplicadas ao longo do tempo de percurso Δt\Delta t do trecho. Veja as páginas Decaimento da DBO e Ciclo do nitrogênio para as equações cinéticas detalhadas.

Passo 3: balanço de oxigênio dissolvido

A concentração final de OD é calculada pelo balanço entre as fontes (reaeração, fotossíntese) e os sumidouros (oxidação da DBO, nitrificação, demanda de oxigênio do sedimento ou SOD). Veja a página Balanço de OD.

Tempo de percurso e discretização espacial

O tempo de percurso em cada trecho determina por quanto tempo as reações cinéticas atuam sobre a água:

Δt=Ac⋅LQ⋅86400(dias)\Delta t = \frac{A_c \cdot L}{Q \cdot 86400} \quad \text{(dias)}

Trechos mais longos têm tempos de percurso maiores e mais decaimento cinético. A escolha da discretização em trechos afeta a resolução espacial dos resultados do modelo, mas não altera o balanço de massa total (que é conservativo).

Implementação em Python

pythonsimulation.py: laço de avanço para jusante
for i in range(1, nr + 1):
    reach = reaches[i]
    q_up = reaches[i - 1].get('q', 0)

    # Passo 1: mistura conservativa
    mass_in = [c * q_up for c in conc[i - 1]]
    q_total = q_up

    for ps in point_sources:
        if _in_reach(ps['xptt'], x_up, x_dn):
            q_ps = ps['Qptt']
            for k in range(num_vars):
                mass_in[k] += q_ps * ps['cpttMean'][k]
            q_total += q_ps

    c_mix = [m / q_total for m in mass_in]

    # Passo 2: cinética
    c_kin = apply_kinetics(c_mix, rates, reach, temp, trav_time)

    # Passo 3: balanço de OD
    c_kin[2] = calculate_do_balance(c_kin[2], ...)

Modele o rio inteiro no motor de previsão

Importe sua planilha QUAL2Kw ou abra o projeto de exemplo. Os resultados reproduzem 15 modelos QUAL2Kw calibrados dentro de 5% ou de uma pequena faixa absoluta.

Ver o motor de previsão