[FLASH-USERS] MHD (8wave & USM): Refinement region boundaries - spurious waves when B field is oblique to jumps in refinement.

Jonathan Thurgood jonathan.thurgood at northumbria.ac.uk
Wed May 11 07:55:57 EDT 2016


Dear All,

I was hoping someone might be able help me to overcome a seemingly serious problem which looks like it might prohibit me from migrating my current research project to FLASH.

SETUP DESCRIPTION:

The test setup is a linear, 2D magnetic null point:

B=[x,-y]   .

This is a cylindrically symmetric structure where the magnetic field strength linearly increases with radius. It is in force balance between magnetic tension and magnetic pressure and is known to be a stable equilibrium. All other parameters are taken as constants.  I essentially want to study implosions guided into this structure, so have implemented a 'fixed' multi-resolution mesh whereby the highest levels of refinement are clustered towards B=0 at the origin, e.g.:

https://jonathanthurgood.files.wordpress.com/2016/05/fig_fieldlines.png   (2d null point, field line structure)

https://jonathanthurgood.files.wordpress.com/2016/05/nullpoint_modb.png  (2d null point, modB profile and multi-resolution grid overlaid)

https://jonathanthurgood.files.wordpress.com/2016/05/grid_structure.png (grid structure)

I have implemented this by adding the following lines to Grid_markRefineDerefine.F90, after line 131 but before line 135 (without any other modification).

!  call Grid_markRefineSpecialized
  gmrs_size = 4
  gmrs_spec = (/ 0.0, 0.0, 0.0, 0.01 /)
  call Grid_markRefineSpecialized(INRADIUS, gmrs_size, gmrs_spec, lrefine_max)

I have turned off adaptive refinement by not specifying any refine_vars in flash.par . This is because I am worried about prolongation of  a B=0 containing cell causing issues, so would prefer to set the equilibrium field directly in the initial condition to ensure only one cell contains the null point itself.  Please note also that I am worried that  it is possible that the problem I am about to describe will be manifest in many other setups / applications with actual adaptive refinement also, but would be harder to spot.

PROBLEM DESCRIPTION / FIGURES:

If I then run the code to test the stability of the equilibrium (ie., no perturbations), the following current pattern quickly builds up at the boundaries of each refinement level. This then launches inward-propagating waves towards the origin/null point, at large enough amplitudes to interfere with the solution.

https://jonathanthurgood.files.wordpress.com/2016/05/current_usm_monotonic_order2.gif (CurZ, USM, monotonic, interpolation order 2)

I believe this problem is to do with the guard cell filling by interpolation on the refinement boundary  calculating an inappropriate field value which specifies a bogus current and launches waves driven by this erroneous imbalance of Lorentz force. This seems to be particularly bad in the corners here where the field strength is  increasing obliquely  to the cell faces, and so we have the impression of wave fronts emanating predominantly from the corners of the refinement boundaries.

Changing the monotonic interpolation order for guard cell filling, or switching to 8 wave with PARAMESH's native interpolation, unfortunately does not fix this, but does change the shape and size of the artefacts as follows

https://jonathanthurgood.files.wordpress.com/2016/05/current_usm_monotonic_order0.gif (curz, USM, monotonic, interpolation order 0)
https://jonathanthurgood.files.wordpress.com/2016/05/current_usm_monotonic_order1.gif (curz, USM, monotonic, interpolation order 1)
https://jonathanthurgood.files.wordpress.com/2016/05/current_usm_monotonic_order2.gif (curz, USM, monotonic, interpolation order 2)
https://jonathanthurgood.files.wordpress.com/2016/05/current_8wave_native.gif  (curz, 8wave,native)

It is also interesting to note that I have in the past encountered a similar qualitative current build up / wave launching from the external/physical boundary if I use, say, outflow boundary conditions (or any other default) at the null, rather than my user defined condition which explicitly sets the field in the boundary.

https://jonathanthurgood.files.wordpress.com/2016/05/current_uniformgrid_defaultbc.gif  (curz, USM, outflow boundary + uniform)
https://jonathanthurgood.files.wordpress.com/2016/05/current_uniformgrid_userbc.gif  (curz, USM, user defined boundary + uniform grid)
(note, by uniform grid I mean that these runs just set minimum and maximum refinement level to be the same, rather than switching to UG  mode properly)

You can see that any current for the correct BC is just numerical noise (note the magnitude), whereas the default boundary conditions give similar behaviour to that noticed at the refinement boundaries. I think this supports the idea that field is not correctly calculated at the boundaries of refinement (in the case of using outflow boundary at a null, field is incorrectly specified by the BC, in the case of refinement region boundaries, field is incorrectly specified by interpolation.)

OTHER SETUPS THAT SEEM TO HAVE THE SAME PROBELM

I can also reproduce the problem in another geometry suggesting that it isn't specific or unique my 2D null point.

For example, I've tried the one dimensional field used in the Taylor problem and other reconnection studies.  Here,  if

B = [0,x]    + pressure chosen to maintain force balance

https://jonathanthurgood.files.wordpress.com/2016/05/taylor_problem_modb.png

                (see also http://adsabs.harvard.edu/abs/2003PhPl...10.4284F , which considered this problem with an early version of FLASH)

is considered with the same sort of static, multi-level grid I used at the null no such problems are initially encountered.

However, if one rotates everything by  45degrees so that the gradients in magnetic field are now oblique to the Cartesian grid, e.g.,

https://jonathanthurgood.files.wordpress.com/2016/05/taylor_problem_rotated_modb.png

similar artefacts to those described above for the null point can be clearly seen at the refinement boundaries.

Although I think I have the gist of why this is happening, I'm not sure about how to narrow it down further or begin to correct it.  Any advice on any aspect of the above, how to narrow this down further, possible solutions or general advice would be very much appreciated - I am very stuck!

Thanks for reading.

Best regards,

Jonathan
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://flash.rochester.edu/pipermail/flash-users/attachments/20160511/218e9291/attachment.htm>


More information about the flash-users mailing list