Você está na página 1de 5

UNIVERSIDAD NACIONAL AUTNOMA

DE MXICO
FACULTAD DE INGENIERA

2016-1

T a r e a 1 2: Aplicacin del primer modelo


numrico

Simulacin Numrica de Yacimientos


Grupo 3
Profesor:
Dr. Victor Hugo Arana Ortiz
Alumno:
Rojas Orozco Miguel Alejandro

Introduccin:
La solucin numrica de las ecuaciones de flujo de fluidos en medios porosos consiste en obtener
una representacin aproximada de las ecuaciones diferenciales en puntos especficos del espacio y
del tiempo.
El dominio del problema, en un espacio y tiempo, se segmenta o discretiza; se genera as una malla
de clculo, constituida de celdas y nodos, donde se obtiene la solucin en etapas sucesivas de
tiempo.

Objetivos:
Aplicar nuestro primer modelo numrico.

Resultados:
Si he de ser sincero debo reconocer que esta tarea no la pude terminar, gast demasiado tiempo
en ver porque no me graficaba y al final lo nico que logr fue no cumplir el objetivo.
Pero tratando de hacer un anlisis, parece ser que la presin es constante hasta que el tiempo
comienza a avnzar.
En esencia la presin puede llegar a ser afectada por diferentes facotres, principalmente la
apretura de un pozo por eso la forma que toma la grfica
Mi grfico se muestra de la siguiente forma, cuando se corre el programa en la grfica se nota que
el tiempo avanza pero no los puntos que se grafican y el resultado que obtengo es el siguiente:

Apndice:
clc;
clear all;
close all;
u=units;
pL=0;
%presin izquierda
pR=1500*u.psi;
%presin derecha
pini=1500*u.psi;
%presin inicial
L=1640.42*u.psi;
%longitud
k=80*u.mD;
%permeabilidad
visc=0.8*u.Cp;
%viscosidad
ct=(17.6*10e-6)*(1/u.psi); %compresibilidad
poro=0.23;
%porosidad
t=3.2*u.day;
%tiempo (vara)
Dt=10*u.s;
%tiempo (segundos)
Dy=1;
Dz=1;
imax=150;
cinc=1.05;
A=Dy*Dz;
Dx=L/(imax-1);
xn(imax)=0;
xf(imax)=0;
v(imax)=0;
for i=1:imax;
xn(i)=(i-1)*Dx;
xf(i)=(i-(1/2))*Dx;
v(i)=A*Dx;
if i==imax
xf(i)=xf(i)-(Dx/2);
end
end
v(1)=v(1)/2;
v(imax)=(v(imax))/2;

%usando mtodo de Thomas


Py(1:imax)=pini;
alpha=(poro*visc*ct)/k;
tw=0;
a(imax)=0;
b(imax)=0;
c(imax)=0;
d(imax)=0;
%con w=1
cont=1;
while tw<t;

gamma=Dt/(Dx^2);
for i=1:imax
if i>1 && i<imax
a(i)=gamma;
b(i)=-(2*gamma+alpha);
c(i)=gamma;
d(i)=-alpha*(Py(i));
end
if i==1
a(i)=0;
b(i)=1;
c(i)=0;
d(i)=pL;
end
if i==imax
a(i)=0;
b(i)=1;
c(i)=0;
d(i)=pR;
end
if tw>0.5*u.day && tw<1*u.day
a(75)=0;
b(75)=1;
c(75)=0;
d(75)=1500*u.psi;
end
if tw>1*u.day
a(100)=0;
b(100)=1;
c(100)=0;
d(100)=200*u.psi;
end
if tw>1.5*u.day
a(125)=0;
b(125)=1;
c(125)=0;
d(125)=1000*u.psi;
end
if tw>2*u.day && tw<4*u.day
a(50)=0;
b(50)=1;
c(50)=0;
d(50)=1400*u.psi;
end
if tw>3*u.day
a(25)=0;
b(25)=1;
c(25)=0;
d(25)=900*u.psi;
a(1)=0;
b(1)=1;
c(1)=0;

d(1)=1200*u.psi;
end
end
[ PrsC1 ]=thomas(imax,a,b,c,d);
tw=tw+Dt;
Dt=Dt*cinc;
Py=PrsC1;
figure(1)
plot(xn,PrsC1/u.psi,'db')
xlabel('Distancia');
ylabel('Presin (psi)')
grid on
xlim([0 500])
ylim([0 2000])
legend ('Solucin Numrica')
title(sprintf('%s: %d %s','Solucin Numrica de Ecuacin de Difusin para: ',tw/u.day,'das'))
M(cont)=getframe;
sum=cont+1;
if(tw+Dt)>t;
nx=(tw+Dt)-t;
Dt=Dt-nx;
end
end
movie(M)

Você também pode gostar