c--------------------------------------------------------------------- c--------------------------------------------------------------------- subroutine domain c--------------------------------------------------------------------- c--------------------------------------------------------------------- implicit none include 'applu.incl' c--------------------------------------------------------------------- c local variables c--------------------------------------------------------------------- nx = nx0 ny = ny0 nz = nz0 c--------------------------------------------------------------------- c check the sub-domain size c--------------------------------------------------------------------- if ( ( nx .lt. 4 ) .or. > ( ny .lt. 4 ) .or. > ( nz .lt. 4 ) ) then write (*,2001) nx, ny, nz 2001 format (5x,'SUBDOMAIN SIZE IS TOO SMALL - ', > /5x,'ADJUST PROBLEM SIZE OR NUMBER OF PROCESSORS', > /5x,'SO THAT NX, NY AND NZ ARE GREATER THAN OR EQUAL', > /5x,'TO 4 THEY ARE CURRENTLY', 3I3) stop end if if ( ( nx .gt. isiz1 ) .or. > ( ny .gt. isiz2 ) .or. > ( nz .gt. isiz3 ) ) then write (*,2002) nx, ny, nz 2002 format (5x,'SUBDOMAIN SIZE IS TOO LARGE - ', > /5x,'ADJUST PROBLEM SIZE OR NUMBER OF PROCESSORS', > /5x,'SO THAT NX, NY AND NZ ARE LESS THAN OR EQUAL TO ', > /5x,'ISIZ1, ISIZ2 AND ISIZ3 RESPECTIVELY. THEY ARE', > /5x,'CURRENTLY', 3I4) stop end if c--------------------------------------------------------------------- c set up the start and end in i and j extents for all processors c--------------------------------------------------------------------- ist = 2 iend = nx - 1 jst = 2 jend = ny - 1 ii1 = 2 ii2 = nx0 - 1 ji1 = 2 ji2 = ny0 - 2 ki1 = 3 ki2 = nz0 - 1 return end