yeeConductorUpdater

yeeConductorUpdater

Works with VSimEM and VSimMD licenses.

Multifield updater that solves the following versions of the Ampere and Faraday equations, in which \(i\) is one of \(x\), \(y\), or \(z\), \(\sigma_{e,i}\) is the electric conductivity in the \(i\) direction divided by \(\epsilon_0\), \(\sigma_{m,i}\) is the magnetic conductivity in the \(i\) direction divided by \(\mu_0\). Both \(\sigma_{e,i}\) and \(\sigma_{m,i}\) have units of frequency. Also, \(J_{e,i}\) and \(J_{m,i}\) are the electric and magnetic currents in the \(i\) direction, respectively.

yeeConductorUpdater Ampere equation:

(15)\[\epsilon_0 \frac{\partial E_i}{\partial t} = \frac{1}{\mu_0} \left( \nabla \times {\bf B} \right)_i - J_{e,i} - \sigma_{e,i} E_i\]
yeeConductorUpdater Faraday equation:
(16)\[\mu_0 \frac{\partial B_i}{\partial t} = -\mu_0 \left( \nabla \times {\bf E} \right)_i - J_{m,i} - \sigma_{m,i} B_i\]

yeeConductorUpdater Parameters

The yeeConductorUpdater takes the lowerBounds and upperBounds parameters of FieldUpdater, the global region modification parameters, and the .components parameter of FieldMultiUpdater. In addition, curlUpdater takes the following parameters:

emType (required string)

One of:

ampere:
Expects writeFields to be the yee electric field and readFields to be the yee magnetic field. readFields can also contain an optional 4-component electric charge/current field.
faraday:
Reverses \(\mathbf{E}\) and \(\mathbf{B}\), and if specified, the optional 4-component field represents magnetic charge/current.
readFields (required string vector)

A vector of either one or two strings. The first string is the name of the field to take the curl of, and if provided, the second is the name of the charge/current field.

writeFields (required string vector)

A vector containing a single element, which is the name of the field to update.

sigma (optional float)

The uniform, isotropic conductivity.

sigma (optional parameter block)

A parameter block of type STFunc specifying the local isotropic conductivity.

sigmaX (optional float)

The uniform conductivity in the \(x\) direction.

sigmaX (optional parameter block)

A parameter block of type STFunc specifying the local conductivity in the \(x\) direction.

sigmaY (optional float)

The uniform conductivity in the \(y\) direction.

sigmaY (optional parameter block)

A parameter block of type STFunc specifying the local conductivity in the \(y\) direction.

sigmaZ (optional float)

The uniform conductivity in the \(z\) direction.

sigmaZ (optional parameter block)

A parameter block of type STFunc specifying the local conductivity in the \(z\) direction.

Note

For each conductivity parameter above, either the scalar parameter for the uniform conductivity, or the STFunc block for the local conductivity can be specified, but not both. If an isotropic conductivity is not specified, a componentwise sigma parameter must be specified for each updated component. If both an isotropic conductivity and componentwise conductivities are specified, the componentwise conductivities will be used for any components for which they are specified, and the isotropic conductivity will be used for components for which they are not.

Example yeeConductorUpdater Block

<FieldMultiUpdater waterAmpere>
  gridBoundary = universe
  kind = yeeConductorUpdater
  emType = ampere
  components = [0 1 2]
  contractFromBottomInNonComponentDir = 1
  lowerBounds = [NX_WATER_L 0 0]
  upperBounds = [NX_WATER_H NY NZ]
  readFields = [magField SumRhoJ]
  writeFields = [elecField]
  sigma = SIGMA_WATER # conductivity/epsilon_0
</FieldMultiUpdater>