# Darcy's law

8 views (last 30 days)
hasan damaj on 7 Dec 2019
clc
clear
% Laplace equation
% Define the length of the grid
L = 5 ;
% Define the Width of the grid
B = 5 ;
nx = 4 ;
ny = 4 ;
dx = 100;
dy = 100;
h=zeros(nx,ny);
amax = 0;
% boundry conditions
h(1,:) = [ 8.04 , 7.68 , 7.19 , 6.82 ];
h(nx,:) = [ 8.53 , 8.41 , 8.33 , 8.29 ];
h(:,1) = [ 8.04 , 8.18 , 8.36 , 8.53 ];
h(:,ny) = [ 6.82 , 7.56 , 7.99 , 8.29 ];
while amax <= 0.01
for j = 2 : nx-1
for i = 2 : ny-1
oldval = h(i,j);
h(i,j) = ( h(i-1,j) + h(i+1,j) + h(i,j-1) + h(i,j+1)/4) ;
e = abs(h(i,j)) - oldval;
if e > amax
amax = e;
end
end
end
end
h
I NEED TO GET TO THE FOLLOWING RESULT
8.04 8.18 8.36 8.53
7.68 7.93 8.19 8.41
7.19 7.68 8.05 8.33
6.82 7.56 7.99 8.29
Can you suggest for me the correction and thank you :)
hasan damaj on 11 Dec 2019
the equation is correct sir..
hasan damaj on 11 Dec 2019
the while condition is not working with me

Image Analyst on 7 Dec 2019
You're setting up your boundary conditions incorrectly. You're overwriting the corners with different numbers. I think maybe you want this:
% Initialize boundary conditions:
h(1,:) = [ 8.04 , 7.68 , 7.19 , 8.53];
h(end,:) = [6.82 , 7.56 , 7.99 , 8.29 ];
h(2:3,1) = [7.68;7.19];
h(2:3,end) = [8.41; 8.33];
h
% Here h should be
% 8.04 8.18 8.36 8.53
% 7.68 0 0 8.41
% 7.19 0 0 8.33
% 6.82 7.56 7.99 8.29
hasan damaj on 11 Dec 2019
but the values of inner index are zeros after running the code..
hasan damaj on 12 Dec 2019
how do i edit it to reach my results and thank you

Hassan Abdullah Saleem on 12 Oct 2020
I think I know what is the probelm in your code..you have overlap intry try to inter the boundary by value like this h(1,1) = 8.04

Hassan Abdullah Saleem on 12 Oct 2020

### Categories

Find more on Programming in Help Center and File Exchange

R2019a

### Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!