yeeAmpereDielVecUpdater

yeeAmpereDielVecUpdater

Works with VSimEM license.

Multifield updater that updates all three (3) components of the electric field according to Ampere’s Law, but takes into account the inverse dielectric tensor given by a 6-component inverse permittivity field. You can set this inverse permittivity field with a permittivityUpdater or setEpsilonUpdater.

yeeAmpereDielVecUpdater Parameters

The yeeAmpereDielVecUpdater takes the lowerBounds and upperBounds parameters of FieldUpdater, as well as the following parameters:

readFields (required string vector)

The names of the three fields to use in the update. These are given, for instance, as readFields = [yeeB source invEpsilon], where:

yeeB:
Name of the Yee magnetic field.
source:
This is the name of a field containing the current source. This can either be a 3-component field contining just the current, or a 4-component field containing the current in its last three components.
invEpsilon:

6-component symmetric inverse permittivity field, with components.

\[\left((\epsilon^{-1})_{xx}, (\epsilon^{-1})_{yy}, (\epsilon^{-1})_{zz}, (\epsilon^{-1})_{yz}, (\epsilon^{-1})_{zx}, (\epsilon^{-1})_{xy}\right).\]

This can be created with permittivityUpdater or setEpsilonUpdater.

writeFields (required string vector)

A single element, the name of the electric field to update.

dtCoefficients (optional float vector, default = [1. 0.])

Two components [\(c_{0}\) \(c_{1}\)] as defined in the equation above. The result of the updater will be multiplied by (\(c_{0}\) + \(c_{1} \Delta t\)), where \(\Delta t\) is the current time step.

yeeAmpereDielVecUpdater Example

<FieldUpdater yeeAmpere>
  kind = yeeAmpereDielVecUpdater
  lowerBounds = [NX_BEGIN  NY_BEGIN  NZ_BEGIN]
  upperBounds = [NX_END    NY_END    NZ_END]
  readFields = [magField  J  invEpsilon]
  writeFields = [elecField]
</FieldUpdater>