FUNCTION SET_BOUNDARY_CONDITIONS,IC ; This sets the boundary conditions for the model ; ; inside loop nx=IC.nx & ny=IC.ny & nz=IC.nz FOR i = 2, nx-3 DO BEGIN IC.UU[i,1] = IC.UU[i,2] & IC.UU[i, ny-2] = IC.UU[i, ny-3] IC.VV[i,1] = IC.VV[i,2] & IC.VV[i, ny-2] = IC.VV[i, ny-3] IC.A0[i,1] = IC.A0[i,2] & IC.A0[i, ny-2] = IC.A0[i, ny-3] ENDFOR FOR j = 2, ny-3 DO BEGIN IC.UU[1, j] = IC.UU[2,j] & IC.UU[ny-2,j] = IC.UU[ny-3,j] IC.VV[1, j] = IC.VV[2,j] & IC.VV[ny-2,j] = IC.VV[ny-3,j] IC.A0[1, j] = IC.A0[2,j] & IC.A0[ny-2,j] = IC.A0[ny-3,j] ENDFOR ; outside loop FOR i = 2, nx-3 DO BEGIN IC.UU[i, 0] = IC.UU[i,1] & IC.UU[i, ny-1] = IC.UU[i, ny-2] IC.VV[i, 0] = IC.VV[i,1] & IC.VV[i, ny-1] = IC.VV[i, ny-2] IC.A0[i, 0] = IC.A0[i,1] & IC.A0[i, ny-1] = IC.A0[i, ny-2] ENDFOR FOR j = 2, ny-3 DO BEGIN IC.UU[0, j] = IC.UU[1, j] & IC.UU[ny-1,j] = IC.UU[ny-2,j] IC.VV[0, j] = IC.VV[1, j] & IC.VV[ny-1,j] = IC.VV[ny-2,j] IC.A0[0, j] = IC.A0[1, j] & IC.A0[ny-1,j] = IC.A0[ny-2,j] ENDFOR ; corners, set the 16 of these explicitly instead of using the xcorners array IC.UU[0,1] = IC.UU[0,2] & IC.UU[1,1] = IC.UU[1,2] & IC.UU[103,1] = IC.UU[103,2] & IC.UU[104,1] = IC.UU[104,2] IC.UU[0,103] = IC.UU[0,102] & IC.UU[1,103] = IC.UU[1,102] & IC.UU[103,103]= IC.UU[103,102] & IC.UU[104,103] = IC.UU[104,102] IC.UU[0,0] = IC.UU[0,1] & IC.UU[1,0] = IC.UU[1,1] & IC.UU[103,0]=IC.UU[103,1] & IC.UU[104,0]=IC.UU[104,1] IC.UU[0,104]=IC.UU[0,103] & IC.UU[1,104]=IC.UU[1,103] & IC.UU[103,104]=IC.UU[103,103] & IC.UU[104,104]=IC.UU[104,103] ;; IC.VV[0,1] = IC.VV[0,2] & IC.VV[1,1] = IC.VV[1,2] & IC.VV[103,1] = IC.VV[103,2] & IC.VV[104,1] = IC.VV[104,2] IC.VV[0,103] = IC.VV[0,102] & IC.VV[1,103] = IC.VV[1,102] & IC.VV[103,103] = IC.VV[103,102] & IC.VV[104,103] = IC.VV[104,102] IC.VV[0,0] = IC.VV[0,1] & IC.VV[1,0] = IC.VV[1,1] & IC.VV[103,0]=IC.VV[103,1] & IC.VV[104,0]=IC.VV[104,1] IC.VV[0,104]=IC.VV[0,103] & IC.VV[1,104]=IC.VV[1,103] & IC.VV[103,104]=IC.VV[103,103] & IC.VV[104,104]=IC.VV[104,103];;;; ; IC.WW[0,1] = IC.WW[0,2] & IC.WW[1,1] = IC.WW[1,2] & IC.WW[103,1] = IC.WW[103,2] & IC.WW[104,1] = IC.WW[104,2] IC.WW[0,103] = IC.WW[0,102] & IC.WW[1,103] = IC.WW[1,102] & IC.WW[103,103] = IC.WW[103,102] & IC.WW[104,103] = IC.WW[104,102] IC.WW[0,0] = IC.WW[0,1] & IC.WW[1,0] = IC.WW[1,1] & IC.WW[103,0]=IC.WW[103,1] & IC.WW[104,0]=IC.WW[104,1] IC.WW[0,104]=IC.WW[0,103] & IC.WW[1,104]=IC.WW[1,103] & IC.WW[103,104]=IC.WW[103,103] & IC.WW[104,104]=IC.WW[104,103];;; ; IC.pii[0,1] = IC.pii[0,2] & IC.pii[1,1] = IC.pii[1,2] & IC.pii[103,1] = IC.pii[103,2] & IC.pii[104,1] = IC.pii[104,2] IC.pii[0,103] = IC.pii[0,102] & IC.pii[1,103] = IC.pii[1,102] & IC.pii[103,103] = IC.pii[103,102] & IC.pii[104,103] = IC.pii[104,102] IC.pii[0,0] = IC.pii[0,1] & IC.pii[1,0] = IC.pii[1,1] & IC.pii[103,0]=IC.pii[103,1] & IC.pii[104,0]=IC.pii[104,1] IC.pii[0,104]=IC.pii[0,103] & IC.pii[1,104]=IC.pii[1,103] & IC.pii[103,104]=IC.pii[103,103] & IC.pii[104,104]=IC.pii[104,103] ;IC.WW[0,j,nz-2]=IC.WW[1,j,nz-2] & IC.WW[nx-1,j,nz-2]=IC.WW[nx-2,j,nz-2] & IC.WW[0,j,1]=IC.WW[1,j,1] & IC.WW[nx-1,j,1]=IC.WW[nx-2,j,1] ;IC.WW[1,j,0] = IC.WW[2,j,0] & IC.WW[nx-2,j,0] = IC.WW[nx-3,j,0] & IC.WW[i,0,nz-1] = IC.WW[i,1,nz-1] & IC.WW[i,ny-1,nz-1] = IC.WW[i,ny-2,nz-1] ;IC.WW[i,0,nz-2] = IC.WW[i,0,nz-3] & IC.WW[i,ny-2,0] = IC.WW[i,ny-3,0] & IC.WW[i,0,0] = IC.WW[i,1,0] & IC.WW[i,ny-1,0] = IC.WW[i,ny-2,0] ;IC.WW[i,0,1] = IC.WW[i,1,1] & IC.WW[i,ny-1,1] = IC.WW[i,ny-2,1] & IC.WW[0,j,0]=IC.WW[1,j,0] & IC.WW[nx-1,j,0]=IC.WW[nx-2,j,0] ; ;IC.A0[0,j,nz-2]=IC.A0[1,j,nz-2] & IC.A0[nx-1,j,nz-2]=IC.A0[nx-2,j,nz-2] & IC.A0[0,j,1]=IC.A0[1,j,1] & IC.A0[nx-1,j,1]=IC.A0[nx-2,j,1] ;IC.A0[1,j,0] = IC.A0[2,j,0] & IC.A0[nx-2,j,0] = IC.A0[nx-3,j,0] & IC.A0[i,0,nz-1] = IC.A0[i,1,nz-1] & IC.A0[i,ny-1,nz-1] = IC.A0[i,ny-2,nz-1] ;IC.A0[i,0,nz-2] = IC.A0[i,0,nz-3] & IC.A0[i,ny-2,0] = IC.A0[i,ny-3,0] & IC.A0[i,0,0] = IC.A0[i,1,0] & IC.A0[i,ny-1,0] = IC.A0[i,ny-2,0] ;IC.A0[i,0,1] = IC.A0[i,1,1] & IC.A0[i,ny-1,1] = IC.A0[i,ny-2,1] & IC.A0[0,j,0]=IC.A0[1,j,0] & IC.A0[nx-1,j,0]=IC.A0[nx-2,j,0] IC.theta[0,1] = IC.theta[0,2] & IC.theta[1,1] = IC.theta[1,2] & IC.theta[103,1] = IC.theta[103,2] & IC.theta[104,1] = IC.theta[104,2] IC.theta[0,103] = IC.theta[0,102] & IC.theta[1,103] = IC.theta[1,102] & IC.theta[103,103] = IC.theta[103,102] & IC.theta[104,103] = IC.theta[104,102] IC.theta[0,0] = IC.theta[0,1] & IC.theta[1,0] = IC.theta[1,1] & IC.theta[103,0]=IC.theta[103,1] & IC.theta[104,0]=IC.theta[104,1] IC.theta[0,104]=IC.theta[0,103] & IC.theta[1,104]=IC.theta[1,103] & IC.theta[103,104]=IC.theta[103,103] & IC.theta[104,104]=IC.theta[104,103] ; IC.A0[0,1] = IC.A0[0,2] & IC.A0[1,1] = IC.A0[1,2] & IC.A0[103,1] = IC.A0[103,2] & IC.A0[104,1] = IC.A0[104,2] IC.A0[0,103] = IC.A0[0,102] & IC.A0[1,103] = IC.A0[1,102] & IC.A0[103,103] = IC.A0[103,102] & IC.A0[104,103] = IC.A0[104,102] IC.A0[0,0] = IC.A0[0,1] & IC.A0[1,0] = IC.A0[1,1] & IC.A0[103,0]=IC.A0[103,1] & IC.A0[104,0]=IC.A0[104,1] IC.A0[0,104]=IC.A0[0,103] & IC.A0[1,104]=IC.A0[1,103] & IC.A0[103,104]=IC.A0[103,103] & IC.A0[104,104]=IC.A0[104,103] PRINT,'>>>>>>>>>> Boundry conditions set' RETURN, IC END