[FLASH-USERS] Wiggles appearing in density profile

Klaus Weide klaus at flash.uchicago.edu
Thu Nov 16 11:13:39 EST 2017


On Tue, 31 Oct 2017, Esha Kundu wrote:

> I'm running the flash code radflaHD in 1D with a very steep density 
> profile. The code is running properly but there are wiggles appearing 
> around the steep density structure. I have attached the figures which 
> show the initial density profile (density_1d_initial.png) and the 
> density structure at a late epoch (density_1d_later.png) when the 
> wiggles start to appear.  The amplitude of these wiggles are increasing 
> with time.
> 
> 
> Does anyone know why these wiggles are appearing and how can I get rid 
> of these wiggles? I am using split PPM hydro solver, have uniform 
> resolution all over the simulated region and the eosModeInit = 
> "dens_temp"?.?
> 
> I would appreciate if someone can help me.

Esha,

It is not clear to me what kind of configuration you have created, the 
information give appears contradictory: If you are using the "radflaHD" 
code, you should be using the hydro code under

  source/physics/Hydro/HydroMain/unsplit_rad/ ,

and not the code under

  source/physics/Hydro/HydroMain/split/PPM/ ,

as you message implies.  So more information would be useful, including 
your setup command, list of units and list of variables that are included.

Assuming that your are indeed using 

  source/physics/Hydro/HydroMain/unsplit_rad/ -

1) Your code should also include the directory (see output from setup 
   command)

     source/physics/Hydro/HydroMain/unsplit_rad/multiTemp/

   and one subdirectory of

     source/physics/Eos/EosMain/multiTemp/MatRad3/  ;

   make sure that is the case.

   With that variant of Eos implementation, you will probably
   need something like 

     eosModeInit = "dens_temp_equi" # or "dens_temp_gather" ,

   depending how you initialize your temperature(s) (note plural)
   in Simulation_initBlock.

   See sample setups under source/Simulation/SimulationMain/radflaHD/
   for more information and examples.

2) If you do everything else right and still have unphysical wiggles,
   you can try smoothing the flux limiter. This is specific to the
   HydroMain/unsplit_rad "flux-limiter aware" hydro variant. Code for this 
   has been included in the FLASH4.4 release, but is only minimally 
   documented. Excerpt from HydroMain/unsplit_rad/multiTemp/Config:

========================================================================
# Runtime parameters for radiation flux limiter smoothing
D hy_smoothIterations    number of smoothing iterations, 0 means no smoothing is applied.
D hy_smoothMethod        smoothing method
D hy_smoothCoeff         smoothing coefficient, used in some SOR-like methods
D hy_useMaxSmoothVarVal  Use upper bound on values to be smoothed?
D hy_useMinSmoothVarVal  Use lower bound on values to be smoothed?
D hy_maxSmoothVarVal     upper bound of value range where smoothing is applied.
D hy_minSmoothVarVal     lower bound of value range where smoothing is applied.
PARAMETER hy_smoothIterations    INTEGER  0    [0 ...]
PARAMETER hy_smoothMethod        STRING "SMOOTH_3POINT" [SMOOTH_3POINT, "SMOOTH_SOR", SMOOTH_HARMONIC_SOR]
PARAMETER hy_smoothCoeff         REAL   1.0
PARAMETER hy_useMaxSmoothVarVal  BOOLEAN        FALSE
PARAMETER hy_useMinSmoothVarVal  BOOLEAN        FALSE
PARAMETER hy_maxSmoothVarVal     REAL   1.0
PARAMETER hy_minSmoothVarVal     REAL   0.0
========================================================================

   So you could start by setting

    hy_smoothIterations = 4    # (for example)

   in your parameter file.


Hope this helps,

Klaus



More information about the flash-users mailing list