# whistlerWave (1d, 2d, 3d)¶

Compute the time step restriction determined by the whistler wave and the grid resolution.

## Parameters¶

massIndex (integer, optional)
Gives the index of the Vector of Conserved Quanties that stores mass density. Defaults to 0.
chargeStateIndex (integer, optional)
Gives the index of the Vector of Conserved Quanties that stores mass density. Defaults to 0.
fundamentalCharge (float, required)
Proton charge
speciesMass (float, required)
Mass of the species for which we are computing the plasma frequency.
mu0 (float, required)
Permeability of free space.
bIndex (integer vector, optional)
Gives the indices of the Vector of Conserved Quanties that stores the magnetic field. Default: bIndex=[5 6 7].

## Parent Updater Data¶

The following data structures should be specified to the timeStepRestrictionUpdater (1d, 2d, 3d) that calls the whistlerWave Time Step Restriction.

in (string vector, required)
Vector of Conserved Quanties (nodalArray, at least 8 components, required)

The vector of conserved quantities, $$\mathbf{q}$$ has at least 8 entries:

1. $$\rho$$: mass density
2. $$\rho\,u_{\hat{\mathbf{i}}} = \rho \mathbf{u} \cdot \hat{\mathbf{i}}$$: momentum density in the $$\hat{\mathbf{i}}$$ direction
3. $$\rho\,u_{\hat{\mathbf{j}}} = \rho \mathbf{u} \cdot \hat{\mathbf{j}}$$: momentum density in the $$\hat{\mathbf{j}}$$ direction
4. $$\rho\,u_{\hat{\mathbf{k}}} = \rho \mathbf{u} \cdot \hat{\mathbf{k}}$$: momentum density in the $$\hat{\mathbf{k}}$$ direction
5. $$E = \frac{P}{\gamma -1} + \tfrac{1}{2}\rho|\mathbf{u}|^2 + \tfrac{1}{2}|\mathbf{b}|^2$$: total energy density
6. $$b_{\hat{\mathbf{i}}} = \mathbf{b} \cdot \hat{\mathbf{i}} = \mu^{-1/2}_{0} \mathbf{B} \cdot \hat{\mathbf{i}}$$: magnetic field normalized by permeability of free-space in the $$\hat{\mathbf{i}}$$ direction
7. $$b_{\hat{\mathbf{j}}} = \mathbf{b} \cdot \hat{\mathbf{j}} = \mu^{-1/2}_{0} \mathbf{B} \cdot \hat{\mathbf{j}}$$: magnetic field normalized by permeability of free-space in the $$\hat{\mathbf{j}}$$ direction
8. $$b_{\hat{\mathbf{k}}} = \mathbf{b} \cdot \hat{\mathbf{k}} = \mu^{-1/2}_{0} \mathbf{B} \cdot \hat{\mathbf{k}}$$: magnetic field normalized by permeability of free-space in the $$\hat{\mathbf{k}}$$ direction
Ion Charge State (nodalArray, at least 1 component1, required)
The charge state of the ions in the plasma. If a data structure with more than 1 component is specified, then the component corresponding to the charge state can be supplied with chargeStateIndex.

## Example¶

The following block demonstrates whistlerWave used in combination with timeStepRestrictionUpdater (1d, 2d, 3d) and hyperbolic (1d, 2d, 3d) to compute the fastest wave speed and the timestep restriction for Hall MHD:

<Updater timeStepRestriction>
kind = timeStepRestrictionUpdater2d
in = [q, Zavg]
onGrid = domain
waveSpeeds = [waveSpeed]
restrictions = [idealMhd,whistler]
courantCondition = CFL

<TimeStepRestriction idealMhd>
kind = hyperbolic2d
model = mhdDednerEqn
gasGamma = GAS_GAMMA
mu0=MU0
</TimeStepRestriction>

<TimeStepRestriction whistler>
kind = whistlerWave2d
fundamentalCharge = CHARGE
speciesMass = MI
chargeStateIndex = 0
mu0 = MU0
bIndex = [5 6 7]
massDensityIndex = 0
gasGamma = GAS_GAMMA
</TimeStepRestriction>
</Updater>