- 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.