NFluidSrc

Applies the implicit source operator to the 5 moment N-fluid (ion, electron, EM) system. This operator should only really be applied to charged species as all the source terms are zero for neutral species so it can result in an excessively large matrix if neutral species are included. The approach is described for the two-fluid system in,

Kumar, Harish, and Siddhartha Mishra. “Entropy Stable Numerical Schemes for Two-Fluid Plasma Equations.” Journal of Scientific Computing 52.2 (2012): 401-425.

The algorithm in USim though can be applied to an arbitrary number of charged species (anywhere from 1 to N species!). A two-fluid version of this source is also in USIM twoFluidSrc and should be used when only two charged species are required since the algorithm will be slightly faster.

Parameters (All types)

type string
Specifies the type of implicit matrix. Options are 5Moment for the 5 moment two-fluid system.

Parameters (5Moment)

speciesCharge (float vector)
List of species charges in the same order as the species in variables. There should be the same number of charges as there are species.
speciesMass (float)
List of species masses in the same order as the species in variables. There should be the same number of masses as there are species.
epsilon0
Permittivity of free space

Parent Updater Data (5Moment)

in (string vector, required)

1st Variable

  1. \(\rho\) electron mass density
  2. \(\rho\,u_{x}\) electron x momentum density
  3. \(\rho\,u_{y}\) electron y momentum density
  4. \(\rho\,u_{z}\) electron z momentum density
  5. \(e\) electron energy density

2nd Variable

  1. \(\rho\) ion mass density
  2. \(\rho\,u_{x}\) ion x momentum density
  3. \(\rho\,u_{y}\) ion y momentum density
  4. \(\rho\,u_{z}\) ion z momentum density
  5. \(e\) ion energy density

Nth Variable

  1. \(\rho\) ion mass density
  2. \(\rho\,u_{x}\) ion x momentum density
  3. \(\rho\,u_{y}\) ion y momentum density
  4. \(\rho\,u_{z}\) ion z momentum density
  5. \(e\) ion energy density

(N+1)th Variable

  1. \(E_{x}\) x electric field
  2. \(E_{y}\) y electric field
  3. \(E_{z}\) z electric field
  4. \(B_{x}\) x magnetic field
  5. \(B_{y}\) y magnetic field
  6. \(B_{z}\) z magnetic field
  7. \(\Psi_{E}\) electric field correction potential
  8. \(\Psi_{B}\) magnetic field correction potential
out (string vector, required)
In all cases the output is \(Q^{n+1}\). For the 5 moment system there are N+1 outputs corresponding to each of the fluids (the same order as the input) and em field (in that order).

Example

<Updater NFluidLorentz>
   kind = equation1d

   onGrid = domain
   in =  [electronsNew, ionsNew, emNew]
   out = [electronsNew, ionsNew, emNew]
   #operation = add

  <Equation fluidLorentz>
    kind = NFluidSrc
    type = 5Moment
    speciesCharge = [ELECTRON_CHARGE, ION_CHARGE]
    speciesMass = [ELECTRON_MASS, ION_MASS]
    epsilon0 = 1.0
  </Equation>
</Updater>