Escolar Documentos
Profissional Documentos
Cultura Documentos
APÊNDICE 1
NOTAÇÃO
Seja Φ( r ) uma função escalar de ponto, isto é, uma função que associa a um
ponto do espaço um escalar. Exemplo, a temperatura do ar (escalar), que varia de
ponto para ponto do espaço (vector de posição r , a densidade de um maciço rochoso.
Supondo que Φ( r ) é diferenciável em todo o espaço e que o o sistema de
coordenadas é cartesiano e ortonormado, define-se gradiente de Φ( r ) como um
vector
∂Φ ∂Φ ∂Φ
i +j +k .
∂x ∂x ∂x
Seja agora F ( x , y , z ) uma função vector de ponto, isto é, uma função que
associa a cada ponto do espaço um vector F . Exemplo o vector aceleração da
gravidade para um ponto ( x , y , z ) num sistema de coordenadas cuja origem coincida
com o centro da Terra, velocidade da água num aquífero, etc….Supondo que
F ( x , y , z ) é diferenciável em todo o espaço e que o sistema de eixos é cartesiano e
ortonormado, define-se divergência de F ( x , y , z ) como sendo o escalar
∂ ∂ ∂
∇= i + j+ k
∂x ∂y ∂z
Assim,
div gradΦ ( r ) = ∇.∇ = ∇ 2 que por vezes se representa por ∆ (Laplaciano) .
PROTECÇÃO E CONTAMINAÇÃO DE AQUÍFEROS - APÊNDICES 3
Resumindo:
∂ $∂ $∂
∇ = i$ +j +k operador nabla
∂x ∂y ∂z
Gradiente:
sendo φ uma função escalar de ponto diferenciável,
∂φ $ ∂φ $ ∂φ
grad(φ ) = ∇φ = $i +j +k
∂x ∂y ∂z
isto é, o operador gradiente é um vector criado a partir de uma função escalar de ponto.
Divergência:
divF = ∇. F , sendo F vector de ponto diferenciável.
∂F ∂Fy ∂Fz
div F ( x , y , z ) = ∇. F ( x , y , z ) = x + + , isto é o operador div obtém um
∂x ∂y ∂z
escalar de uma função de ponto vectorial.
Rotacional:
sendo F uma função vector de ponto diferenciável, rotF = ∇ ∧ F
Laplaciano:
∂2 ∂2 ∂2
∆ = ∇ = (∇. ∇) = 2 + 2 + 2 operador ∆ (delta) ou operador de Lapalace ou
2
∂x ∂y ∂y
Laplaciano
Se φ é uma função de ponto,
∂φ $ ∂φ $ ∂φ
grad(φ ) = ∇φ = $i +j +k , logo
∂x ∂y ∂z
∂ 2φ ∂ 2φ ∂ 2φ
div grad(φ ) = ∇. grad (φ ) = 2 + 2 + 2 ou
∂x ∂y ∂z
div gradΦ (r ) = ∇.∇Φ (r ) = ∇ 2 Φ (r ) que por vezes se representa por ∆ (Laplaciano)
PROTECÇÃO E CONTAMINAÇÃO DE AQUÍFEROS - APÊNDICES 4
T
α - difusividade do aquífero α = , [L2T-1]
S
ζ - coeficiente de viscosidade volúmica [ML-1T-1]
ρ - massa por unidade de volume [ML-3]
ω - porosidade, adimensional
ω c - porosidade cinética, adimensional
ω d - porosidade de drenagem, adimensional
p - pressão [ML-1T-2]
h - carga piezométrica [L]
Q - caudal [L3T-1]
q A - fluxo por unidade de área [LT-1] - caudal por unidade de
área [L3T-1]/[L]2=[LT-1]
qV - fluxo por unidade de volume [T-1] - caudal por unidade de
volume [L3T-1]/L3=[T-1]
q - fluxo por unidade de área ou de volume, conforme o contexto
SS - coeficiente de armazenamento específico [L-1]
S - coeficiente de armazenamento dos aquíferos confinados ou dos aquíferos
livres, adimensional
u - campo de velocidades do fluido cujas componentes em um espaço
cartesiano
são u x , u y , u z [LT-1]
U - campo das velocidades de filtração ( U = u.ω c ), [LT-1]
T - transmissividade do aquífero [L2T-1]
K - condutividade hidráulica do meio poroso [LT-1]
k
k - permeabilidade intrínseca, [ML2T-1] (nota: K = )
µ
µ - viscosidade dinâmica [ML T ]-1 -1
µ
ν = - viscosidade cinemática, [L2T-1]
ρ
F - o fluxo de massa por unidade de área por unidade de tempo [ML-2T-1]
D - coeficiente de difusão molecular, área por unidade de tempo [L2T-1]
D * - coeficiente de difusão efectivo, área por unidade de tempo [L2T-1]
C - concentração do soluto, massa por volume [ML-3]
K d - coeficiente de distribuição, adimensional
PROTECÇÃO E CONTAMINAÇÃO DE AQUÍFEROS - APÊNDICES 5
APÊNDICE 2
CÁLCULO TENSORIAL
PROTECÇÃO E CONTAMINAÇÃO DE AQUÍFEROS - APÊNDICES 6
Para o leitor menos familiarizado com o cálculo tensorial foi criado este
Apêndice, onde se resumem apontamentos tirados das aulas do saudoso Prof. Mário
Silva, que na “primavera marcelista “ pôde regressar a Portugal e leccionar em regime
livre, fora da Universidade de Coimbra, aulas da cadeira de Física Complementar, que
anteriormente leccionara naquela Universidade, até ser expulso e compelido ao exílio
por Oliveira Salazar. Na época em que frequentei essas aulas vivia-se em Coimbra
um ambiente de liberdade que um regime bafiento já não conseguia abafar. Era então
muito jovem, mas guardo boa memória do Prof. Mário Silva, que, bastante doente, de
forma brilhante, despretensiosa e quase fraternal, me deixou uma imagem indelével
que ainda hoje recordo com emoção. O grupo de alunos que seguiam interessados as
suas aulas devolveram-lhe, embora tardiamente, alguma alegria que o forçado exílio
lhe tirara. Erros ou imprecisões no que se segue devem ser atribuídos a lapso meu e
nunca a erros do Prof. Mário Silva.
r r
se em vez de r pretendermos representar um vector v , então analogamente teremos
v1
r
v = v 2 = V
v 3
1
A convenção de Einstein permite suprimir o sinal de somatório sempre que ele se efectue segundo um
índice que apareça repetido na indicação simbólica. Por exemplo v k = a ik bi representa
v k = ∑ aik bi representa v k = ∑ aik bi porque k aparece repetido, enquanto o sinal de
k
somatório em bk = ∑ a ik não pode desaparecer, visto o índice i não aparecer repetido. Por exemplo
i
n
∑A
k =1
ik Bk = ci pode ser substituído por Aik Bk = ci visto k aparecer repetido. Os índices ligados à
geração de somatórios dizem-se mudos, sendo indiferente a letra que se usa para designá-los, já que são
cancelados no acto de fazer o somatório. Os outros índices dizem-se livres.
PROTECÇÃO E CONTAMINAÇÃO DE AQUÍFEROS - APÊNDICES 7
'
x 3 = x1e$1e$3 + x 2 e$2 e$3 + x 3 e$3 e$3 = α 1 3 x1 + α 2 3 x 2 + α 3 3 x 3
' ' '
α 11 α 12 α 13 x1 α 11 x1 + α 12 x 2 + α 13 x 3
α 21 α 22 α 23 x 2 = α 21 x1 + α 22 x 2 + α 23 x 3
α 31 α 32 α 33 x 3 α 31 x1 + α 32 x 2 + α 33 x 3
Aplicação
Resolução:
Valor do determinante de A , A = − 19
Complementos algébricos:
1ª linha
4 1 2 1 2 4
=2 − =1 = −8
2 1 3 1 3 2
2ª linha
1 3 2 3 2 1
− =5 = −7 − = −1
2 1 3 1 3 2
3ª linha
1 3 2 3 2 1
= −11 − =4 =6
4 1 2 1 2 4
Complementos ortogonais:
2 1 8
1ª linha − −
19 19 19
5 7 1
2ª linha − −
19 19 19
PROTECÇÃO E CONTAMINAÇÃO DE AQUÍFEROS - APÊNDICES 10
11 4 6
3ª linha − −
19 19 19
transpondo:
2 5 11
− 19 − 19 19
1 7 4
[ A ] = − 19 19 − 19
−1
8 1 6
−
19 19 19
Matriz característica
[ ]
A matriz característica da matriz quadrada A é a matriz A - xI , isto é, a
matriz que se obtém de A subtraindo x aos elementos da diagonal principal.
Valores próprios ou valores característicos da matriz são as raízes da equação
A - xI = 0
Tensores de ordem 2
r r
Consideremos dois vectores u e v cuja representação matricial seja:
u1 v1
r r
u = U = u 2 v = V = v 2 ; com estes dois vectores podemos efectuar
u 3 v 3
um produto, o produto tensorial.
v 1
[u 1 u2 ] ~
u 3 v 2 = U V
v 3
u 1 v 2 u 1 v 3
u 1 v1 v2 v3 u 1 v 1
~
U V = u 2 = u 2 v1 u2 v2 u2 v3
u 3 u v
3 1 u 3 v 2 u 3 v 3
que é um tensor de 2ª ordem visto se poder representar na forma u i v j com dois
índices livres e daí a designação de 2ªordem.
A matriz t i j será:
t 1 1 t 1 2 t 1 3
t 2 1 t 2 2 t 2 3 = T
t 3 1 t 3 2 t 3 3
Operação Contracção
u ′k = α ik u i
v ′l = α j l v j
PROTECÇÃO E CONTAMINAÇÃO DE AQUÍFEROS - APÊNDICES 12
ou seja u ′k v ′l = α i k α j l u i v j = t ′k l
e portanto:
∂v j
Se derivarmos vamos ter para componente genérica = t i j , relação esta que
∂ xi
r
define as componentes genéricas de um tensor T = grad ( v) . Definem-se assim
quantidades que definem uma matriz:
∂ v1 ∂ v 2 ∂ v 3
∂ x1 ∂ x1 ∂ x1
∂ v1 ∂ v 2 ∂ v 3
=T
∂ x2 ∂ x 2 ∂ x 2
∂ v1 ∂ v 2 ∂ v 3
∂ x3 ∂ x 3 ∂ x 3
Este mesmo tensor podia ser obtido por multiplicação tensorial do operador
r
simbólico ∇ em forma de matriz pelo vector v depois de transposto, ou seja:
PROTECÇÃO E CONTAMINAÇÃO DE AQUÍFEROS - APÊNDICES 13
∂
∂ x1 v 1
∂ r r
∇= V = v 2 T = ∇ ⊗ v = grad(v) ou, matricialmente,
∂ x2 v 3
∂
∂ x3
~
T=∇V
r
Fazendo uma contracção o produto tensorial ⊗ vai passar a div.v ; com efeito
∂ vj ∂v ∂ v1 ∂ v 2 ∂ v 3 r
ti j = , fazendo j = i vem: t i i = i = + + = div v . Passamos
∂ xi ∂ x i ∂ x1 ∂ x 2 ∂ x 3
pois de um tensor de ordem dois para um tensor de ordem zero por uma contracção. A
ordem de um tensor baixa sempre de dois graus por uma contracção (melhor dizendo,
de duas unidades).
r
Exercício: para grad ( v) ser um tensor de 2ª ordem tem de obedecer à relação
t ′k l = α i k α j l t i j . Demonstrar.
' ∂φ
v1 = '
∂x1
' ∂φ ∂φ
v 2 = ' de um modo genérico ' = v j
'
∂x 2 ∂x j
' ∂φ
v 3 = '
∂x 3
PROTECÇÃO E CONTAMINAÇÃO DE AQUÍFEROS - APÊNDICES 14
Mas sabemos que a derivada de uma função mudando variáveis duma maneira
genérica em relação à variável xi de S e x 'j de S ′ é:
∂φ ∂φ ∂xi
=
∂x 'j ∂xi ∂x 'j
Qual o significado desta derivada? Sabemos que xi = α i j x 'j , logo,
calculando-a:
∂φ ∂φ
' = αi j
∂x j ∂xi
relação esta que nos mostra que v j ou vi é a componente genérica de um
tensor de ordem 1; podemos generalizar este conceito. Pode-se provar que por
derivação passamos de um tensor de ordem um para um tensor de ordem dois.
PROTECÇÃO E CONTAMINAÇÃO DE AQUÍFEROS - APÊNDICES 15
APÊNDICE 3
PROGRAMAS
CONF.M, LIVRE.M, LICONF.M,
THEIS.M, TRANSIT.M, DIFIN.M
PROTECÇÃO E CONTAMINAÇÃO DE AQUÍFEROS - APÊNDICES 16
mesh(hc), title('Confinado');pause;
mesh(hl), title('Livre');pause;
plot(hl(nx/2,:)), title ('Livre, corte pela captação');
PROTECÇÃO E CONTAMINAÇÃO DE AQUÍFEROS - APÊNDICES 18
programa liconf.m
(Dupuit - livre e confinado - regime permanente)
%Comparação do rebaixamento para aquífero livre e confinado
H=20;
k=0.00001;
dh=-15;
R=500;
cx=1000; cy=1000; rc=5;
Q=((H+dh)^2-H^2)*pi*k/log(rc/R);
T=k*H;
lx=2000; ly=2000;
nx=40; ny=40;
px=lx/nx; py=ly/ny;
hl=zeros(nx,ny); hc=hl;
for i=1:nx;
for j=1:ny;
x=px*i; y=py*j;
r=sqrt((x-cx)^2+(y-cy)^2);
if r<rc; r=rc; end;
if r>R; r=R; end;
hl(i,j)=sqrt(H*H+Q/pi/k*log(r/R));
hc(i,j)=H+Q/(2*pi*T)*log(r/R);
end;
end;
mesh(hl), title('Livre');pause;
mesh(hc), title('Confinado');pause;
plot(hl(nx/2,:),'r'), title('Livre');pause;
plot(hc(nx/2,:)), title('confinado');hold on;pause;
plot(hl(nx/2,:),'r'), title('Livre+Confinado'); hold off;
PROTECÇÃO E CONTAMINAÇÃO DE AQUÍFEROS - APÊNDICES 19
programa rebaixa.m
(princípio da sobreposição - regime permanente)
A seguinte listagem tem o código MATLAB para resolver, usando o princípio
da sobreposição, um problema com n captações que devem ser definidas
num ficheiro ascii, de acordo com os comentários da listagem.
clear;
% Aquífero confinado; regime permanente
% Dados (x,y,q, raio de influência) das captações obtém, para a
grelha xy
% os rebaixamentos
% Arbitrado
cadeia=sprintf('reba1 = uma captação ');
disp(cadeia);
cadeia=sprintf('reba2 = duas captações ');
disp(cadeia);
cadeia=sprintf('reba3 = uma fronteira H linear ');
disp(cadeia);
cadeia=sprintf('reba4 = uma fronteira linear impermeável ');
disp(cadeia);
cadeia=sprintf('reba5 = uma linha de poços ');
disp(cadeia);
cadeia=sprintf('reba6 = quatro captações ');
disp(cadeia);
xpto=size(dados); xpto=xpto(1,1);
n=xpto; % n número de captações
T=0.0001; % Transmissividade
x=zeros(n,1);
y=x; q=x; R_inf=x;% x,y, q=caudal, raio de influencia
for i=1:n,
i
x(i)=dados(i,1);
y(i)=dados(i,2);
q(i)=dados(i,3);
R_inf(i)=dados(i,4);
end;
% Terminou input
for i=1:nx,
for j=1:ny,
xg=i*dx; yg=j*dy;
PROTECÇÃO E CONTAMINAÇÃO DE AQUÍFEROS - APÊNDICES 20
for k=1:n,
R=R_inf(k);
r=sqrt((x(k)-xg)^2+(y(k)-yg)^2);
if r<R,
xy(i,j)=xy(i,j)+q(k)/6.28/T*log(r/R);
end;
end;
end;
end;
mesh(xx,yy,xy); pause;
for k=1:n,
i=round(x(k)/dx);
titulo=sprintf('Corte na captação %d',k);
plot(yy,xy(i,:)),title(titulo), pause;
end;
if n>1
titulo=sprintf('Rebaixamentos das %d captações ',n);
else
titulo=sprintf('Rebaixamentos da captação ');
end;
quiver(xx,yy,vx,vy), title('Velocidades');
PROTECÇÃO E CONTAMINAÇÃO DE AQUÍFEROS - APÊNDICES 21
clear;
% Regime transitório. Aquífero infinito.
% Mostra evolução do cone de depressão ao longo do tempo para
% uma captação que está a bombear de um aquífero 2D infinito.
% Pg IV-16 dos apontamentos
cadeia=sprintf(' ');
for i=1:40, disp(cadeia);end;
cadeia=sprintf('Aquífero infinito confinado ');
disp(cadeia);
while grafico<2.5
while t<24*3600*dias;
for i=1:n;
for j=1:n;
x=i*dx; y=j*dy;
r=sqrt((x-cx)*(x-cx)+(y-cy)*(y-cy));
u=4*T*t/(r*r*S);
if u<0 , u, pause, end;
if u>100 aux=Q/4/pi/T*log(2.25*T*t/S/r/r);
else aux=Q/4/pi/T*expint(1/u); % aproximação de Jacob
end;
h(i,j)=aux;
end;
end;
PROTECÇÃO E CONTAMINAÇÃO DE AQUÍFEROS - APÊNDICES 23
end; %do if
if grafico==1 mesh(xx,yy,-sign(Q)*abs(h)), title(cadeia); pause;
end;
if grafico==2 ww=contour(xx,yy,-sign(Q)*abs(h),v);
title(cadeia);clabel(ww); pause; end;
% usa-se abs em mesh e contour para contornar os erros de expint
t=t*10;
end; %(do while t)
grafico=grafico+1;
t=tinicio;
end; %(do while grafico)
PROTECÇÃO E CONTAMINAÇÃO DE AQUÍFEROS - APÊNDICES 24
clear;
% Problema da ilha, regime permanente
M=1e20; % Transmissividade grande da água que rodeia a ilha
Ty=[ M M M M M M M M M M M
M 1 1 1 1 1 1 1 1 1 M
M 1 1 1 1 1 1 1 1 1 M
M 1 1 1 1 1 1 1 1 1 M
M 1 1 1 1 1 1 1 1 1 M
M 1 1 1 1 1 1 1 1 1 M
M 1 1 1 1 1 1 1 1 1 M
M 1 1 1 1 1 1 1 1 1 M
M 1 1 1 1 1 1 1 1 1 M
M 1 1 1 1 1 1 1 1 1 M
M M M M M M M M M M M];
H_f= [ 1 1 1 1 1 1 1 1 1 1 1
1 nv nv nv nv nv nv nv nv nv 1
1 nv nv nv nv nv nv nv nv nv 1
1 nv nv nv nv nv nv nv nv nv 1
1 nv nv nv nv nv nv nv nv nv 1
1 nv nv nv nv 0 nv nv nv nv 1
1 nv nv nv nv nv nv nv nv nv 1
1 nv 0.3 nv nv nv nv nv nv nv 1
1 nv nv nv nv nv nv nv nv nv 1
1 nv nv nv nv nv nv nv nv nv 1
1 1 1 1 1 1 1 1 1 1 1];
PROTECÇÃO E CONTAMINAÇÃO DE AQUÍFEROS - APÊNDICES 25
Q_f= [ nv nv nv nv nv nv nv nv nv nv nv
nv nv nv nv nv nv nv nv nv nv nv
nv nv nv nv nv nv nv nv nv nv nv
nv nv nv nv nv nv nv nv nv nv nv
nv nv nv nv nv nv nv nv nv nv nv
nv nv nv nv nv nv nv nv nv nv nv
nv nv nv nv nv nv nv nv nv nv nv
nv nv nv nv nv nv nv nv nv nv nv
nv nv nv nv nv nv nv nv nv nv nv
nv nv nv nv nv nv nv nv nv nv nv
nv nv nv nv nv nv nv nv nv nv nv ];
xpto=size(Tx);
n_linhas=xpto(1,1);
n_colunas=xpto(1,2);
mensagem
clear;
break;
end;
end;
%Fronteira oeste
mensagem=sprintf('Paro por condições de fronteira oeste errada');
j=1;
for i=1:n_linhas;
if H_f(i,j)==nv&Q_f(i,j)==nv
mensagem
clear;
break;
end;
end;
%Fronteira este
mensagem=sprintf('Paro por condições de fronteira este errada');
j=n_colunas;
for i=1:n_linhas;
if H_f(i,j)==nv&Q_f(i,j)==nv
mensagem
clear;
break;
end;
end;
for i=2:n_linhas-1;
for j=2:n_colunas-1;
% A transmissividade é a média harmónica (pg 355 idem)
Tnc=2*Ty(i,j)*Ty(i-1,j) / (Ty(i,j)+Ty(i-1,j));
Tsc=2*Ty(i,j)*Ty(i+1,j) / (Ty(i,j)+Ty(i+1,j));
Tec=2*Tx(i,j)*Tx(i,j+1) / (Tx(i,j)+Tx(i,j+1));
Twc=2*Tx(i,j)*Tx(i,j-1) / (Tx(i,j)+Tx(i,j-1));
% Tnc, Tsc, Tec, Twc, pause;
% O primeiro indice refere-se ao número de ordem da equação, n_equa
PROTECÇÃO E CONTAMINAÇÃO DE AQUÍFEROS - APÊNDICES 27
linha_zeros=zeros(1,n_linhas*n_colunas);
for i=1:n_linhas;
for j=1:n_colunas;
bd=0;
n_equa=(i-1)*n_colunas+j;
if H_f(i,j)~=nv;
S(n_equa,:)=linha_zeros;
S(n_equa, n_equa)=1;
Q(n_equa)=H_f(i,j);
bd=1;
end; % do if
if Q_f(i,j)~=nv;
if bd==1; %Há asneira, visto haver duas condiçoes fronteira H e Q
mensagem=sprintf('Há asneira, visto haver duas condiçoes fronteira H e
Q em i=%g j=%g',i,j);
mensagem
i, j,
pause;
%clear;
break;
end; %if bd==1
Q(n_equa)=Q_f(i,j);
end; % do if Q_f(i,j)
% mensagem=sprintf('n. ordem=%g, i=%g , j=%g', n_equa, i, j);
% disp(mensagem);
% S(n_equa,:), pause;
end; %for j
end; %for i
R=inv(S)*Q;
% H_S é a matriz solução
H_S=H_f;
for i=1:n_linhas;
for j=1:n_colunas;
H_S(i,j)=R((i-1)*n_colunas+j);
end;
end;
mensagem=sprintf('Return para continuar');
PROTECÇÃO E CONTAMINAÇÃO DE AQUÍFEROS - APÊNDICES 28
H_S, disp(mensagem),pause;
mesh(H_S);
figure(1);pause;
xpto=contour(H_S); clabel(xpto), pause;
[PX,PY]=gradient(H_S);
quiver(-PX,-PY);
H_S =
1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000
1.0000 0.9920 0.9767 0.9632 0.9534 0.9500 0.9555 0.9665 0.9797 0.9932 1.0000
1.0000 0.9754 0.9281 0.8861 0.8538 0.8411 0.8609 0.8975 0.9387 0.9797 1.0000
1.0000 0.9571 0.8743 0.7992 0.7345 0.6999 0.7494 0.8238 0.8978 0.9667 1.0000
1.0000 0.9357 0.8127 0.7022 0.5849 0.4745 0.6132 0.7506 0.8620 0.9559 1.0000
1.0000 0.9086 0.7386 0.6118 0.4286 0 0.4781 0.7036 0.8436 0.9509 1.0000
1.0000 0.8687 0.6213 0.5779 0.5176 0.4398 0.5956 0.7419 0.8580 0.9548 1.0000
1.0000 0.8137 0.3000 0.5608 0.6241 0.6460 0.7226 0.8106 0.8917 0.9649 1.0000
1.0000 0.8998 0.7154 0.7414 0.7719 0.7975 0.8383 0.8861 0.9334 0.9782 1.0000
1.0000 0.9701 0.9206 0.9173 0.9246 0.9338 0.9468 0.9621 0.9776 0.9926 1.0000
1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000
Cujo gráfico 3D é:
Nível piezométrico
0.8
0.6
0.4
0.2
0
15
10 15
10
5
5
0 0
Caudais, erro=-3.5e-017
-3
x 10
-5
-10
-15
-20
15
10 15
10
5
5
0 0
Isopiezométricas
11
10
9
0.5
0.4
8
0.8
7 0.5
0.4
0.1
6 0.3 0.2
0.6
5
0.9
0.7
4
1
1 2 3 4 5 6 7 8 9 10
Velocidades
11
10
1
0 2 4 6 8 10 12
PROTECÇÃO E CONTAMINAÇÃO DE AQUÍFEROS - APÊNDICES 31
APÊNDICE 4
PROGRAMA PLUMA.M
PROTECÇÃO E CONTAMINAÇÃO DE AQUÍFEROS - APÊNDICES 32
A equação que rege o processo de dispersão/difusão, sem transporte, é dada pela lei
de Fick, na forma
∂C
div D grad C = ω c
∂x
nivel piezometrico
0.8
0.6
0.4
0.2
0
10
10
8
5 6
4
2
0 0
Matriz de contaminacao
0.8
0.6
0.4
0.2
0
10
10
8
5 6
4
2
0 0
PROTECÇÃO E CONTAMINAÇÃO DE AQUÍFEROS - APÊNDICES 34
2.5
1.5
0.5
0
10
10
8
5 6
4
2
0 0
PROTECÇÃO E CONTAMINAÇÃO DE AQUÍFEROS - APÊNDICES 35
5 0.5
4 2.5
2
3 1 1.5
1
1 2 3 4 5 6 7 8 9
1200
1000
800
600
400
200
0
0 50 100 150 200 250 300
Tempo
PROTECÇÃO E CONTAMINAÇÃO DE AQUÍFEROS - APÊNDICES 36
0
10
10
8
5 6
4
2
0 0
5 0.5
23
43.5
4
1.5
3 2.5
1
1
1 2 3 4 5 6 7 8 9
PROTECÇÃO E CONTAMINAÇÃO DE AQUÍFEROS - APÊNDICES 37
1800
1600
1400
1200
1000
800
600
400
200
0
0 100 200 300 400 500
Tempo
echo off;
clear,
% problema da ilha, regime permanente
m=1e20; % transmissividade grande da água que rodeia a ilha
tx=[ m m m m m m m m m
m 1 1 1 1 1 1 1 m
m 1 1 1 1 1 1 1 m
m 1 1 1 1 1 1 1 m
m 1 1 1 1 1 1 1 m
m 1 1 1 1 1 1 1 m
m 1 1 1 1 1 1 1 m
m 1 1 1 1 1 1 1 m
m m m m m m m m m];
h_f= [ 1 1 1 1 1 1 1 1 1
1 nv nv nv nv nv nv nv 1
1 nv nv nv nv nv nv nv 1
1 nv nv nv nv nv nv nv 1
1 nv nv nv 0 nv nv nv 1
1 nv nv nv nv nv nv nv 1
1 nv nv nv nv nv nv nv 1
1 nv nv nv nv nv nv nv 1
1 1 1 1 1 1 1 1 1];
q_f= [ nv nv nv nv nv nv nv nv nv
nv nv nv nv nv nv nv nv nv
nv nv nv nv nv nv nv nv nv
nv nv nv nv nv nv nv nv nv
nv nv nv nv nv nv nv nv nv
nv nv nv nv nv nv nv nv nv
nv nv nv nv nv nv nv nv nv
nv nv nv nv nv nv nv nv nv
nv nv nv nv nv nv nv nv nv ];
xpto=size(tx);
n_linhas=xpto(1,1);
n_colunas=xpto(1,2);
clear;
break;
end;
end;
%fronteira sul
mensagem=sprintf('paro por condições de fronteira sul errada');
i=n_linhas;
for j=1:n_colunas;
if h_f(i,j)==nv&q_f(i,j)==nv
mensagem
clear;
break;
end;
end;
%fronteira oeste
mensagem=sprintf('paro por condições de fronteira oeste errada');
j=1;
for i=1:n_linhas;
if h_f(i,j)==nv&q_f(i,j)==nv
mensagem
clear;
break;
end;
end;
%fronteira este
mensagem=sprintf('paro por condições de fronteira este errada');
j=n_colunas;
for i=1:n_linhas;
if h_f(i,j)==nv&q_f(i,j)==nv
mensagem
clear;
break;
end;
end;
for i=2:n_linhas-1;
for j=2:n_colunas-1;
% a transmissividade é a média harmónica (pg 355 idem)
tnc=2*ty(i,j)*ty(i-1,j) / (ty(i,j)+ty(i-1,j));
tsc=2*ty(i,j)*ty(i+1,j) / (ty(i,j)+ty(i+1,j));
tec=2*tx(i,j)*tx(i,j+1) / (tx(i,j)+tx(i,j+1));
PROTECÇÃO E CONTAMINAÇÃO DE AQUÍFEROS - APÊNDICES 40
twc=2*tx(i,j)*tx(i,j-1) / (tx(i,j)+tx(i,j-1));
% tnc, tsc, tec, twc, pause;
% o primeiro indice refere-se ao número de ordem da equação, n_equa
% o segundo indice à incógnita
n_equa=(i-1)*n_colunas+j;
s(n_equa, n_equa)= s(n_equa, n_equa)-tnc-tsc-tec-twc; % c
s(n_equa, n_equa-n_colunas) = s(n_equa, n_equa-n_colunas)+tnc; % n
s(n_equa, n_equa+n_colunas) = s(n_equa, n_equa+n_colunas)+tsc; % s
s(n_equa, n_equa+1) = s(n_equa, n_equa+1) + tec; % e
s(n_equa, n_equa-1) = s(n_equa, n_equa-1) + twc; % w
end;
end;
% tornar igual a um os termos s(i,j) correspondentes a condiçoes de Dirichlet:
% construção da matriz coluna dos termos independentes
q=zeros(n_linhas*n_colunas,1);
linha_zeros=zeros(1,n_linhas*n_colunas);
for i=1:n_linhas;
for j=1:n_colunas;
bd=0;
n_equa=(i-1)*n_colunas+j;
if h_f(i,j)~=nv;
s(n_equa,:)=linha_zeros;
s(n_equa, n_equa)=1;
q(n_equa)=h_f(i,j);
bd=1;
end; % do if
if q_f(i,j)~=nv;
if bd==1; %há asneira, visto haver duas condiçoes fronteira h e q
mensagem=sprintf('há asneira, visto haver duas condiçoes fronteira h e q em i=%g
j=%g',i,j);
mensagem
i, j,
pause;
break;
end; %if bd==1
q(n_equa)=q_f(i,j);
end; % do if q_f(i,j)
end; %for j
end; %for i
r_h=inv(s)*q;
% h_s é a matriz solução dos níveis piezométricos
h_s=h_f;
for i=1:n_linhas;
for j=1:n_colunas;
h_s(i,j)=r_h((i-1)*n_colunas+j);
end;
end;
mensagem=sprintf('return para ver superficie piezometrica');
disp(mensagem),pause, h_s;
mesh(h_s), title('nivel piezometrico');
for j=2:n_colunas-1;
% a transmissividade é a média harmónica (pg 355 idem)
tnc=2*ty(i,j)*ty(i-1,j) / (ty(i,j)+ty(i-1,j));
tsc=2*ty(i,j)*ty(i+1,j) / (ty(i,j)+ty(i+1,j));
tec=2*tx(i,j)*tx(i,j+1) / (tx(i,j)+tx(i,j+1));
twc=2*tx(i,j)*tx(i,j-1) / (tx(i,j)+tx(i,j-1));
q_s(i,j) = tnc*(h_s(i,j) - h_s(i-1,j)) + ...
tsc*(h_s(i,j) - h_s(i+1,j)) + ...
tec*(h_s(i,j) - h_s(i,j+1)) + ...
twc*(h_s(i,j) - h_s(i,j-1));
v_x(i,j)=(h_s(i,j-1)-h_s(i,j+1))*tx(i,j)/wc(i,j);
v_y(i,j)=-(h_s(i+1,j)-h_s(i-1,j))*ty(i,j)/wc(i,j);
end;
end;
soma=0;
for i=1:n_linhas; forj=1:n_colunas; soma=soma+q_s(i,j); end; end;
soma
mensagem=sprintf('return para ver superficie dos caudais');
disp(mensagem), q_s, pause;mensagem=sprintf('caudais, erro=%2.2g',soma);
%w figure(2);
mesh(q_s), title(mensagem);pause;
injecta=[1 23.0 36.0 v_celula/100 ]; % 1=injecta, 0=não, (x,y) da célula), quantidade
mat_inj=tx; mat_inj=0*tx;
mat_inj( 1+floor(injecta(1,2)/l_x), 1+floor(injecta(1,3)/l_y) )=1;
%w figure(3);
mensagem=sprintf('Matriz de contaminacao');
mesh(mat_inj), title(mensagem); pause,
PROTECÇÃO E CONTAMINAÇÃO DE AQUÍFEROS - APÊNDICES 42
lista_pic=zeros(1,3);
tempo=0;
s_con=0*tx; conta_part=s_con; ds_con=s_con;
for i_passo=1:n_passos;
xpta=size(lista_pic);
xpta=xpta(1,1);
if bd_inicio==1; bd_inicio=0; xpta=xpta-1; end; %para não introd. zeros na lista
max_x=(n_colunas-1)*l_x;
max_y=(n_linhas-1)*l_y;
if injecta(1,1)==1, %houve injecção de contaminante
x_inj=injecta(1,2); y_inj=injecta(1,3); dq_massa=injecta(1,4)*dt;
% vai ser lançada uma partícula ao acaso dentro da celula
% numa rea com l_x e l_y centrado no ponto de injecção, com dq_massa
x=x_inj+(1-rand)*l_x;
y=y_inj+(1-rand)*l_y;
if x<max_x
if y<max_y %só acrescenta se estiver dentro do domínio
n_lista=1+xpta;
lista_pic(n_lista,1)=x;
lista_pic(n_lista,2)=y;
lista_pic(n_lista,3)=dq_massa;
end;
end;
massa_total=sum(lista_pic(:,3))
lista_massas(i_passo,1)=tempo;
lista_massas(i_passo,2)=massa_total;
mensagem=sprintf('i_passo= %g soma de lista pic apos injeccao: %g ', ...
i_passo,massa_total );
disp(mensagem);
end; %if injecta
dx=v_x(i,j)*dt; dy=v_y(i,j)*dt;
rx=randn; ry=randn;
rx=rx*sqrt(d0*dt); ry=ry*sqrt(d0*dt); %sqrt(2.d0.dt)/sqrt(2)
x=x+dx+rx; y=y+dy+ry;
if bd_caix==0; massa_saida=massa_saida+lista_pic(i_aux,3);
lista_pic(i_aux,3)=nv;
n_sai=n_sai+1; end;
if bd_bomba==1; massa_saida=massa_saida+lista_pic(i_aux,3);
lista_pic(i_aux,3)=nv;
disp('*');
n_sai=n_sai+1; end;
if bd_bomba==0; lista_pic(i_aux,1)=x; lista_pic(i_aux,2)=y; end;
end;
s_con=0*s_con; %s_con é azerado de cad vez visto as partículas irem dar concentracao
for i_aux=1:xpta;
%localização
x=lista_pic(i_aux,1);
y=lista_pic(i_aux,2);
PROTECÇÃO E CONTAMINAÇÃO DE AQUÍFEROS - APÊNDICES 44
save lixo;
v=[0.1,0.2,0.4,0.8,1.6,3.2,6.4,12.8,25.6,51.2,102.4,204.8]
i_fig=1;
mensagem=sprintf('return para ver superficie piezometrica');
disp(mensagem),pause, h_s;
%wfigure(i_fig);
mesh(h_s), title('nivel piezometrico');pause;
%wfigure(1+i_fig);
mensagem=sprintf('Matriz de contaminacao');
mesh(mat_inj), title(mensagem); pause,
%wfigure(2+i_fig);
mensagem=sprintf('Pluma de dispersao para t=%g dt=%g d0=%g', tempo, dt, d0);
mesh(s_con),title(mensagem);pause;
%wfigure(3+i_fig);
xpto=contour(s_con);
contour(s_con,v), clabel(xpto),title(mensagem), hold off, pause;
%wfigure(4+i_fig);
mensagem=sprintf('Massa versus tempo');
plot(lista_massas(:,1), lista_massas(:,2)), title(mensagem), xlabel('Tempo'), pause;
PROTECÇÃO E CONTAMINAÇÃO DE AQUÍFEROS - APÊNDICES 46
echo off;
i_cont=i_passo;
for i_passo=i_cont:n_passos;
xpta=size(lista_pic);
xpta=xpta(1,1);
if bd_inicio==1; bd_inicio=0; xpta=xpta-1; end; %para não introd. zeros na lista
max_x=(n_colunas-1)*l_x;
max_y=(n_linhas-1)*l_y;
if injecta(1,1)==1, %houve injec‡„o de contaminante
x_inj=injecta(1,2); y_inj=injecta(1,3); dq_massa=injecta(1,4)*dt;
% vai ser lan‡ada uma part¡cula ao acaso dentro da celula
% numa rea com l_x e l_y centrado no ponto de injec‡„o, com dq_massa
x=x_inj+(1-rand)*l_x;
y=y_inj+(1-rand)*l_y;
if x<max_x
if y<max_y %só acrescenta se estiver dentro do domínio
n_lista=1+xpta;
lista_pic(n_lista,1)=x;
lista_pic(n_lista,2)=y;
lista_pic(n_lista,3)=dq_massa;
end;
end;
massa_total=sum(lista_pic(:,3))
lista_massas(i_passo,1)=tempo;
lista_massas(i_passo,2)=massa_total;
mensagem=sprintf('i_passo= %g soma de lista pic apos injeccao: %g ', ...
i_passo,massa_total );
disp(mensagem);
end; %if injecta
%error('aqui1');
%um=1, i_passo, lista_pic, i_passo,um, pause;
% a lista de particulas vai ser movimentada por conveccao
% as particulas que saem para fora das fronteiras s„o eliminadas
% idem para as bombadas
tempo=tempo+dt;
xpta=size(lista_pic);
xpta=xpta(1,1);
n_sai=0;
for i_aux=1:xpta;
bd_caix=0;
bd_bomba=0;
x=lista_pic(i_aux,1); y=lista_pic(i_aux,2);
i=floor(y/l_x)+1; % i é o índice da linha
j=floor(x/l_y)+1; % j é o índice da coluna
dx=v_x(i,j)*dt; dy=v_y(i,j)*dt;
rx=randn; ry=randn;
PROTECÇÃO E CONTAMINAÇÃO DE AQUÍFEROS - APÊNDICES 47
if bd_caix==0; massa_saida=massa_saida+lista_pic(i_aux,3);
lista_pic(i_aux,3)=nv;
n_sai=n_sai+1; end;
if bd_bomba==1; massa_saida=massa_saida+lista_pic(i_aux,3);
lista_pic(i_aux,3)=nv;
disp('*');
n_sai=n_sai+1; end;
if bd_bomba==0; lista_pic(i_aux,1)=x; lista_pic(i_aux,2)=y; end;
end;
%error('aqui2');
s_con=0*s_con; %s_con é azerado de cad vez visto as partículas irem dar concentracao
for i_aux=1:xpta;
%localização
x=lista_pic(i_aux,1);
PROTECÇÃO E CONTAMINAÇÃO DE AQUÍFEROS - APÊNDICES 48
y=lista_pic(i_aux,2);
j=floor(y/l_x)+1; % i é o índice da linha
i=floor(x/l_y)+1; % j é o índice da coluna
% tudo se passa como se as pecs se dissolvessem na célula nesta fase
conc=lista_pic(i_aux,3)/(v_celula*wc(i,j));
s_con(i,j)=s_con(i,j)+conc;
end;
tempo,
end; %for i_passo
PROTECÇÃO E CONTAMINAÇÃO DE AQUÍFEROS - APÊNDICES 49
Utilização:
Versão Matlab 4.0 para Windows ou superior. Correr pluma (que resolve o
problema da percolação em regime permanente) e em seguida pluma2 (que resolve o
problema da difusão hidrodinâmica). O programa pluma2 recebe os valores criados
por pluma, podendo a todo o momento ser interrompido com Ctrl C. Após a
interrupção pode-se visualizar os gráficos dos resultados invocando plugraf. Para
continuar invocar plucont, que funciona bem na maioria das vezes. Caso se pretenda,
pode-se alterar, recorrendo a um editor as condições de percolação em pluma.m, e
também o passo de integração dt, o coeficiente de dispersão hidrodinâmica d0 ou
outros parâmetros que aparecem identificados com comentários na listagem, salvar o
novo ficheiro e voltar a correr pluma e pluma2, repetindo-se o modo de operar atrás
indicado.
Não esquecer que em Matlab a localização de ficheiros *.m que não caia nos
directórios de busca pré-definidos se faz, supondo que os programas estão em a:\, após
o pronto do interpretador do Matlab ( » ), com o comando:
» cd a:\
» pluma ↵
»pluma2↵
» ctrl+c
»plugraf
»plucont
» ctrl+c
»plugraf
etc….
PROTECÇÃO E CONTAMINAÇÃO DE AQUÍFEROS - APÊNDICES 50
APÊNDICE 5
ALGUMA LEGISLAÇÃO
PROTECÇÃO E CONTAMINAÇÃO DE AQUÍFEROS - APÊNDICES 51
Estado)
• Decreto Regulamentar riº 23/95 (Aprova o Regulamento Geral dos Sistemas Públicos e
Prediais de Distribuição de Água e de Drenagem de Águas Re
• Portaria n.º 895/94, de 3 de Outubro (Valores limite de descarga nas água solos e os
objectivos de qualidade para certas substâncias ditas "perigosas com vista a eliminar ou
reduzir a poluição que podem provocar nesses
• Código Penal artigos 278 (Danos contra a Natureza), artigo 279º (Poluição), artigo 280º
(Poluição com perigo comum)
PROTECÇÃO E CONTAMINAÇÃO DE AQUÍFEROS - APÊNDICES 54
SUMÁRIO:
TEXTO:
Por outro lado, sabe-se que as condições de drenagem em certas zonas das
bacias hidrográficas as tornam particularmente vulneráveis à poluição azotada,
com consequências nefastas para o meio hídrico superficial e subterrâneo,
exigindo por esse facto a adopção de medidas especiais de protecção.
Foram ouvidos os órgãos de governo próprio das Regiões Autónomas dos Açores e
da Madeira.
Assim:
Nos termos da alínea a) do n. 1 do artigo 201. da Constituição, o Governo
decreta o seguinte:
Artigo 1.
PROTECÇÃO E CONTAMINAÇÃO DE AQUÍFEROS - APÊNDICES 56
Âmbito de aplicação
O presente diploma transpõe para a ordem jurídica interna a Directiva n.
91/676/CEE, do Conselho, de 12 de Dezembro de 1991, relativa à protecção das
águas contra a poluição causada por nitratos de origem agrícola.
Artigo 2.
Objectivos
São objectivos do presente diploma a redução da poluição das águas causada ou
induzida por nitratos de origem agrícola, bem como impedir a propagação desta
poluição.
Artigo 3.
Definições
Para efeitos da aplicação do presente diploma, entende-se por:
a) «Água subterrânea»: toda a água que se situa abaixo da superfície do solo
na zona de saturação e em contacto directo com o solo ou o subsolo;
b) «Água doce»: a água que ocorre naturalmente, com uma concentração reduzida
de sais, frequentemente aceitável para efeitos de captação e tratamento com
vista à produção de água potável;
Artigo 4.
Águas poluídas ou susceptíveis de poluição e zonas vulneráveis
1 - Por portaria conjunta dos Ministros da Agricultura, do Desenvolvimento
Rural e das Pescas e do Ambiente, sob proposta do Instituto da Água (INAG),
ouvidas as direcções regionais de agricultura (DRA) e o Instituto de
Hidráulica, Engenharia Rural e Ambiente (IHERA), serão identificadas, por
lista, as águas poluídas e as águas susceptíveis de serem poluídas, bem como
as zonas vulneráveis de acordo com os critérios definidos no anexo I ao
presente diploma, que dele faz parte integrante.
Artigo 5.
Controlo
1 - Compete às direcções regionais do ambiente e recursos naturais (DRARN),
sob a coordenação do INAG e em concertação com as DRA e outras entidades com
competência técnica específica para o efeito e capacidade laboratorial
disponível, realizar um programa de controlo da concentração de nitratos nas
águas doces superficiais e subterrâneas e uma avaliação do estado trófico das
lagoas, outras massas de água doce, estuários e águas costeiras.
Artigo 6.
Código de Boas Práticas Agrícolas
1 - A fim de assegurar um nível geral de protecção de todas as águas contra a
poluição causada ou induzida por nitratos de origem agrícola, será aprovado
um Código de Boas Práticas Agrícolas pelos Ministros da Agricultura, do
Desenvolvimento Rural e das Pescas e do Ambiente.
Artigo 7.
Programas de acção
1 - Para a prossecução dos objectivos mencionados no artigo 2. serão
aprovados, por portaria do Ministro da Agricultura, do Desenvolvimento Rural
e das Pescas, programas de acção a aplicar às zonas qualificadas como
vulneráveis nos termos do artigo 4., tendo em conta os dados científicos e
técnicos disponíveis bem como as condições do ambiente, em particular as
edafo-climáticas, nas diferentes regiões.
Artigo 8.
Relatórios
1 - Compete ao IHERA, ouvidas as DRA e em colaboração com o INAG, elaborar,
de quatro em quatro anos, um relatório de situação para cumprimento do
PROTECÇÃO E CONTAMINAÇÃO DE AQUÍFEROS - APÊNDICES 59
Artigo 9.
Comissão técnica de acompanhamento
É criada uma comissão técnica destinada a acompanhar a execução do presente
diploma, cuja composição e funcionamento serão definidos por despacho dos
Ministros da Agricultura, do Desenvolvimento Rural e das Pescas, do Ambiente
e da Saúde.
Artigo 10.
Sanções
1 - O não cumprimento das medidas quantificadoras dos parâmetros elencados no
anexo IV ao presente diploma, consagradas na portaria a que se refere o
artigo 7., constitui contra-ordenação, punível com coima de l0 000$ a
500 000$, sendo o montante máximo elevado para 9 000 000$ quando a
contra-ordenação tenha sido praticada por pessoa colectiva.
2 - A negligência é punível.
3 - Simultaneamente com a coima podem ser determinadas as sanções acessórias
previstas no Decreto-Lei n. 433/82, de 27 de Outubro, com as alterações que
lhe foram introduzidas pelos Decretos-Leis n. 356/89, de 17 de Outubro, e
244/95, de 14 de Setembro.
Artigo 11.
Legislação complementar
1 - A portaria referida no n. 1 do artigo 7. deverá estar em vigor dentro do
prazo de dois anos contados da data da publicação do presente diploma.
Artigo 12.
Regiões Autónomas
1 - O regime do presente diploma aplica-se às Regiões Autónomas dos Açores e
da Madeira, sem prejuízo das adaptações decorrentes da estrutura própria da
administração regional autónoma, a introduzir por diploma regional adequado.
Artigo 13.
Entrada em vigor
O presente diploma entra em vigor no dia imediato ao da sua publicação, com
excepção da norma constante do artigo 10., que entra em vigor com a
publicação da portaria a que faz menção.
ANEXO III
Código de Boas Práticas Agrícolas
A - Um Código de Boas Práticas Agrícolas cujo objectivo seja reduzir a
poluição causada por nitratos deverá incluir disposições que abranjam as
seguintes questões, na medida em que forem relevantes:
ANEXO IV
Medidas a incluir nos programas de acção nos termos do n. 3 do artigo 7.
1 - As medidas deverão incluir regras relativas:
1.1 - Aos períodos em que é proibida a aplicação às terras de determinados
tipos de fertilizantes;
No entanto:
a) Para o primeiro programa de acção poderá ser considerada uma quantidade de
estrume que contenha até 210 kg de azoto;
ANEXO V
Informações a incluir nos relatórios ao abrigo do artigo 8.
1 - Uma exposição das medidas preventivas tomadas ao abrigo do artigo 6.
2 - Um mapa que indique:
a) As águas identificadas nos termos dos critérios e constantes do anexo I,
indicando, para cada água, qual dos critérios foi utilizado para efeitos de
identificação;
Papel semi-logarítmico