compCurlCrossDev

compCurlCrossDev

Works with XSimBase license.

MultiField updater for Cross Devices that computes the curl of a regularCrossDev field for the specified components. This has a source term and optional incrementing built in (see parameters).

compCurlCrossDev Parameters

The compCurlCrossDev updater takes the lowerBounds, upperBounds, lowerCoords, upperCoords, writeFields, and readFields parameters of Field Slab updaters, as well as the following parameters:

forwardDifferencing (required Boolean)

Whether or not to use forward differencing when computing the component of the curl; true indicates an upward curl.

incrementCoef (optional float, default = 1.0)

Multiplicative coefficient applied to the write field.

curlCoef (required float)

Multiplicative coefficient applied to the curl in addition to \(dt\). Namely, for Faraday updates curlCoef = 1.0

sourceCoef (required float)

Multiplicative coefficient for the source field. Namely, for Ampere updates sourceCoef = \(1.0/\epsilon_0\).

writeComponents (required int vector)

The components of the writeField that the curl is calculated and written.

Examples compCurlCrossDev block

<FieldUpdater ampereX>
 kind = compCurlCrossDev
 writeComponents = [0]
 lowerBounds = [ 0   1   1]
 upperBounds = [NX  NY  NZ]
 readFields = [B J]
 writeFields = [D]
 curlCoef = $ LIGHTSPEED**2 $
 sourceCoef = $ -1./EPSILON0 $
 forwardDifferencing = false
</FieldUpdater>

Notes

History

compCurlCrossDev was introduced in XSim 1.0.