[FLASH-USERS] Multiple Species Hydro+MHD Simulation

Klaus Weide klaus at flash.uchicago.edu
Tue Jun 21 12:19:02 EDT 2016


On Fri, 17 Jun 2016, Weston Lowrie wrote:
> I'm looking to create a simulation where I have two bulk species
> (materials?) (i.e. ions and neutrals) where the ions will be bound by the
> MHD equations, and neutrals by hydro only equations.  Each of these "bulk"
> quantities will have their individual species.

Hello Weston,

What you should do depends on what you need.

 - If your two "bulk species" need to be modeled with each having its 
own "bulk" velocity - what we might call a "two-fluid" approach - then
significant code changes in FLASH would be required. Maybe as per your
option 1) (below), or in some other way that extends the set of variables
in a way that, AFAIK, has not been done with FLASH so far.

> It is unclear to me if I need to:
> 1) Setup two Units, one for the neutrals (hydro) and then another for the
> ions (MHD) so that they are evolved separately.  If this is the case how do
> I differentiate between the different densities, temp, velocities, etc?

The Hydro implementations under HydroMain/unsplit/Hydro_Unsplit and 
HydroMain/unsplit/MHD_StaggeredMesh (or any of the other implementations) 
are not meant to be used together; it would require significant changes
in those implementations to enable this (if it even could be meaningful to 
do it).

> or
> 2) Just use the MHD Unit and define all the different species (i.e. N, N2,
> O2, O, O+, N2+, O2+, etc.)  By properly defining the species with their
> respective charge will the hydro advance correctly?  

That would be the straightforward approach if you do NOT need to track 
different velocities. Hydro will advance the species (and thus implicitly 
the ionization levels) correctly, as long as "advancing the species" means 
just passive advection.

Any change in the "composition" of your species mixture, including 
whether chemical (or nuclear) reactions or just ionization / 
recombination, would have to be implemented in different units.

You could use FLASH in the 3T mode if you need to distinguish between the 
temperature of "ions" (including neutrals) and electrons. However, in 3T 
mode you would normally not represent different ionization levels (say O 
vs O+ vs O++) as different FLASH "species", but you would have one species 
(say O_SPEC) per element* whose ionization level is either implied by 
temperature (if using a table-based Eos implementation) or fixed (for 
Gamma-like Eos).

* or per group of elements that you consider a "material"

> Maybe I also need to
> use the Ionization unit?

The Ionize unit in FLASH provides one specific implementation for 
following the evolution of ionization levels over time, under certain 
physical assumptions and under the assumption that all ionization levels 
of several elements are represented as separate FLASH species.
This may or may not be applicable to the cases you are interested in.
(Since you appear to be interested in molecular species, I suspect the 
answer is no.)


> I appreciate any help on how to think about this in Flash.

HTH,

Klaus



More information about the flash-users mailing list