# Equação de convecção-difusão

A equação de convecção-difusão é uma equação parabólica em derivadas parciais, a qual descreve o fenômeno físico onde partículas ou energia (ou outras grandezas físicas) são transferidas dentro de um sistema devido a dois processos: difusão e convecção. Nesta forma mais simples (quando o coeficiente de difusão e a velocidade de convecção são constantes e não há fontes ou fugas) a equação toma a forma:
    ${\big .}{\frac {\partial c}{\partial t}}=D\,\nabla ^{2}c-{\vec {v}}\cdot \nabla c.$
Os dois termos no lado direito representam processos físicos diferentes: o primeiro corresponde a difusão normal enquanto o segundo descreve convecção ou advecção – o qual é o motivo pelo qual a equação é também conhecida como a equação de advecção-difusão. Além disso c é a variável de interesse, a constante D é o coeficiente de difusão, e ${\vec {v}}$ é a velocidade.

## Equação de convecção-difusão com coeficientes constantes

Quando $\mathbf {v} \in \mathbb {R} ^{n}$ é constante, podemos encontrar uma solução clássica para a equação do transporte. Uma forma de obtermos uma tal solução é impondo uma condição inicial.

### Problema de valor inicial

Consideremos, primeiro, o caso homogêneo, isto é, $f\equiv 0$. Definindo uma condição inicial para $\Phi$ temos o seguinte problema de valor inicial:
${\frac {\partial }{\partial t}}\Phi +\mathbf {v} \cdot \nabla \Phi =0$
$\Phi (x,0)=g$
onde, $\Phi =\Phi (x,t)$ com $x\in \mathbb {R} ^{n}$ e $t\in [0,~\infty )$. Além disso, assumimos que $g\in C^{1}(\mathbb {R} ^{n},\mathbb {R} )$, i.e. $g$ é uma vez continuamente diferenciável.
Com isso, podemos mostrar que a solução deste problema é:
$\Phi (x,t)=g(x-t\mathbf {v} ),~{\text{para todo }}(x,t)\in \mathbb {R} ^{n}\times [0,~\infty )$.
Com feito, esta solução satisfaz a condição inicial e, além disso, substituindo $\Phi$ na equação do transporte homogênea vemos que:
${\frac {\partial }{\partial t}}\Phi +\mathbf {v} \cdot \nabla \Phi =-\mathbf {v} \cdot \nabla g(x-t\mathbf {v} )+\mathbf {v} \cdot \nabla g(x-t\mathbf {v} )=0$.
Ou seja, $\Phi$ definida acima é de fato solução do problema.

#### Caso não-homogêneo

Aqui, encontramos uma solução clássica para o seguinte problema de valor inicial:
${\frac {\partial }{\partial t}}\Phi +\mathbf {v} \cdot \nabla \Phi =f$
$\Phi (x,0)=g$
onde, $\Phi$ e $g$ estão definidas como acima e $f\in C^{0}(\mathbb {R} ^{n}\times (0,\infty ),~\mathbb {R} )$.
Para buscarmos uma solução para este problema, definimos:
$z(s)=\Phi (x+s\mathbf {v} ,~t+s)$
o que nos dá:
${\frac {d}{ds}}z(s)=f(x+s\mathbf {v} ,~t+s)$.
Logo:
$\int _{0}^{t}f(x+(s-t)\mathbf {v} ,~s)~ds=\int _{-t}^{0}f(x+s\mathbf {v} ,~t+s)~ds=z(0)-z(-t)=\Phi (x,t)-g(x-t\mathbf {v} )$.
Portanto:
$\Phi (x,t)=g(x-t\mathbf {v} )+\int _{0}^{t}f(x+(s-t)\mathbf {v} ,~s)~ds,~{\text{para todo }}(x,t)\in \mathbb {R} ^{n}\times [0,~\infty )$
é solução clássica do problema dado.

## Derivação

A equação de convecção-difusão pode ser derivada em uma forma simplificada da equação de continuidade, a qual estabelece que a taxa de alteração para uma grandeza escalar em um volume de controle diferencial é dado por fluxo e difusão dentro e fora da parte do sistema, juntamente com toda a geração ou o consumo dentro do volume de controle:
    ${\frac {\partial c}{\partial t}}+\nabla \cdot {\vec {j}}=s,$
onde ${\vec {j}}$ é o fluxo total e s é uma fonte volumétrica líquida (resultado de balanço) para c. Na ausência de fluxo físico, este fluxo pode ser descrito através da fenomenológica primeira lei de Fick, a qual assume que o fluxo de material em difusão em qualquer parte do sistema é proporcional ao gradiente local. Quando há convecção ou fluxo, o fluxo total é dado pela soma do fluxo difusivo e que é conhecido como o fluxo convectivo ${\vec {v}}\,c$.
Combinando-se estes dois termos o fluxo total torna-se:
    ${\vec {j}}=-D\,\nabla c+{\vec {v}}c.$
A substituição desta equação na equação de continuidade dá a forma geral da equação de convecção–difusão:
    ${\frac {\partial c}{\partial t}}+\nabla \cdot \left({\vec {-D\,\nabla c+{\vec {v}}\,c}}\right)=s.$