[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