1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44
| clear;
% PRE - COMPUTATION
xmin=1.; xmax=20.; xmoy=10.;
nx=10;
dx=(xmax-xmin)/(nx-1);
x=[xmin:dx:xmax];
mu=1.e-3;
%k=1.e-12;
u=ones(x);
ip=find(x<xmoy); k=1.e-20*u; k(ip)=1.e-12;
ro=1.;
g=9.81;
phi=[1. 1. 1. 1. 1.];
h0=85.;h1=5.;
Q=((h0^2-h1^2) ./ (xmax))* ((k*ro*g./2)*mu); % a verifier
T=(k*ro*g*h0)/mu;
h=zeros(1,nx);h2=zeros(1,nx);
%h(1)=h0;
%h1=(h0^2-(2.*Q*mu.*x)./(k.*ro.*g))^(1/2);
dt=min(phi*0.1*dx*dx/T)
endloop=100;
ix=2:nx-1; ixp=ix+ones(size(ix)); ixm=ix-ones(size(ix));
c=T/phi;
% COMPUTATION
for boucle=1:endloop,
h2(ix)=h(ix)+dt*c*(h(ixp)-2.*h(ix)+h(ixm))/dx/dx;
h2(1)=h0;
h2(nx)=h1;
h=h2;
end
% POST - COMPUTATION
plot (x,h) |
Partager