- yeeFaradayUpdater
yeeFaradayUpdater
Works with VSimBase, VSimEM, VSimPD, VSimPA, and VSimVE licenses.
Updates a magnetic field, defined on grid faces, according to the standard second-order Yee leapfrog algorithm, using an electric field defined on grid edges.
yeeFaradayUpdater Parameters
The yeeFaradayUpdater takes the lowerBounds and
upperBounds parameters of FieldUpdater, as well as
the global region modification parameters and local region
modification parameters. In
addition, yeeFaradayUpdater takes the following parameters:
- readFields (required string vector)
A single element, the electric field to use in performing the update.
- writeFields (required string vector)
A vector contining a single element, the name of the magnetic field to update.
- useVecUpdater (optional integer, default = 0 (false))
If true, the updater will update all three components of the magnetic field, beginning with the specified
component. The updated field must therefore have at least \({\tt component} + 3\) components.
- component (optional integer, default = 0)
The field component to update, or if
useVecUpdateristrue, the first field component to update.
- gridBoundary (optional string)
If provided, only components on the interior of the specified GridBoundary will be updated. The method to define the interior is given in the
interiornessparameters.
- interiorness (optional string, default = cellcenter)
If the
gridBoundaryparameter is specified, this is the method the used to determine whether a component is interior to the boundary. The behavior depends on theoffsetspecified in the updated Field. One of:cellcenter:If
offset = none, oroffset = edge4vandcomponent = 0, then a cell is considered interior if its node is adjacent to at least one cell with center inside the boundary.If
offset = edge, oroffset = edge4vandcomponentis not0, then a cell is considered interior if the edge specified bycomponentis adjacent to at least one cell with center inside the boundary.If
offset = face, then a cell is considered interior if the face specified bycomponentis adjacent to at least one cell with center inside the boundary.If
offset = center, then a cell is considered interior if its center is inside the boundary.deymittraIf
offset = none, oroffset = edge4vandcomponent = 0, then a cell is considered interior if all nodes adjacent to (i.e. displaced by a single edge from) its node are inside the boundary.If
offset = edge, oroffset = edge4vandcomponentis not0, then a cell is considered interior if the edge specified bycomponenthas at least one adjacent node inside the boundary, and that edge is not ignored by the Dey-Mittra algorithm given thedmFracparameter specified in thegridBoundary.If
offset = face, then a cell is considered interior if all nodes adjacent to the face specified bycomponentare inside the boundary.This
interiornessoption cannot be specified withoffset = center.dmnodalThis
interiornessoption is identical todeymittra.
- lowerSkinDepth (optional integer vector)
Specifies the number of skin cells, in each direction, on the lower end of the local domain. The cells in the skin are updated before the fields specified as
messageFieldsin the UpdateStep or InitialUpdateStep block are messaged. If not specified, the skin depth will be determined automatically.
- upperSkinDepth (optional integer vector)
Specifies the number of skin cells, in each direction, on the upper end of the local domain. If not specified, the skin depth will be determined automatically.
Example yeeFaradayUpdater Block
<FieldUpdater yeeFaraday>
kind = yeeFaradayUpdater
lowerBounds = [NX_BEGIN NY_BEGIN NZ_BEGIN]
upperBounds = [NX_END NY_END NZ_END]
readFields = [yeeE]
writeFields = [yeeB]
useVecUpdater = true
</FieldUpdater>