!&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
       Subroutine Bocov3(U,im,jm)
!     ******************************************************************
!     *                                                                *
!     *  Boundary Conditions for q12 on v Points on Octacon    *
!     *                                                                *
!     ******************************************************************

      implicit none
      integer::im,jm,im1,jm1,lm1,l
      integer,parameter::nm=14
!-----------------------------------------------------------------------
       real,Dimension(0:im+1,0:jm+1,nm)::u,v

       im1=im-1
       jm1=jm-1
       lm1=im-1
       v=u

!-----------------------------------------------------------------------
!uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu
!
! Domain 1
!
      Do l=1,lm1
        U(l ,0 , 1)= U(im-l,1, 7)
        U(l ,jm, 1)= U(l   ,1, 3)
        U(0 ,l , 1)=-V(l   ,1, 8) 
        U(im,l , 1)=-V(im-l,1, 6)
      End Do
        U(0 ,0 , 1)=0.
        U(im,0 , 1)=0.
        U(0 ,jm, 1)=U(im1,1,2)
        U(im,jm, 1)=U(1  ,1,4)
!
! Domain 2
!
      Do l=1,lm1
        U(l ,0 , 2)=-V(im1,jm-l, 8)
        U(l ,jm, 2)=-V(im1,l   ,14)
        U(0 ,l , 2)= U(im1,l   ,11)
        U(im,l , 2)= U(1  ,l   , 3)
      End Do
        U(0 ,0 , 2)=0.
        U(im,0 , 2)=U(1  ,jm1, 1)
        U(0 ,jm, 2)=0.
        U(im,jm, 2)=U(1  ,1  , 5)
!
! Domain 3
!
      Do l=1,lm1
        U(l ,0 , 3)= U(l  ,jm1, 1)
        U(l ,jm, 3)= U(l  ,1  , 5)
        U(0 ,l , 3)= U(im1,l  , 2)
        U(im,l , 3)= U(1  ,l  , 4)
      End Do
        U(0 ,0 , 3)=-V(im1,1  , 8)
        U(im,0 , 3)=-V(1  ,1  , 6)
        U(0 ,jm, 3)=-V(im1,jm1,14)
        U(im,jm, 3)=-V(1  ,jm1,12)
!
! Domain 4
!
      Do l=1,lm1
        U(l ,0 , 4)=-V(1  ,l   , 6)
        U(l ,jm, 4)=-V(1  ,im-l,12)
        U(0 ,l , 4)= U(im1,l   , 3)
        U(im,l , 4)= U(1  ,l   , 9)
      End Do
        U(0 ,0 , 4)=U(im1,jm1, 1)
        U(im,0 , 4)=0.
        U(0 ,jm, 4)=U(im1,1  , 5)
        U(im,jm, 4)=0.
!
! Domain 5
!
      Do l=1,lm1
        U(l ,0 , 5)= U(l   ,jm1, 3)
        U(l ,jm, 5)=U(im-l,jm1,13)
        U(0 ,l , 5)=-V(im-l,jm1,14)
        U(im,l , 5)=-V(l   ,jm1,12)
      End Do
        U(0 ,0 , 5)= U(im1,jm1,2)
        U(im,0 , 5)= U(1  ,jm1,4)
        U(0 ,jm, 5)= 0.
        U(im,jm, 5)= 0.
!
! Domain 6
!
      Do l=1,lm1
        U(l ,0 , 6)=-V(im1,jm-l, 1)
        U(l ,jm, 6)= U(l  ,1   , 9)
        U(0 ,l , 6)=-V(l  ,1   , 4)
        U(im,l , 6)= U(1  ,l   , 7)
      End Do
        U(0 ,0 , 6)=-V(im1,1, 3)
        U(im,0 , 6)= 0.
        U(0 ,jm, 6)= 0.
        U(im,jm, 6)= U(1  ,1,10)
!
! Domain 7
!
      Do l=1,lm1
        U(l ,0 , 7)= U(im-l,1, 1)
        U(l ,jm, 7)= U(l   ,1,10)
        U(0 ,l , 7)= U(im1 ,l, 6)
        U(im,l , 7)= U(1   ,l, 8)
      End Do
        U(0 ,0 , 7)= 0.
        U(im,0 , 7)= 0.
        U(0 ,jm, 7)= U(im1,1, 9)
        U(im,jm, 7)= U(1  ,1,11)
