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