[FLASH-USERS] Problem with Diffuse module

ascenzi stefano.ascenzi at roma2.infn.it
Thu Nov 30 12:07:16 EST 2017


Hi Klaus, thank you for your reply.

> I would expect that you also see extremely small dt_hydro timesteps
> at this point.

Yes, I have also a small dt_hydro.

> In your grid boundary condition, you should make sure that the guard 
> cells
> are filled in a thermodynamically consistent manner. Call Eos if
> necessary.
> 
> How are you setting the boundary conditions for the diffusion solver?
> Are they consistent with the grid boundary conditions used by Hydro 
> etc.?

I call the EOS in the user define boundary condition so I expect that 
all the thermodynamic
quantities are consistent.

However I did not define any boundary condition for diffusion solver. In 
the FLASH4 user guide I
found the list with all the boundary conditions but it is not clear to 
me how to define them. Are there any runtime parameters to define these 
boundary conditions (as diff_eleXlBoundaryType for electron thermal 
conduction ?)

Thank you,

Stefano

Il 2017-11-28 23:18 Klaus Weide ha scritto:
> On Tue, 28 Nov 2017, ascenzi wrote:
> 
>> Nevertheless at a certain point the simulation stops after many 
>> warning
>> messages like this
>> 
>> [gr_hypreSolve]: Nonconv./failure ierr=0, component=0, converged=F, 
>> |initial
>> RHS|^2=1.5905+100, num_iterations=500, final_res_norm=5.58312351294
>> 
>> (similar to those of the older post Ernesto linked me)
> 
> You should make a plot at this point, to see what is going on.
>> 
>> then I had the following error message
>> 
>>  DRIVER_ABORT: [Diffuse]: computed dt is not positive! Aborting!
>> 
>>  Driver_abort called. See log file for details.
>>  Error message is [Diffuse]: computed dt is not positive! Aborting!
>>  Calling MPI_Abort() for shutdown in   2 seconds!
>> 
>> due to the fact that dt_diffuse dropped very fast (despite the fact 
>> that
>> dt_diff_factor = 1.E30).
> 
> I would expect that you also see extremely small dt_hydro timesteps
> at this point.
> 
>> Is it possibile that this is due to the fact that the temperature 
>> becomes too
>> high (about 10^12 K)?
> 
> Yes, quite possible - is that a physically meaningful value?
> 
> It seems you are combining several tricky elements in your simulation:
> 
> 1. user-defined boundary conditions (lots can go wrong here if not 
> careful),
> 2. diffusion solve, with extreme values at a boundary,
> 3. user-defined conductivity,
> 4. spherical coordinates.
> 
> In your grid boundary condition, you should make sure that the guard 
> cells
> are filled in a thermodynamically consistent manner. Call Eos if
> necessary.
> 
> How are you setting the boundary conditions for the diffusion solver?
> Are they consistent with the grid boundary conditions used by Hydro 
> etc.?
> 
>> Moreover a further question: is there a simple way to switch on the 
>> diffusion
>> only after a user-defined time or switch it off in a specific region 
>> of the
>> domain regardless to the value of the density in that region ?
> 
> As a function of time, yes. I assume you have already written a 
> modified
> "Conductivity.F90" (and maybe "Conductivity_fullState.F90"). You can
> get the current simulation time (maybe by calling Driver_getSimTime),
> and set the returned conductivity and/or diffusivity to 0 (or close)
> to turn off conduction.
> 
> Klaus



More information about the flash-users mailing list