[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