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