[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