[FLASH-USERS] Problems Simulating Partially Ionized Plasma with USM

Klaus Weide klaus at flash.uchicago.edu
Thu May 10 21:33:38 EDT 2012


Patrick,

Below I have added various comments. These may or may not help you 
directly, and I am not addressing any aspects of your problem specific to 
the MHD solver.  Read references to "Hydro" below as "Hydro or MHD 
implementation".

On Thu, 10 May 2012, Patrick Rieser wrote:

> So I am using a little bit modified Flash 3.3 to do simulations on galaxy
> cluster for my master thesis. We have got a MHD setup using USM. By now there
> are two species defined, H and He and the calculations are done with the
> assumption of full ionization. So now my part is to extend the simulation that
> a partially ionized gas can be calculated with neutral parts H and He, and
> ionized parts H+, He+ and He++. After each time step the ionization of those
> particles should be recalculated. My plan has been to modify the USM solver. I
> thought of integrating two different densities, one for the neutral and one
> for the ionized particles. 

Note that when you have species defined, the Hydro and MHD solvers should 
in effect already integrate several densities, without any further effort:
namely, partial densities for the various species as well as the usual 
total density.  (This is basically done by advecting the mass fractions.)

> Then add source terms to the flow vectors of the
> USM solver. To get those source terms I would have to modify EOS equations.
> 
> Even though I did quite some reading about multifluid MHD and spend quite some
> time playing with flash and it's source code I can't get my head around some
> thing:
> 
> 1) I recently stumbled over the Ionization module in flash. But I am not quite
> sure if I can use it to do what I want and would not have to modify the EOS
> and USM modules, but change the setup of our simulation. This is because of 2)

In principle, you should be able to use the Ionize unit; if not in its 
current form (with the existing sets of species and rates) then at least 
some modification that does essentially the same things.  (There are some 
things going on in the existing implementation that I don't properly 
understand - like how mass fractions for hydrogen and electrons are 
determined, and why there is a mass fraction for the electrons at all - 
and they may not be appropriate for your application.  Note that according 
to the Users Guide (16.2.1), "the source term in the NEI unit 
implementation is adequate to solve the problem for optically thin plasma 
in the ``coronal'' approximation; just collisional ionization, 
auto-ionization, radiative recombination, and dielectronic recombination 
are considered.")

Above you wrote: "After each time step the ionization of those particles 
should be recalculated." This gives the impression that you want the 
ionization levels to adapt to the updated state (incl. temperature) 
instantaneously after Hydro or MHD has moved the fluid around. That would 
be just the "Eqi" implementation of the Ionize unit. You would use the
"Nei" implementation if you wanted to take account of non-equilibrium 
ionization instead.

> 2) I read the PhD thesis from Dongwook Lee describing the Unsplit scheme for
> multidimensional MHD and tried to pick apart the USM source code but I can't
> really find out how flash handles (multi) species, density and Ionization in
> the USM solver. Does USM work with the Ionization module? If so, can USM
> handle neutral species and the partially ionized plasma? Do I just have to
> implement the Ionized module in the simulation then?

For comparison and for reference, here is how variable ionization is 
represented in FLASH in 3T (three temperature) mode, in contrast to the 
approach taken in the Ionize unit. I don't mean to imply that you should 
use FLASH in this mode, just to present an alternative approach that is 
actually being used.

  * No need to use the Ionize unit; as it is, it wouldn't work right with 
    3T mode anyway.

  * Electrons are not represented as a FLASH "species"; the number 
    density of electrons is computed by the 3T Eos implementation 
    instead, and is (usually) an output from Eos calls.  
    The Zfree (number of free electron per ion) used in these 3T Eos 
    implementations can be a fixed property of a material or based
    on a (T_ele,rho) table and/or a combination of contributions
    from different species.

  * Each FLASH "species" represents the mass fraction of one "material" 
    (i.e. here, one element), not of one ionization level of one element. 
    In your simulations you would have only two species, H_SPEC and 
    HE_SPEC.

  * The code keeps track of specific internal energy of the electron component
    of the fluid, or equivalently electron temperature T_ele (in addition 
    to T_ion, T_rad), in addition to combined (total) energy.
    Since Zfree depends on T_ele, ionization is currently assumed
    in equilibrium with electron thermal energy (but electrons and ion
    thermal energy need not be in equilibrium).


I hope this is of some use.

Klaus



More information about the flash-users mailing list