vtf-logo

weno/applications/euler/3d/Homogeneous/src/cles_dcflag.f

c     xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
c
c                Curvature based detection
c
c     xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

      subroutine cles_dcflag(ux,vx,dcflag,ncomps,nvars,
     $     ixlo,ixhi,iylo,iyhi,izlo,izhi,nx,ny,nz,dx,dy,dz,
     $     direction,extra)

      implicit none

      include 'cuser.i'

      integer ncomps, nvars
      integer ixlo, ixhi, iylo, iyhi, izlo, izhi
      integer direction, extra(*)
      INTEGER nx,ny,nz
      integer dcflag(1:nx+1,1:ny+1,1:nz+1,3)
      double precision ux(ncomps,ixlo:ixhi,iylo:iyhi,izlo:izhi)
      double precision vx(nvars,ixlo:ixhi,iylo:iyhi,izlo:izhi)
      DOUBLE PRECISION dx,dy,dz

      integer i, j, k

      ! ---- test criteria at each point
      if ( ihomo_flag .eq. 1 ) then
         if ( direction .eq. 1 ) then
            do k = 1, nz, 1
               do j = 1, ny, 1
                  DO i = 1, nx+1, 1
                     dcflag(i,j,k,direction) = 1
                  enddo
               enddo
            enddo
         else if (direction .eq. 2 ) then
            do k = 1, nz, 1
               do j = 1, ny+1, 1
                  do i = 1, nx, 1
                     dcflag(i,j,k,direction) = 1
                  enddo
               enddo
            enddo
         else
            do k = 1, nz+1, 1
               do j = 1, ny, 1
                  DO i = 1, nx, 1
                     dcflag(i,j,k,direction) = 1
                  enddo
               enddo
            enddo
         endif
      endif

      return
      end