Generated from /asc/asci2/site/flashcode/secure/release_4p22/source/Grid/Grid_moveParticles.F90 with ROBODoc v4.99.8 on Wed Jun 18 16:00:22 2014


[Functions] source/Grid/Grid_moveParticles





  call Grid_moveParticles(real(INOUT)    :: dataBuf(propCount,maxCount),
                          integer(IN)    :: propCount 
                          integer(IN)    :: maxCount,
                          integer(INOUT) :: localCount,
                          integer(IN)    :: index_list(indexCount),
                          integer(IN)    :: indexCount
                          logical(IN)    :: coords_in_blk)


  This routine deals with moving data associated with quantities
 such as particles or rays, which do not have a fixed association
 with a specific point of the domain all through the time evolution.
 As they change their association from block to block, this routine moves
 them to the correct block and processor. 
 Depending upon whether the movement is due to re-gridding or not, this
 routine calls appropriate function to move the data as needed.


  dataBuf : the data structure containing the data of interest
              It is two dimensional real array, the first dimension
              represents properties associated with the data 
              structure, and 
              second dimension is index to individual elements in 
              the datastructure.

 propCount : number of properties for this datastructure 

  maxCount : This is parameter determined at runtime, 
             and is the maximum count of elements 
             that a simulation expects to have. 
             All the arrays  are allocated based on this number
  localCount : While coming in it contains the current 
               number of elements in the data structure mapped to
               this processor. After all the data structure 
               movement, the number might change, 
               and the new value is put back into it
  index_list : The list of fields in the incoming dataBuf,
               the list are used to make the indices of tag, block
               processor and physical location of each individual
               data item to the GridParticles subunit so it can
               move the concerned data item appropriately
  indexCount : The count of fields included in index_list

  coords_in_blk   : if true then this routine should not make assumptions 
                    about being able to determine the destination of a 
                    particle at the source processor. The matching 
                    of a particle to a block in this situation depends upon
                    verifying that the position co-ordinates of the particle
                    are within the bound box of the block