TWO DIMENSIONAL LAPACE’S
EQUATION SOLUTION
by Reinaldo Baretti Machin
The following approximation
is carried out iteratively
V(x,y)
=[V(x+h,y)+V(x-h,y) +V(x,y+h) +V(x,y-h)]/4
c solution to
dimension
vxy0(0:500), vxyL(0:500),vyx0(0:500), vyxL(0:500),
$V1(30,30)
,v2(30,30)
c Lx , Ly dimension of the
rectangular plate
real Lx, Ly
tol=1.E-3
Lx=0.5
ly=0.5
nx=10
ny=10
dx=Lx/float(nx)
dy=ly/float(ny)
c boundary conditions
do 10 i=0,nx
x=float(i)*dx
y=float(i)*dy
c boundary conditions
vxy0(i)=0.
vxyL(i) = 200*x
vyx0(i)=0.
vyxL(i)= 200*y
10 continue
c falta arreglar frontera
do 15 j=0,ny
v1(0,j)=vyx0(j)
v1(nx,j)=vyxL(j)
15 continue
do 17 i=0,nx
v1(i,0)=vxy0(i)
v1(i,ny)=vxyL(i)
17 continue
do 20 i=1,nx-1
do 20 j=1,ny-1
x=float(i)*dx
y=float(i)*dy
v1(i,j)=
.5*(vyx0(J)+(x/lx)*(vyxl(j)-vyx0(j))+ vxy0(i)+(y/Ly)*(
$vxyl(i)-vxy0(i))
)
20 continue
niter=1
35 dvmax=0.
do 30 i=1,nx-1
do 30 j=1,ny-1
v2(i,j)=.25*(v1(i+1,j)+v1(i-1,j)+v1(i,J+1)+v1(i,j-1))
test
=abs((v2(i,j)-v1(i,j))/v2(i,j))
dvmax=amax1(dvmax,abs(test))
30 continue
do 40 i=1,nx-1
do 40 j=1,ny-1
v1(i,j)=v2(i,j)
40 continue
Niter=niter+1
If (dvmax-tol)50,50
,35
50 print*,'niter=',niter
do 60 i=0,nx
j=5
y=dy*float(j)
x=dx*float(i)
print*,'v1(i,j),
solex=',v1(i,j) , 400.*x*y
60 continue
stop
end
RUN
niter= 61
v1(i,j), solex= 0. 0.
v1(i,j), solex= 5.0529356
5.
v1(i,j), solex= 10.1007614
10.
v1(i,j), solex= 15.141264
15.000001
v1(i,j), solex= 20.167345
20.
v1(i,j), solex= 25.1799679
25.
v1(i,j), solex= 30.1726761
30.0000019
v1(i,j), solex= 35.1499329
35.
v1(i,j), solex= 40.1093864
40.
v1(i,j), solex= 45.0582924
45.
v1(i,j), solex= 50.
50.