[FLASH-USERS] 3D Spherical errors (guard-cell variables zero)

Sean Couch smc at flash.uchicago.edu
Thu Jul 10 10:56:07 EDT 2014


Thanks for tracking that down, Luke!  We shall add a warning at initialization to avoid this case.

Sean

--------------------------------------------------------
Sean M. Couch
Hubble Fellow
Flash Center for Computational Science
Department of Astronomy & Astrophysics
The University of Chicago
5747 S Ellis Ave, Jo 315
Chicago, IL  60637
(773) 702-3899
www.flash.uchicago.edu/~smc




On Jul 10, 2014, at 9:49 AM, Luke Zoltan Kelley <lkelley at cfa.harvard.edu> wrote:

> It turns out the problem was boundary conditions in the theta ('y') direction.  I confused the theta and phi axes, and was using 'periodic' boundary conditions for theta --- which caused my errors.
> 
> A warning/error message that periodic boundary conditions are not allowed/supported for the y-axis, in spherical coordinates might be extremely helpful for anyone who runs into the same problems.
> 
> Cheers,
> Luke
> 
> 
> 
> On Jul 6, 2014, at 12:06 PM, Luke Zoltan Kelley <lkelley at cfa.harvard.edu> wrote:
> 
>> Hello flash-users!
>> 
>> I'm new to FLASH and trying to convert a simulation from cartesian to (3D) spherical, but I'm running into some errors.  If anyone has had recent success using 3D spherical, I would be very appreciative of any tips they had, or issues they overcame.  In particular, I'm getting a warning from source/Grid/GridMain/paramesh/paramesh4/gr_sanitizeDataAfterInterp.F90 that my guard-cells aren't being set correctly:
>> 
>> 
>> WARNING after gc filling: min. unk(DENS_VAR)=0.000000000000000000000          PE=0     block=1                         type=2                               
>> 16   0.0      0.0      0.0      0.0      0.0      0.0      0.0      0.0      0.0      0.0      0.0      0.0      0.0   0.0      0.0      0.0    
>> 15   0.0      0.0      0.0      0.0      0.0      0.0      0.0      0.0      0.0      0.0      0.0      0.0      0.0   0.0      0.0      0.0    
>> 14   0.0      0.0      0.0      0.0      0.0      0.0      0.0      0.0      0.0      0.0      0.0      0.0      0.0   0.0      0.0      0.0    
>> 13   0.0      0.0      0.0      0.0      0.0      0.0      0.0      0.0      0.0      0.0      0.0      0.0      0.0   0.0      0.0      0.0    
>> 12  0.10E-18 0.63E-01 0.63E-01 0.62E-01 0.62E-01 0.63E-01 0.63E-01 0.10E-18 0.10E-18 0.10E-18 0.10E-18 0.10E-18 0.10E-18 0.10E-18 0.10E-18 0.10E-18
>> 11  0.10E-18 0.63E-01 0.62E-01 0.63E-01 0.63E-01 0.62E-01 0.63E-01 0.10E-18 0.10E-18 0.10E-18 0.10E-18 0.10E-18 0.10E-18 0.10E-18 0.10E-18 0.10E-18
>> 10  0.10E-18 0.62E-01 0.62E-01 0.63E-01 0.63E-01 0.62E-01 0.62E-01 0.10E-18 0.10E-18 0.10E-18 0.10E-18 0.10E-18 0.10E-18 0.10E-18 0.10E-18 0.10E-18
>> 9  0.10E-18 0.63E-01 0.63E-01 0.62E-01 0.62E-01 0.63E-01 0.63E-01 0.10E-18 0.10E-18 0.10E-18 0.10E-18 0.10E-18 0.10E-18 0.10E-18 0.10E-18 0.10E-18
>> 8  0.10E-18 0.62E-01 0.63E-01 0.63E-01 0.63E-01 0.63E-01 0.62E-01 0.10E-18 0.10E-18 0.10E-18 0.10E-18 0.10E-18 0.10E-18 0.10E-18 0.10E-18 0.10E-18
>> 7  0.10E-18 0.63E-01 0.62E-01 0.62E-01 0.62E-01 0.62E-01 0.63E-01 0.10E-18 0.10E-18 0.10E-18 0.10E-18 0.10E-18 0.10E-18 0.10E-18 0.10E-18 0.10E-18
>> 6  0.10E-18 0.62E-01 0.63E-01 0.62E-01 0.62E-01 0.63E-01 0.62E-01 0.10E-18 0.10E-18 0.10E-18 0.10E-18 0.10E-18 0.10E-18 0.10E-18 0.10E-18 0.10E-18
>> 5  0.10E-18 0.62E-01 0.63E-01 0.63E-01 0.63E-01 0.63E-01 0.62E-01 0.10E-18 0.10E-18 0.10E-18 0.10E-18 0.10E-18 0.10E-18 0.10E-18 0.10E-18 0.10E-18
>> 4   0.0      0.0      0.0      0.0      0.0      0.0      0.0      0.0      0.0      0.0      0.0      0.0      0.0   0.0      0.0      0.0    
>> 3   0.0      0.0      0.0      0.0      0.0      0.0      0.0      0.0      0.0      0.0      0.0      0.0      0.0   0.0      0.0      0.0    
>> 2   0.0      0.0      0.0      0.0      0.0      0.0      0.0      0.0      0.0      0.0      0.0      0.0      0.0   0.0      0.0      0.0    
>> 1   0.0      0.0      0.0      0.0      0.0      0.0      0.0      0.0      0.0      0.0      0.0      0.0      0.0   0.0      0.0      0.0    
>> 
>> 
>> These warnings are given for DENS_VAR, ENER_VAR, EINT_VAR and all blocks.
>> (presumably) for this reason I'm getting arithmetic exceptions when source/physics/Eos/EosMain/Gamma/eos_idealGamma.F90 tries to divide by the (zero) densities, the backtrace I get is:
>> 
>> 
>> Program received signal EXC_ARITHMETIC, Arithmetic exception.
>> 0x000000010024cf6e in eos_idealgamma_ (mode=103, veclen=8, eosdata=(), vecbegin=Cannot access memory at address 0x0
>> ) at eos_idealGamma.F90:341
>> 341	                                   eosData(dens+ilo:dens+ihi)
>> (gdb) bt
>> #0  0x000000010024cf6e in eos_idealgamma_ (mode=103, veclen=8, eosdata=(), vecbegin=Cannot access memory at address 0x0
>> ) at eos_idealGamma.F90:341
>> #1  0x000000010001149b in eos_ (mode=103, veclen=8, eosdata=(), massfrac=(), mask=(.FALSE., .FALSE., .FALSE., .FALSE., .FALSE., .FALSE., .FALSE., .FALSE., .FALSE., .FALSE., .FALSE., .FALSE., .FALSE.), vecbegin=Cannot access memory at address 0x0
>> ) at Eos.F90:265
>> #2  0x000000010001edea in eos_wrapped_ (mode=103, range=(( 5, 12) ( 1, 4) ( 1, 1) ), blockid=1, griddatastruct=Cannot access memory at address 0x0
>> ) at Eos_wrapped.F90:220
>> #3  0x0000000100019b15 in complexskipping.1886 () at Eos_guardCells.F90:43
>> #4  0x000000010001afd8 in eos_guardcells_ (corners=.TRUE., layers=(4, 4, 4), skipsrl=.TRUE.) at Eos_guardCells.F90:120
>> #5  0x00000001000322d7 in grid_fillguardcells_ (griddatastruct=380, idir=-1, minlayers=Cannot access memory at address 0x0
>> ) at Grid_fillGuardCells.F90:482
>> #6  0x000000010006340e in grid_markrefinederefine_ () at Grid_markRefineDerefine.F90:98
>> #7  0x000000010029eec2 in gr_expanddomain_ (particlesinitialized=.FALSE.) at gr_expandDomain.F90:212
>> #8  0x0000000100061385 in grid_initdomain_ (restart=.FALSE., particlesinitialized=.FALSE.) at Grid_initDomain.F90:98
>> #9  0x000000010000d405 in driver_initflash_ () at Driver_initFlash.F90:156
>> #10 0x000000010001f19c in flash () at Flash.F90:49
>> #11 0x000000010001f20e in main (argc=1, argv=0x7fff5fbff870 '/Users/lzkelley/Applications/flash/flash4.2.2/object_starwind/flash4\000') at Flash.F90:43
>> 
>> 
>> In my Simulation_initBlock.F90, I am looping over the guard-cells and setting all densities to non-zero values --- if I print out the densities during the initialization loop I get the appropriate densities from i,j,k = {1,1,1} up to {16,16,16} --- so it seems like the guard-cells are being overwritten to zero...
>> This does not occur in 3D cartesian, and also does *not* occur when I run SodSpherical (which seems to work properly, strangely enough).
>> 
>> I believe I've also found a bug in source/physics/Hydro/HydroMain/split/PPM/PPMKernel/avisco.F90:416, when sweeping along "y" (theta) in 3D spherical the denominator [ 'sin(xl(i))' ] is allowed to be zero and causes arithmetic exceptions.
>> 
>> Any help on this particular problem, or on getting spherical running in general would be greatly appreciated!
>> Thanks,
>> Luke

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://flash.rochester.edu/pipermail/flash-users/attachments/20140710/e9e697c2/attachment-0001.htm>


More information about the flash-users mailing list