<html xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns="http://www.w3.org/TR/REC-html40">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<meta name="Generator" content="Microsoft Word 14 (filtered medium)">
<style><!--
/* Font Definitions */
@font-face
        {font-family:Calibri;
        panose-1:2 15 5 2 2 2 4 3 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0cm;
        margin-bottom:.0001pt;
        font-size:11.0pt;
        font-family:"Calibri","sans-serif";
        mso-fareast-language:EN-US;}
a:link, span.MsoHyperlink
        {mso-style-priority:99;
        color:blue;
        text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
        {mso-style-priority:99;
        color:purple;
        text-decoration:underline;}
span.EmailStyle17
        {mso-style-type:personal-compose;
        font-family:"Calibri","sans-serif";
        color:windowtext;}
.MsoChpDefault
        {mso-style-type:export-only;
        font-family:"Calibri","sans-serif";
        mso-fareast-language:EN-US;}
@page WordSection1
        {size:612.0pt 792.0pt;
        margin:72.0pt 72.0pt 72.0pt 72.0pt;}
div.WordSection1
        {page:WordSection1;}
--></style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext="edit">
<o:idmap v:ext="edit" data="1" />
</o:shapelayout></xml><![endif]-->
</head>
<body lang="EN-GB" link="blue" vlink="purple">
<div class="WordSection1">
<p class="MsoNormal">Dear Flash Dev's and Users,<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">I've been setting up a USM simulation where the equilibrium is a linear 2D magnetic X-point of the form B=[x,-y,0]) (e.g., http://ukads.nottingham.ac.uk/abs/2011A%26A...533A..18M , http://ukads.nottingham.ac.uk/abs/2004A%26A...420.1129M).
<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">The default boundary options don't play well with the null due to the non-constant / curved field through the boundary. The various specifications end up implying some spurious current on the boundaries, and so launch waves into the domain.
 To overcome this I need to implement my own boundary conditions in Grid_bcApplyToRegionSpecialised.<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">One particular approach I have tried is to force the B-field variables to be their equilibrium values on the boundary (from the analytical prescription), which I believe should properly maintain the equilibrium. Specifically, this boundary
 condition is intended to set velocity to zero, other UNK variables similar to "reflecting" (without the sign change) and the B field to B=[x,-y,0].
<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">This doesn't seem to be working as I expected - after only coding up the custom BC for the lower face (but not the high faces), I found that that the result is that the current along each boundary is the same at a given output (as opposed
 to the lower left corner being different to the upper right, say). This suggests that my "implementation" has some silly mistake and key lines are not being executed when I think they should be.
<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">I further tested this by going to the lines I had expected to modify the B-field variables and setting the variable to be a large value (1e6) to see if it changes (breaks) the simulation. Many of the lines actually appear to do nothing
 / not be executed and I am not sure why, likely I have not properly understood the logic used in their execution. I have tagged these "!*1e6 does nothing" or "!* 1e6 breaks simulation" below.<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">If anyone could give me some pointers with this I would be extremely grateful.
