[FLASH-USERS] Resistive MHD question

Dongwook Lee dongwook at flash.uchicago.edu
Mon Apr 23 16:20:27 CDT 2007


Hi Dennis,

I'd like to point out several things:

In FLASH2.5's 8wave solver (see mhd_interpolate.F90)
tries to prevent those unphysical states by reducing
interpolation gradients when constructing left and
right states.

But if you take a close look at line 307 in the
interpolation routine, you'll see
the algorithm is just exiting out the DO loop
when "counter" is negative, without fixing the
possible unphysical state(s). So the current
mhd_interpolate.F90 does not fix the issue
if any negative states were introduced during
the interpolation step. If you want to fix it
you might want to try modifying lines to

             ...
         if( counter < 0 ) then
           Ux = 0
 	  Um(:,i) = Uc(:,i)
 	  Up(:,i) = Uc(:,i)
           exit
         else
             ...

As for the divB terms in resistive flux implementation,
the inclusion of divB meant to improve numerical
behaviour of the 8wave solver, because the solver does
not assume divB=0. Since the divB gets bigger near
discontinuities, and if you're using 8wave solver
for your resistive mhd implementation, I'd suggest
you put those terms to make the scheme stable.

Other choice would be to use the robust
HLLE solver to provide positivity.

Hope this helps.

Dongwook

----------------------------------------------------
Dongwook Lee, Ph.D., Research Associate
ASC Center for Astrophysical Thermonuclear Flashes
University of Chicago
5640 S. Ellis, RI 484
(773) 834-6830

On Mon, 23 Apr 2007, Dennis Duffin wrote:

> Hello all,
>
> I have a Resistive MHD question.
>
> I'm playing with a custom built module modeled after the resistive MHD
> stuff in FLASH2.5.  The non-ideal physics I'm playing with is mainly
> ambipolar diffusion (which kinda looks like ohmic diffusion).
>
> Anyhow, midway through the simulation the run will crash (getting
> negative densities; though even if I make these positive it will crash
> on the same step).  I have no idea why.
>
> One thing I forgot to add were the divB terms and I noticed that the
> ohmic diffusion module includes them (as the MHD method is not assuming
> divB = 0).  Is there any chance this could cause my program to crash
> (note:  I will soon find out, but there are no div B anomalies in my
> crashed run.)???
>
> However, if anything else pops to mind I appreciate the input!  I
> figure similar things may have happened in ohmic diffusion runs.
>
> thanks for any help!
> Dennis
>



More information about the flash-users mailing list