- DeyMittraAmpereCrossDev
DeyMittraAmpereCrossDev
Works with XSimEM license.
MultiField updater that calculates the next value of the electric field based on the curl of the magnetic field and the current density. This is according to Ampere’s Law.
This computes the specified components of the curl, allowing for components to be updated with different bounds by specifying multiple updater blocks.
This updater also accounts for cut-cells due to gridded metal shapes, which is included via the edgeFracs field.
DeyMittraAmpereCrossDev Parameters
The deyMittraAmpereCrossDev
updater takes the lowerBounds
,
upperBounds
, writeFields
, and readFields
parameters of Field Slab updaters, as well as the
following parameters:
- incrementCoef (float, optional)
Multiplicative coefficient applied to the write field at the previous step and added to the new value. If not provided, incrementCoef = \(1.0\).
- curlCoef (float, optional)
Multiplicative coefficient applied to the curl in addition to \(dt\). If not provided, curlCoef = \(c^2\).
- sourceCoef (float, optional)
Multiplicative coefficient for the source field. If not provided, sourceCoef = \(-1.0/\epsilon_0\).
- writeComponents (required int vector)
The components of the
writeField
that the curl is calculated and written.
DeyMittraAmpereCrossDev Usage Notes
Example DeyMittraAmpereCrossDev block
<FieldUpdater AmpereZ>
kind = deyMittraAmpereCrossDev
writeComponents = [0 1 2]
lowerBounds = [ 0 0 0]
upperBounds = [NX NY NZ]
readFields = [B J edgeFracs]
writeFields = [E]
</FieldUpdater>
Notes
History
DeyMittraAmpereCrossDev was introduced in XSim 1.0.