<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">Best regards,<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">Jonathan <o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">(Post-doc working in magnetic reconnection, Northumbria University Solar Physics Group, UK)<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal" style="margin-left:36.0pt">subroutine Grid_bcApplyToRegionSpecialized(bcType,gridDataStruct,&<o:p></o:p></p>
<p class="MsoNormal" style="margin-left:36.0pt">     guard,axis,face,regionData,regionSize,mask,applied,&<o:p></o:p></p>
<p class="MsoNormal" style="margin-left:36.0pt">     blockHandle,secondDir,thirdDir,endPoints,blkLimitsGC, idest)<o:p></o:p></p>
<p class="MsoNormal" style="margin-left:36.0pt"><o:p> </o:p></p>
<p class="MsoNormal" style="margin-left:36.0pt">use Grid_data, ONLY : gr_meshMe<o:p></o:p></p>
<p class="MsoNormal" style="margin-left:36.0pt"><o:p> </o:p></p>
<p class="MsoNormal" style="margin-left:36.0pt">#include "constants.h"<o:p></o:p></p>
<p class="MsoNormal" style="margin-left:36.0pt"><o:p> </o:p></p>
<p class="MsoNormal" style="margin-left:36.0pt">  implicit none<o:p></o:p></p>
<p class="MsoNormal" style="margin-left:36.0pt"><o:p> </o:p></p>
<p class="MsoNormal" style="margin-left:36.0pt">  integer, intent(IN) :: bcType,axis,face,guard,gridDataStruct<o:p></o:p></p>
<p class="MsoNormal" style="margin-left:36.0pt">  integer,dimension(REGION_DIM),intent(IN) :: regionSize<o:p></o:p></p>
<p class="MsoNormal" style="margin-left:36.0pt">  real,dimension(regionSize(BC_DIR),&<o:p></o:p></p>
<p class="MsoNormal" style="margin-left:36.0pt">       regionSize(SECOND_DIR),&<o:p></o:p></p>
<p class="MsoNormal" style="margin-left:36.0pt">       regionSize(THIRD_DIR),&<o:p></o:p></p>
<p class="MsoNormal" style="margin-left:36.0pt">       regionSize(STRUCTSIZE)),intent(INOUT)::regionData<o:p></o:p></p>
<p class="MsoNormal" style="margin-left:36.0pt">  logical,intent(IN),dimension(regionSize(STRUCTSIZE)):: mask<o:p></o:p></p>
<p class="MsoNormal" style="margin-left:36.0pt">  logical, intent(OUT) :: applied<o:p></o:p></p>
<p class="MsoNormal" style="margin-left:36.0pt">  integer,intent(IN) :: blockHandle<o:p></o:p></p>
<p class="MsoNormal" style="margin-left:36.0pt">  integer,intent(IN) :: secondDir,thirdDir<o:p></o:p></p>
<p class="MsoNormal" style="margin-left:36.0pt">  integer,intent(IN),dimension(LOW:HIGH,MDIM) :: endPoints, blkLimitsGC<o:p></o:p></p>
<p class="MsoNormal" style="margin-left:36.0pt">  integer,intent(IN),OPTIONAL:: idest<o:p></o:p></p>
<p class="MsoNormal" style="margin-left:36.0pt"><o:p> </o:p></p>
<p class="MsoNormal" style="margin-left:36.0pt">!!!jonathan’s added declarations<o:p></o:p></p>
<p class="MsoNormal" style="margin-left:36.0pt"><o:p> </o:p></p>
<p class="MsoNormal" style="margin-left:36.0pt">  integer :: i,j, k,ivar,je,ke,n,varCount,bcTypeActual<o:p></o:p></p>
<p class="MsoNormal" style="margin-left:36.0pt">  logical :: isFace<o:p></o:p></p>
<p class="MsoNormal" style="margin-left:36.0pt">  integer :: sizeX, sizeY, sizeZ<o:p></o:p></p>
<p class="MsoNormal" style="margin-left:36.0pt">  real, allocatable,dimension(:) :: xCoord, yCoord, XCoordF, yCoordF<o:p></o:p></p>
<p class="MsoNormal" style="margin-left:36.0pt"><o:p> </o:p></p>
<p class="MsoNormal" style="margin-left:36.0pt">! stub provided<o:p></o:p></p>
<p class="MsoNormal" style="margin-left:36.0pt">  applied = .false.<o:p></o:p></p>
<p class="MsoNormal" style="margin-left:36.0pt"><o:p> </o:p></p>
<p class="MsoNormal" style="margin-left:36.0pt"><o:p> </o:p></p>
<p class="MsoNormal" style="margin-left:36.0pt">!added lines to the stub  below this comment<o:p></o:p></p>
<p class="MsoNormal" style="margin-left:36.0pt">  select case (bcType)<o:p></o:p></p>
<p class="MsoNormal" style="margin-left:36.0pt">    case(USER_DEFINED)<o:p></o:p></p>
<p class="MsoNormal" style="margin-left:36.0pt">      applied = .true.<o:p></o:p></p>
<p class="MsoNormal" style="margin-left:36.0pt"><o:p> </o:p></p>
<p class="MsoNormal" style="margin-left:36.0pt">    case default<o:p></o:p></p>
<p class="MsoNormal" style="margin-left:36.0pt">      applied = .false. <o:p></o:p></p>
<p class="MsoNormal" style="margin-left:36.0pt">      return    <o:p></o:p></p>
<p class="MsoNormal" style="margin-left:36.0pt">  end select<o:p></o:p></p>
<p class="MsoNormal" style="margin-left:36.0pt"><o:p> </o:p></p>
<p class="MsoNormal" style="margin-left:36.0pt"><o:p> </o:p></p>
<p class="MsoNormal" style="margin-left:36.0pt">  je=regionSize(SECOND_DIR)<o:p></o:p></p>
<p class="MsoNormal" style="margin-left:36.0pt">  ke=regionSize(THIRD_DIR)<o:p></o:p></p>
<p class="MsoNormal" style="margin-left:36.0pt">  varCount=regionSize(STRUCTSIZE)<o:p></o:p></p>
<p class="MsoNormal" style="margin-left:36.0pt">  isFace = (gridDataStruct==FACEX).and.(axis==IAXIS)<o:p></o:p></p>
<p class="MsoNormal" style="margin-left:36.0pt">  isFace = isFace.or.((gridDataStruct==FACEY).and.(axis==JAXIS))<o:p></o:p></p>
<p class="MsoNormal" style="margin-left:36.0pt">  isFace = isFace.or.((gridDataStruct==FACEZ).and.(axis==KAXIS))<o:p></o:p></p>
<p class="MsoNormal" style="margin-left:36.0pt"><o:p> </o:p></p>
<p class="MsoNormal" style="margin-left:36.0pt"><o:p> </o:p></p>
<p class="MsoNormal" style="margin-left:36.0pt">  !some allocation and calls to populate coordinate arrays to allow analytical prescription of B on boundary<o:p></o:p></p>
<p class="MsoNormal" style="margin-left:36.0pt"><o:p> </o:p></p>
<p class="MsoNormal" style="margin-left:36.0pt">  sizeX = blkLimitsGC(HIGH,IAXIS)-blkLimitsGC(LOW,IAXIS)+1      !double check sizes<o:p></o:p></p>
<p class="MsoNormal" style="margin-left:36.0pt">  sizeY = blkLimitsGC(HIGH,JAXIS)-blkLimitsGC(LOW,JAXIS)+1<o:p></o:p></p>
<p class="MsoNormal" style="margin-left:36.0pt">  sizeZ = blkLimitsGC(HIGH,KAXIS)-blkLimitsGC(LOW,KAXIS)+1<o:p></o:p></p>
<p class="MsoNormal" style="margin-left:36.0pt">  <o:p></o:p></p>
<p class="MsoNormal" style="margin-left:36.0pt">  allocate(xCoord(sizeX) )<o:p></o:p></p>
<p class="MsoNormal" style="margin-left:36.0pt">  allocate(yCoord(sizeY) )<o:p></o:p></p>
<p class="MsoNormal" style="margin-left:36.0pt">  allocate(xCoordF(sizeX+1) )<o:p></o:p></p>
<p class="MsoNormal" style="margin-left:36.0pt">  allocate(yCoordF(sizeY+1) )<o:p></o:p></p>
<p class="MsoNormal" style="margin-left:36.0pt"><o:p> </o:p></p>
<p class="MsoNormal" style="margin-left:36.0pt">  xCoord = 0.0<o:p></o:p></p>
<p class="MsoNormal" style="margin-left:36.0pt">  yCoord = 0.0<o:p></o:p></p>
<p class="MsoNormal" style="margin-left:36.0pt">  xCoordF = 0.0<o:p></o:p></p>
<p class="MsoNormal" style="margin-left:36.0pt">  yCoordF = 0.0<o:p></o:p></p>
<p class="MsoNormal" style="margin-left:36.0pt">  <o:p></o:p></p>
<p class="MsoNormal" style="margin-left:36.0pt">  call gr_extendedGetCellCoords(IAXIS, blockHandle, gr_meshMe, CENTER , .true. , xCoord, sizeX)<o:p></o:p></p>
<p class="MsoNormal" style="margin-left:36.0pt">  call gr_extendedGetCellCoords(JAXIS, blockHandle, gr_meshMe, CENTER , .true. , yCoord, sizeY)<o:p></o:p></p>
<p class="MsoNormal" style="margin-left:36.0pt">  call gr_extendedGetCellCoords(IAXIS, blockHandle, gr_meshMe, FACES, .true. , xCoordF, sizeX+1)<o:p></o:p></p>
<p class="MsoNormal" style="margin-left:36.0pt">  call gr_extendedGetCellCoords(JAXIS, blockHandle, gr_meshMe, FACES, .true. , yCoordF, sizeY+1)<o:p></o:p></p>
<p class="MsoNormal" style="margin-left:36.0pt"><o:p> </o:p></p>
<p class="MsoNormal" style="margin-left:36.0pt">  !main loop over variables<o:p></o:p></p>
<p class="MsoNormal" style="margin-left:36.0pt"><o:p> </o:p></p>
<p class="MsoNormal" style="margin-left:36.0pt">  do ivar = 1,varCount<o:p></o:p></p>
<p class="MsoNormal" style="margin-left:36.0pt">     if(mask(ivar)) then<o:p></o:p></p>
<p class="MsoNormal" style="margin-left:36.0pt">        call gr_bcMapBcType(bcTypeActual,bcType,ivar,gridDataStruct,axis,face,idest)<o:p></o:p></p>
<p class="MsoNormal" style="margin-left:36.0pt"><o:p> </o:p></p>
<p class="MsoNormal" style="margin-left:36.0pt"><o:p> </o:p></p>
<p class="MsoNormal" style="margin-left:36.0pt">    if(face==LOW) then<o:p></o:p></p>
<p class="MsoNormal" style="margin-left:36.0pt">  <o:p></o:p></p>
<p class="MsoNormal" style="margin-left:36.0pt">      select case (bcTypeActual)<o:p></o:p></p>
<p class="MsoNormal" style="margin-left:36.0pt">  <o:p></o:p></p>
<p class="MsoNormal" style="margin-left:36.0pt">      case(USER_DEFINED)<o:p></o:p></p>
<p class="MsoNormal" style="margin-left:36.0pt">        k = 2*guard+1<o:p></o:p></p>
<p class="MsoNormal" style="margin-left:36.0pt">        if(isFace)k=k+1<o:p></o:p></p>
<p class="MsoNormal" style="margin-left:36.0pt">        do i = 1,guard<o:p></o:p></p>
<p class="MsoNormal" style="margin-left:36.0pt">          regionData(i,1:je,1:ke,ivar) = regionData(k-i,1:je,1:ke,ivar) ! do znd-type for all variables first, then overwrite
<o:p></o:p></p>
<p class="MsoNormal" style="margin-left:36.0pt">                                                                        ! e.g. b field with more specific values<o:p></o:p></p>
<p class="MsoNormal" style="margin-left:36.0pt">                                                                                                                                                !*1e6 breaks simulation<o:p></o:p></p>
<p class="MsoNormal" style="margin-left:36.0pt">#ifdef VELX_VAR<o:p></o:p></p>
<p class="MsoNormal" style="margin-left:36.0pt">          if ( ivar==VELX_VAR ) regionData(i,1:je,1:ke,ivar) = 0.0 !overwrite previously assigned value with zero for velocities !*1e6 does nothing<o:p></o:p></p>
<p class="MsoNormal" style="margin-left:36.0pt">#endif<o:p></o:p></p>
<p class="MsoNormal" style="margin-left:36.0pt">#ifdef VELY_VAR<o:p></o:p></p>
<p class="MsoNormal" style="margin-left:36.0pt">          if ( ivar==VELY_VAR ) regionData(i,1:je,1:ke,ivar) = 0.0 !*1e6 does nothing<o:p></o:p></p>
<p class="MsoNormal" style="margin-left:36.0pt">#endif<o:p></o:p></p>
<p class="MsoNormal" style="margin-left:36.0pt">#ifdef VELZ_VAR<o:p></o:p></p>
<p class="MsoNormal" style="margin-left:36.0pt">          if ( ivar==VELZ_VAR ) regionData(i,1:je,1:ke,ivar) = 0.0 !*1e6 does nothing<o:p></o:p></p>
<p class="MsoNormal" style="margin-left:36.0pt">#endif<o:p></o:p></p>
<p class="MsoNormal" style="margin-left:36.0pt"><o:p> </o:p></p>
<p class="MsoNormal" style="margin-left:36.0pt">          !set B=[x,-y,0] on lower face to make current free boundary
<o:p></o:p></p>
<p class="MsoNormal" style="margin-left:36.0pt">#ifdef MAGX_VAR  <o:p></o:p></p>
<p class="MsoNormal" style="margin-left:36.0pt">          if( (ivar==MAGX_VAR).AND.(axis=iaxis) ) regionData(i,1:je,1:ke,ivar) = xCoord(i)  !bx = x !*1e6 does nothing<o:p></o:p></p>
<p class="MsoNormal" style="margin-left:36.0pt">          if( (ivar==MAGX_VAR).AND.(axis=jaxis) ) then<o:p></o:p></p>
<p class="MsoNormal" style="margin-left:36.0pt">            do j=1,je<o:p></o:p></p>
<p class="MsoNormal" style="margin-left:36.0pt">              regionData(i,j,1:ke,ivar) = xCoord(j) !*1e6 does nothing<o:p></o:p></p>
<p class="MsoNormal" style="margin-left:36.0pt">            enddo<o:p></o:p></p>
<p class="MsoNormal" style="margin-left:36.0pt">          endif<o:p></o:p></p>
<p class="MsoNormal" style="margin-left:36.0pt">#endif<o:p></o:p></p>
<p class="MsoNormal" style="margin-left:36.0pt">  <o:p></o:p></p>
<p class="MsoNormal" style="margin-left:36.0pt">  <o:p></o:p></p>
<p class="MsoNormal" style="margin-left:36.0pt">#ifdef MAGY_VAR<o:p></o:p></p>
<p class="MsoNormal" style="margin-left:36.0pt">          if( (ivar==MAGY_VAR).AND.(axis=jaxis) ) regionData(i,1:je,1:ke,ivar) = -yCoord(i)  !by = -y !*1e6 does nothing<o:p></o:p></p>
<p class="MsoNormal" style="margin-left:36.0pt">          if( (ivar==MAGY_VAR).AND.(axis=iaxis) ) then<o:p></o:p></p>
<p class="MsoNormal" style="margin-left:36.0pt">            do j=1,je<o:p></o:p></p>
<p class="MsoNormal" style="margin-left:36.0pt">              regionData(i,j,1:ke,ivar) = -yCoord(j) !*1e6 does nothing<o:p></o:p></p>
<p class="MsoNormal" style="margin-left:36.0pt">            enddo <o:p></o:p></p>
<p class="MsoNormal" style="margin-left:36.0pt">          endif<o:p></o:p></p>
<p class="MsoNormal" style="margin-left:36.0pt">#endif<o:p></o:p></p>
<p class="MsoNormal" style="margin-left:36.0pt"><o:p> </o:p></p>
<p class="MsoNormal" style="margin-left:36.0pt">        <o:p></o:p></p>
<p class="MsoNormal" style="margin-left:36.0pt">#ifdef MAG_FACE_VAR<o:p></o:p></p>
<p class="MsoNormal" style="margin-left:36.0pt">          if( (ivar==MAG_FACE_VAR).AND.(axis=iaxis) )  regionData(i,1:je,1:ke,ivar) = xCoordF(i) !*1e6 does nothing<o:p></o:p></p>
<p class="MsoNormal" style="margin-left:36.0pt">          if( (ivar==MAG_FACE_VAR).AND.(axis=jaxis) )  regionData(i,1:je,1:ke,ivar) = -yCoordF(i) !*1e6 does nothing<o:p></o:p></p>
<p class="MsoNormal" style="margin-left:36.0pt">#endif<o:p></o:p></p>
<p class="MsoNormal" style="margin-left:36.0pt"><o:p> </o:p></p>
<p class="MsoNormal" style="margin-left:36.0pt">      !should also do intermediate step mag field on face if doing a custom BC<o:p></o:p></p>
<p class="MsoNormal" style="margin-left:36.0pt">      !http://flash.uchicago.edu/pipermail/flash-users/2012-February/001021.html<o:p></o:p></p>
<p class="MsoNormal" style="margin-left:36.0pt"><o:p> </o:p></p>
<p class="MsoNormal" style="margin-left:36.0pt">#ifdef MAGI_FACE_VAR<o:p></o:p></p>
<p class="MsoNormal" style="margin-left:36.0pt">          if( (ivar==MAGI_FACE_VAR).AND.(axis=iaxis) )  regionData(i,1:je,1:ke,ivar) = xCoordF(i) !*1e6 does nothing<o:p></o:p></p>
<p class="MsoNormal" style="margin-left:36.0pt">          if( (ivar==MAGI_FACE_VAR).AND.(axis=jaxis) )  regionData(i,1:je,1:ke,ivar) = -yCoordF(i) !*1e6 does nothing<o:p></o:p></p>
<p class="MsoNormal" style="margin-left:36.0pt">#endif<o:p></o:p></p>
<p class="MsoNormal" style="margin-left:36.0pt"><o:p> </o:p></p>
<p class="MsoNormal" style="margin-left:36.0pt"><o:p> </o:p></p>
<p class="MsoNormal" style="margin-left:36.0pt">        end do<o:p></o:p></p>
<p class="MsoNormal" style="margin-left:36.0pt">  <o:p></o:p></p>
<p class="MsoNormal" style="margin-left:36.0pt">      end select<o:p></o:p></p>
<p class="MsoNormal" style="margin-left:36.0pt">  <o:p></o:p></p>
<p class="MsoNormal" style="margin-left:36.0pt">    else !face==HIGH<o:p></o:p></p>
<p class="MsoNormal" style="margin-left:36.0pt">  <o:p></o:p></p>
<p class="MsoNormal" style="margin-left:36.0pt">      select case (bcTypeActual)<o:p></o:p></p>
<p class="MsoNormal" style="margin-left:36.0pt">  <o:p></o:p></p>
<p class="MsoNormal" style="margin-left:36.0pt">      case(USER_DEFINED)<o:p></o:p></p>
<p class="MsoNormal" style="margin-left:36.0pt">         k = 2*guard+1<o:p></o:p></p>
<p class="MsoNormal" style="margin-left:36.0pt">         if(isFace)k=k+1<o:p></o:p></p>
<p class="MsoNormal" style="margin-left:36.0pt">         do i = 1,guard<o:p></o:p></p>
<p class="MsoNormal" style="margin-left:36.0pt">            regionData(k-i,1:je,1:ke,ivar)= regionData(i,1:je,1:ke,ivar) !znd for all first<o:p></o:p></p>
<p class="MsoNormal" style="margin-left:36.0pt"><o:p> </o:p></p>
<p class="MsoNormal" style="margin-left:36.0pt">#ifdef VELX_VAR<o:p></o:p></p>
<p class="MsoNormal" style="margin-left:36.0pt">          if ( ivar==VELX_VAR ) regionData(k-i,1:je,1:ke,ivar) = 0.0 !over-write with zero for velocities<o:p></o:p></p>
<p class="MsoNormal" style="margin-left:36.0pt">#endif<o:p></o:p></p>
<p class="MsoNormal" style="margin-left:36.0pt">#ifdef VELY_VAR<o:p></o:p></p>
<p class="MsoNormal" style="margin-left:36.0pt">          if ( ivar==VELY_VAR ) regionData(k-i,1:je,1:ke,ivar) = 0.0 !over-write with zero for velocities<o:p></o:p></p>
<p class="MsoNormal" style="margin-left:36.0pt">#endif<o:p></o:p></p>
<p class="MsoNormal" style="margin-left:36.0pt">#ifdef VELZ_VAR<o:p></o:p></p>
<p class="MsoNormal" style="margin-left:36.0pt">          if ( ivar==VELZ_VAR ) regionData(k-i,1:je,1:ke,ivar) = 0.0 !over-write with zero for velocities<o:p></o:p></p>
<p class="MsoNormal" style="margin-left:36.0pt">#endif<o:p></o:p></p>
<p class="MsoNormal" style="margin-left:36.0pt"><o:p> </o:p></p>
<p class="MsoNormal" style="margin-left:36.0pt">         end do<o:p></o:p></p>
<p class="MsoNormal" style="margin-left:36.0pt">  <o:p></o:p></p>
<p class="MsoNormal" style="margin-left:36.0pt">      end select<o:p></o:p></p>
<p class="MsoNormal" style="margin-left:36.0pt">  <o:p></o:p></p>
<p class="MsoNormal" style="margin-left:36.0pt">    endif<o:p></o:p></p>
<p class="MsoNormal" style="margin-left:36.0pt"><o:p> </o:p></p>
<p class="MsoNormal" style="margin-left:36.0pt">    endif <o:p></o:p></p>
<p class="MsoNormal" style="margin-left:36.0pt">  enddo !end ivar do loop<o:p></o:p></p>
<p class="MsoNormal" style="margin-left:36.0pt"><o:p> </o:p></p>
<p class="MsoNormal" style="margin-left:36.0pt"><o:p> </o:p></p>
<p class="MsoNormal" style="margin-left:36.0pt">  deallocate(xCoord)<o:p></o:p></p>
<p class="MsoNormal" style="margin-left:36.0pt">  deallocate(yCoord)<o:p></o:p></p>
<p class="MsoNormal" style="margin-left:36.0pt">  deallocate(xCoordF)<o:p></o:p></p>
<p class="MsoNormal" style="margin-left:36.0pt">  deallocate(yCoordF)<o:p></o:p></p>
<p class="MsoNormal" style="margin-left:36.0pt"><o:p> </o:p></p>
<p class="MsoNormal" style="margin-left:36.0pt"><o:p> </o:p></p>
<p class="MsoNormal" style="margin-left:36.0pt"><o:p> </o:p></p>
<p class="MsoNormal" style="margin-left:36.0pt"><o:p> </o:p></p>
<p class="MsoNormal" style="margin-left:36.0pt">  return<o:p></o:p></p>
<p class="MsoNormal" style="margin-left:36.0pt">end subroutine Grid_bcApplyToRegionSpecialized<o:p></o:p></p>
</div>
</body>
</html>