[FLASH-USERS] DustCollapse Weird Artifacts in Gravitational Acceleration

Ryan Farber rjfarber at umich.edu
Sat Feb 25 22:02:59 EST 2017


Dear FLASH users,

I decided to look at the components of the gravitational acceleration for
the supplied
DustCollapse problem (FLASH 4.3), and have noticed some weird artifacts on
the block boundaries.

The issue seems somewhat similar to one Thomas Peters' refinement issue
<http://flash.uchicago.edu/pipermail/flash-users/2014-May/001440.html> (a
plotting bug)
but I chatted with ngoldbaum on the yt IRC channel and the conclusion was
the artifacts
are on the FLASH side of things.

The only edits I made to the DustCollapse problem supplied with FLASH 4.3
were:

* Config: added the following lines
VARIABLE grac
VARIABLE poix
VARIABLE poiy
VARIABLE poiz

* Driver_initFlash.F90: copied to problem directory and modified the
original lines:
  if(.not. dr_restart) then
     call Grid_getListOfBlocks(LEAF,blockList,blockCount)
     call Gravity_potentialListOfBlocks(blockCount,blockList)
     call Particles_initForces()
  end if

  ! If we want to free any arrays created during simulation
  ! initialization that are no longer needed, do it here.
  call Simulation_freeUserArrays()

  call IO_outputInitial(  dr_nbegin, dr_initialSimTime)
  if(dr_globalMe==MASTER_PE)print*,'Initial plotfile written'

  if(dr_globalMe==MASTER_PE)print*,'Driver init all done'


**to**
  if(.not. dr_restart) then
     call Grid_getListOfBlocks(LEAF,blockList,blockCount)
     call Gravity_potentialListOfBlocks(blockCount,blockList)
     call Particles_initForces()

     call Gravity_accelListOfBlocks(blockCount, blockList, IAXIS, GRAC_VAR)
     call Gravity_accelListOfBlocks(blockCount, blockList, JAXIS, GRAC_VAR)
     call Gravity_accelListOfBlocks(blockCount, blockList, KAXIS, GRAC_VAR)
  end if

  ! If we want to free any arrays created during simulation
  ! initialization that are no longer needed, do it here.
  call Simulation_freeUserArrays()

  call IO_outputInitial(  dr_nbegin, dr_initialSimTime)
  if(dr_globalMe==MASTER_PE)print*,'Initial plotfile written'

  STOP(99)

  if(dr_globalMe==MASTER_PE)print*,'Driver init all done'

* Gravity_accelOneRow: modified the original lines:
  do ii = iimin+1, iimax-1
     grav(ii) = grav(ii) + delxinv * (gpot(ii-1) - gpot(ii+1))
  enddo

  grav(iimin) = grav(iimin+1)     ! this is invalid data - must not be used
  grav(iimax) = grav(iimax-1)

**to**
  do ii = iimin+1, iimax-1
     grav(ii) = grav(ii) + delxinv * (gpot(ii-1) - gpot(ii+1))

     if (sweepDir .eq. SWEEP_X) then
       solnVec(POIX_VAR, ii, pos(1), pos(2)) = grav(ii)
     end if
     if (sweepDir .eq. SWEEP_Y) then
       solnVec(POIY_VAR, pos(1), ii, pos(2)) = grav(ii)
     end if
     if (sweepDir .eq. SWEEP_Z) then
       solnVec(POIZ_VAR, pos(1), pos(2), ii) = grav(ii)
     end if
  enddo

  grav(iimin) = grav(iimin+1)     ! this is invalid data - must not be used
  grav(iimax) = grav(iimax-1)
  if (sweepDir .eq. SWEEP_X) then
    solnVec(POIX_VAR, iimin, pos(1), pos(2)) = grav(iimin+1)
    solnVec(POIX_VAR, iimax, pos(1), pos(2)) = grav(iimax-1)
  end if
  if (sweepDir .eq. SWEEP_Y) then
    solnVec(POIY_VAR, pos(1), iimin, pos(2)) = grav(iimin+1)
    solnVec(POIY_VAR, pos(1), iimax, pos(2)) = grav(iimax-1)
  end if
  if (sweepDir .eq. SWEEP_Z) then
    solnVec(POIZ_VAR, pos(1), pos(2), iimin) = grav(iimin+1)
    solnVec(POIZ_VAR, pos(1), pos(2), iimax) = grav(iimax-1)
  end if

Slices were taken along the x-axis.

Thanks for your help,
Ryan
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://flash.rochester.edu/pipermail/flash-users/attachments/20170225/e26ddd12/attachment.htm>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: dustcoll_hdf5_chk_0000_Slice_x_dens.png
Type: image/png
Size: 36803 bytes
Desc: not available
URL: <http://flash.rochester.edu/pipermail/flash-users/attachments/20170225/e26ddd12/attachment.png>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: dustcoll_hdf5_chk_0000_Slice_x_temp.png
Type: image/png
Size: 34430 bytes
Desc: not available
URL: <http://flash.rochester.edu/pipermail/flash-users/attachments/20170225/e26ddd12/attachment-0001.png>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: dustcoll_hdf5_chk_0000_Slice_x_poiz.png
Type: image/png
Size: 35146 bytes
Desc: not available
URL: <http://flash.rochester.edu/pipermail/flash-users/attachments/20170225/e26ddd12/attachment-0002.png>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: dustcoll_hdf5_chk_0000_Slice_x_poiy.png
Type: image/png
Size: 35582 bytes
Desc: not available
URL: <http://flash.rochester.edu/pipermail/flash-users/attachments/20170225/e26ddd12/attachment-0003.png>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: dustcoll_hdf5_chk_0000_Slice_x_poix.png
Type: image/png
Size: 34985 bytes
Desc: not available
URL: <http://flash.rochester.edu/pipermail/flash-users/attachments/20170225/e26ddd12/attachment-0004.png>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: dustcoll_hdf5_chk_0000_Slice_x_gpot.png
Type: image/png
Size: 48824 bytes
Desc: not available
URL: <http://flash.rochester.edu/pipermail/flash-users/attachments/20170225/e26ddd12/attachment-0005.png>


More information about the flash-users mailing list