neumannCrossDev

neumannCrossDev

Works with VSimBase license.

MultiField updater for Cross Devices that applies a Neumann boundary condition to the boundary of a regularCrossDev field. Namely, this updater sets the directional derivative to a given value on the boundary.

neumannCrossDev Parameters

The neumannCrossDev updater takes the lowerBounds, upperBounds, lowerCoords, upperCoords, gridBndry, writeFields, and readFields parameters of fldSlabCrossDev updaters, as well as the following parameters:

derivDirection (required int)

The direction in which the derivative should be set. E.g. 0, 1, or 2.

domainDirection (required int)

The direction that points towards the domain from the boundary. (+/- 1).

width (required int)

The number of boundary cells to fill, in the derivative direction past the indicated slab.

components (required int vector)

The components on of the field that will have their boundary values set.

values (required float vector)

The value of the slope used to fill in the boundary region. The size of this vector must be the same as the number of components specified in components.

neumannCrossDev Usage Notes

The size of the components and values vectors must be equal.

Example neumannCrossDev block

<FieldUpdater ENeumannBCLowerX>
  kind = neumannCrossDev
  lowerBounds = [ 0  0  0]
  upperBounds = [ 1  0  0]
  readFields = [E]
  writeFields = [E]
  derivDirection = 0
  domainDirection = 1
  width = 2
  components = [0]
  values = [0.0]
</FieldUpdater>

Notes

neumannCrossDev is only available with text-based setup.

History

neumannCrossDev was introduced in VSim 12.