21 integer,
intent(in) :: nx
22 integer,
intent(in) :: ny
23 real(kind=kind_real),
intent(in) :: x(nx,ny)
24 real(kind=kind_real),
intent(out) :: del2x(nx,ny)
25 real(kind=kind_real),
intent(in) :: deltax
26 real(kind=kind_real),
intent(in) :: deltay
30 del2x(:,:) = -2.0_kind_real*( 1.0_kind_real/(deltax*deltax) &
31 +1.0_kind_real/(deltay*deltay))*x(:,:)
33 del2x(1:nx-1,:) = del2x(1:nx-1,:) + (1.0_kind_real/(deltax*deltax))*x(2:nx ,:)
34 del2x(nx ,:) = del2x(nx ,:) + (1.0_kind_real/(deltax*deltax))*x(1 ,:)
35 del2x(2:nx ,:) = del2x(2:nx ,:) + (1.0_kind_real/(deltax*deltax))*x(1:nx-1,:)
36 del2x(1 ,:) = del2x(1 ,:) + (1.0_kind_real/(deltax*deltax))*x(nx ,:)
38 del2x(:,1:ny-1) = del2x(:,1:ny-1) + (1.0_kind_real/(deltay*deltay))*x(:,2:ny )
39 del2x(:,2:ny ) = del2x(:,2:ny ) + (1.0_kind_real/(deltay*deltay))*x(:,1:ny-1)
subroutine laplacian_2d(x, del2x, nx, ny, deltax, deltay)
Horizontal Laplacian operator.