[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