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.