- PhaseShiftCrossDev
PhaseShiftCrossDev
Works with XSimBase license.
MultiField updater that applies a phase shifting boundary condition to the fields. This enables simulation of long periodic devices even with a short physical distance in the periodic direction.
PhaseShiftCrossDev Parameters
The phaseShiftCrossDev
updater takes the lowerBounds
,
upperBounds
, writeFields
, and readFields
parameters of Field Slab updaters, as well as the
following parameters:
- writeFields (string vector, required)
The fields to which the boundary condition will be applied.
- readFields (string vector, required)
Should be empty, read fields are not used for this updater.
- writeComponents (float vector, required)
The components of the field that will have the boundary condition applied.
- minDim (int, optional)
Dimensionality of the problem below which this updater will not be applied.
- phase (float, required)
The phase shift to be applied.
PhaseShiftCrossDev Usage Notes
The updater lower and upper bounds should be defined such that the updater is one cell thick in the periodic dimension, and covers the domain in the other dimensions. This one-cell-thick region should be in the ghost cell.
Example PhaseShiftCrossDev block
<FieldUpdater phaseShiftB>
kind = phaseShiftCrossDev
writeComponents = [0 1 2]
lowerBounds = [-1 -1 -1]
upperBounds = [0 NYP NZP]
readFields = []
writeFields = [B BI]
minDim = 1
phase = $-1.*PHASESHIFT$
</FieldUpdater>
Notes
PhaseShiftCrossDev
History
PhaseShiftCrossDev was introduced in XSim 1.0