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:
- \({E}_{\hat{\mathbf{i}}} =
\mathbf{E} \cdot \hat{\mathbf{i}}\): electric field in the \(\hat{\mathbf{i}}\) direction.
- \({E}_{\hat{\mathbf{j}}}
=\mathbf{E} \cdot \hat{\mathbf{j}}\): electric field in the \(\hat{\mathbf{j}}\) direction
- \({E}_{\hat{\mathbf{k}}} = \mathbf{E} \cdot \hat{\mathbf{k}}\): electric field in the \(\hat{\mathbf{k}}\) direction
- \(B_{\hat{\mathbf{i}}} = \mathbf{B} \cdot \hat{\mathbf{i}}\): magnetic field in the \(\hat{\mathbf{i}}\) direction
- \(B_{\hat{\mathbf{j}}} = \mathbf{B} \cdot \hat{\mathbf{j}}\): magnetic field in the \(\hat{\mathbf{j}}\) direction
- \(B_{\hat{\mathbf{k}}} = \mathbf{B} \cdot \hat{\mathbf{k}}\): magnetic field in the \(\hat{\mathbf{k}}\) direction
- \(\Phi\) electric field correction potential
- \(\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:
- \(\nabla \cdot \mathcal{F}\left( {E}_{\hat{\mathbf{i}}} \right)\): \(\hat{\mathbf{i}}\) electric field flux
- \(\nabla \cdot \mathcal{F}\left( {E}_{\hat{\mathbf{j}}} \right)\): \(\hat{\mathbf{i}}\) electric field flux
- \(\nabla \cdot \mathcal{F}\left( {E}_{\hat{\mathbf{k}}} \right)\): \(\hat{\mathbf{j}}\) electric field flux
- \(\nabla \cdot \mathcal{F}\left( {B}_{\hat{\mathbf{i}}} \right)\): \(\hat{\mathbf{i}}\) magnetic field flux
- \(\nabla \cdot \mathcal{F}\left( {B}_{\hat{\mathbf{j}}} \right)\): \(\hat{\mathbf{i}}\) magnetic field flux
- \(\nabla \cdot \mathcal{F}\left( {B}_{\hat{\mathbf{k}}} \right)\): \(\hat{\mathbf{j}}\) magnetic field flux
- \(\nabla \cdot \mathcal{F}\left(\psi \right)\): electric correction potential flux
- \(\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>