[FLASH-USERS] problem w/ userdef boundary

Klaus Weide klaus at flash.uchicago.edu
Thu Sep 24 12:11:01 EDT 2009


On Thu, 24 Sep 2009, Andrew Szymkowiak wrote:

> I've been working with a new simulation, and my Simulation_initBlock works
> fine.  Now I'm trying to add a Grid_bcApplyToRegionSpecialized, and much of
> that is working, when all 6 boundaries are set to "reflect".  But when I set
> one boundary to "userdef", my simulation dies because the guardcells along
> that face are never initialized, they are left at zero, and the "sanitize"
> routine complains because densities, etc are too small.  So I've started
> crawling around in the debugger, and what I've discovered so far is that the
> gr_bcApplyToOneFace routine is only calling my Grid_bcApplyToRegionSpecialized
> 5 times, once for each of the reflecting boundaries, but never for the userdef
> one.  I've been watching the surrblks array, and never see the userdef value
> (-38) in it, only the -31 (=REFLECTING)

Could it be as simple as this:

The string you are using is not recognized and silently ignored.  For 
boundary conditions, the recognized strings are in 
the file RuntimeParameters_mapStrToInt.F90:

$ grep -in user RuntimeParameters_mapStrToInt.F90 
122:  case ("user", "user-defined","USER","USER-DEFINED")
123:#ifdef USER_DEFINED
124:     constKey = USER_DEFINED

So you should have "user" or "user-defined" in your flash.par, not 
"userdef".

Klaus



More information about the flash-users mailing list