!
! Domain 8
!
      Do l=1,lm1
        U(l ,0 , 8)=-V(1   ,l, 1)
        U(l ,jm, 8)= U(l   ,1,11)
        U(0 ,l , 8)= U(im1 ,l, 7)
        U(im,l , 8)=-V(im-l,1, 2)
      End Do
        U(0 ,0 , 8)= 0.
        U(im,0 , 8)=-V(1  ,1, 3)
        U(0 ,jm, 8)= U(im1,1,10)
        U(im,jm, 8)= 0.
!
! Domain 9
!
      Do l=1,lm1
        U(l ,0 , 9)=U(l  ,jm1, 6)
        U(l ,jm, 9)=U(l  ,1  ,12)
        U(0 ,l , 9)=U(im1,l  , 4)
        U(im,l , 9)=U(1  ,l  ,10)
      End Do
        U(0 ,0 , 9)=0.
        U(im,0 , 9)=U(1,jm1, 7)
        U(0 ,jm, 9)=0.
        U(im,jm, 9)=U(1,1  ,13)
!
! Domain 10
!
      Do l=1,lm1
        U(l ,0 , 10)=U(l  ,jm1, 7)
        U(l ,jm, 10)=U(l  ,1  ,13)
        U(0 ,l , 10)=U(im1,l  , 9)
        U(im,l , 10)=U(1  ,l  ,11)
      End Do
        U(0 ,0 , 10)=U(im1,jm1, 6)
        U(im,0 , 10)=U(1  ,jm1, 8)
        U(0 ,jm, 10)=U(im1,1  ,12)
        U(im,jm, 10)=U(1  ,1  ,14)
!
! Domain 11
!
      Do l=1,lm1
        U(l ,0 , 11)=U(l  ,jm1, 8)
        U(l ,jm, 11)=U(l  ,1  ,14)
        U(0 ,l , 11)=U(im1,l  ,10)
        U(im,l , 11)=U(1  ,l  , 2)
      End Do
        U(0 ,0 , 11)=U(im1,jm1, 7)
        U(im,0 , 11)=0.
        U(0 ,jm, 11)=U(im1,1  ,13)
        U(im,jm, 11)=0.
!
! Domain 12
!
      Do l=1,lm1
        U(l ,0 , 12)=U(l   ,jm1, 9)
        U(l ,jm, 12)=-V(im1 ,l  , 5)
        U(0 ,l , 12)=-V(im-l,jm1, 4)
        U(im,l , 12)=U(1   ,l  ,13)
      End Do
        U(0 ,0 , 12)=0.
        U(im,0 , 12)=U(1  ,jm1,10)
        U(0 ,jm, 12)=-V(im1,jm1, 3)
        U(im,jm, 12)=0.
!
! Domain 13
!
      Do l=1,lm1
        U(l ,0 , 13)= U(l   ,jm1,10)
        U(l ,jm, 13)= U(im-l,jm1, 5)
        U(0 ,l , 13)= U(im1 ,l  ,12)
        U(im,l , 13)= U(1   ,l  ,14)
      End Do
        U(0 ,0 , 13)= U(im1,jm1, 9)
        U(im,0 , 13)= U(1  ,jm1,11)
        U(0 ,jm, 13)= 0.
        U(im,jm, 13)= 0.
!
! Domain 14
!
      Do l=1,lm1
        U(l ,0 , 14)= U(l  ,jm1 ,11)
        U(l ,jm, 14)=-V(1  ,jm-l, 5)
        U(0 ,l , 14)= U(im1,l   ,13)
        U(im,l , 14)=-V(l  ,jm1 , 2)
      End Do
        U(0 ,0 , 14)= U(im1,jm1,10)
        U(im,0 , 14)= 0.
        U(0 ,jm, 14)= 0.
        U(im,jm, 14)=-V(1  ,jm1, 3)
!-----------------------------------------------------------------------
                            Return
                            End

