maxwellDednerEqn

Fluxes and eigensystem for Maxwell’s equations in vacuum with divergence cleaning.

\[\begin{align} \frac{\partial \mathbf{E}}{\partial t} + c^2 \nabla\times\mathbf{B} + \nabla \Phi= 0 \\ \frac{\partial \mathbf{B}}{\partial t} - \nabla\times\mathbf{E} + \nabla \psi= 0 \\ \frac{\partial \Phi}{\partial t} + \nabla\cdot\left[ c^{2}_{\mathrm{fast}} \mathbf{E} \right] = 0 \\ \frac{\partial \psi}{\partial t} + \nabla\cdot\left[ c^{2}_{\mathrm{fast}} \mathbf{B} \right] = 0 \end{align}\]

Coupling of Maxwell’s equations to a plasma is accomplished using current.

Parameters

mu0 (float, optional)
Permeability of free space. Default value is 1.256e-06.
epsilon0 (float, optional)
Permittivity of free space. Default value is 8.854e-12.
cfl (float, optional)
CFL number. Default value is 1.0.

Parent Updater Data

in (string vector, required)
Vector of Conserved Quantities (nodalArray, 8-components, required)

The vector of conserved quantities, \(\mathbf{q}\) has 8 entries:

  1. \({E}_{\hat{\mathbf{i}}} = \mathbf{E} \cdot \hat{\mathbf{i}}\): electric field in the \(\hat{\mathbf{i}}\) direction.
  2. \({E}_{\hat{\mathbf{j}}} =\mathbf{E} \cdot \hat{\mathbf{j}}\): electric field in the \(\hat{\mathbf{j}}\) direction
  3. \({E}_{\hat{\mathbf{k}}} = \mathbf{E} \cdot \hat{\mathbf{k}}\): electric field in the \(\hat{\mathbf{k}}\) direction
  4. \(B_{\hat{\mathbf{i}}} = \mathbf{B} \cdot \hat{\mathbf{i}}\): magnetic field in the \(\hat{\mathbf{i}}\) direction
  5. \(B_{\hat{\mathbf{j}}} = \mathbf{B} \cdot \hat{\mathbf{j}}\): magnetic field in the \(\hat{\mathbf{j}}\) direction
  6. \(B_{\hat{\mathbf{k}}} = \mathbf{B} \cdot \hat{\mathbf{k}}\): magnetic field in the \(\hat{\mathbf{k}}\) direction
  7. \(\Phi\) electric field correction potential
  8. \(\Psi\) magnetic field correction potential
Fastest Wave Speed (dynVector, 1-component, required)
The fastest wave speed across the entire simulation domain, \(c_{\mathrm{fast}}\). Can be computed using hyperbolic (1d, 2d, 3d) (see below).
out (string vector, required)

For the maxwellDednerEqn, one of three output variables are computed, depending on whether the equation is combined with an updater capable of computing fluxes (classicMusclUpdater (1d, 2d, 3d)), the time step associated with the CFL condition (timeStepRestrictionUpdater (1d, 2d, 3d)) or the fastest wave speed in the grid (hyperbolic (1d, 2d, 3d)).

Vector of Fluxes (nodalArray, 9-components)

When combined with an updater that computes \(\nabla \cdot \mathcal{F}\left(\mathbf{w} \right)\) (e.g. classicMusclUpdater (1d, 2d, 3d)), the equation system returns:

  1. \(\nabla \cdot \mathcal{F}\left( {E}_{\hat{\mathbf{i}}} \right)\): \(\hat{\mathbf{i}}\) electric field flux
  2. \(\nabla \cdot \mathcal{F}\left( {E}_{\hat{\mathbf{j}}} \right)\): \(\hat{\mathbf{i}}\) electric field flux
  3. \(\nabla \cdot \mathcal{F}\left( {E}_{\hat{\mathbf{k}}} \right)\): \(\hat{\mathbf{j}}\) electric field flux
  4. \(\nabla \cdot \mathcal{F}\left( {B}_{\hat{\mathbf{i}}} \right)\): \(\hat{\mathbf{i}}\) magnetic field flux
  5. \(\nabla \cdot \mathcal{F}\left( {B}_{\hat{\mathbf{j}}} \right)\): \(\hat{\mathbf{i}}\) magnetic field flux
  6. \(\nabla \cdot \mathcal{F}\left( {B}_{\hat{\mathbf{k}}} \right)\): \(\hat{\mathbf{j}}\) magnetic field flux
  7. \(\nabla \cdot \mathcal{F}\left(\psi \right)\): electric correction potential flux
  8. \(\nabla \cdot \mathcal{F}\left(\psi \right)\): magnetic correction potential flux
Time Step (dynVector, 1-component)
When combined with timeStepRestrictionUpdater (1d, 2d, 3d), the equation system returns the time step consisten with the CFL condition across the entire simulation domain.
Fastest Wave Speed (dynVector, 1-component)
When combined with hyperbolic (1d, 2d, 3d), the equation system returns the fastest wave speed across the entire simulation domain, \(c_{\mathrm{fast}}\).

Example

The following block demonstrates the maxwellDednerEqn used in combination with classicMusclUpdater (1d, 2d, 3d) to compute \(\nabla \cdot \mathcal{F}\left(\mathbf{w} \right)\):

<Updater hyper>
  kind=classicMuscl2d
  onGrid=domain
  timeIntegrationScheme=none
  numericalFlux=hlleFlux
  limiter=[none]
  variableForm=conservative
  preservePositivity=false
  in=[q]
  out=[qNew]
  waveSpeeds=[waveSpeed]
  cfl=0.4
  equations=[maxwell]

  <Equation maxwell>
    kind=maxwellDednerEqn
    epsilon0=1.0
    mu0=1.0
    cfl=0.4
  </Equation>

</Updater>

The following block demonstrates the maxwellDednerEqn used in combination with timeStepRestrictionUpdater (1d, 2d, 3d) and hyperbolic (1d, 2d, 3d) to compute \(c_{\mathrm{fast}}\):

<Updater getWaveSpeed>
  kind=timeStepRestrictionUpdater2d
  in=[q]
  waveSpeeds=[waveSpeed]
  onGrid=domain
  restrictions=[hyperbolic]
  cfl=0.4
  courantCondition=0.4

  <TimeStepRestriction hyperbolic>
    kind=hyperbolic2d
    model=maxwellEqn
    cfl=0.4
    c0=1.0
    gamma=0.0
    chi=0.0
    includeInTimeStep=False
  </TimeStepRestriction>

</Updater>