anchor.diff:    deallocate(voz)
   
     return
  -end subroutine
  +end subroutine deinit
   
   
   ! ===================================== !
   ! One step of SPH                       !
   ! ===================================== !
   subroutine step
  -  use constants, only : ITERATIONS_PER_STEP
  +  use constants, only : ITERATIONS_PER_STEP, USE_VORTICITY_CONFINEMENT
     implicit none
     integer :: subiter
   
  
positive.code: 
    end do
  
    call array_deallocate
  
  end program sph_run
  
  ! ===================================== !
  ! Allocate all arrays in the modules    !
  ! ===================================== !
  subroutine array_allocate
    use state
    use constants
    use posvel
    use neighbors
    use forces
    implicit none
  
    ! Allocate everything
    allocate(lm(n))
  
negative.code:       use posvel
        implicit none
        integer, intent(in) :: i,j
        real(WP) :: dx, dy, dz, r, c
  
        dx = cpx(i) - cpx(j)
        dy = cpy(i) - cpy(j)
        dz = cpz(i) - cpz(j)
        r = sqrt(dx*dx + dy*dy + dz*dz)
        c = 315.0_WP / (64.0_WP * PI)
  
        if(r .gt. KERNEL_SIZE) then
          poly6kernel = 0.0_WP
  