divUpdaterCoordProd

divUpdaterCoordProd

Works with VSimPD and VSimVE licenses.

MultiField updater that takes the divergence of the of a field, and writes the result into another field, on a non-uniform or non-Cartesian grid.

divUpdaterCoordProd Parameters

The divUpdaterCoordProd kind takes the lowerBounds and upperBounds parameters of FieldUpdater, as well as the following parameters:

readFields (required string vector)

A vector containing a single element, the name of a vector field of which to take the divergence.

writeFields (required string vector)

A vector containing a single element, the name of a scalar field to update.

skipFirst (optional integer, default = 0 (false))

Set this flag to 1 (true) to skip the first component of the vector field, i.e. to use components 1–3 in the divergence rather than 0–2. This should be used when taking the divergence of \({\bf J}\) in a SumRhoJ charge-current field. A SumRhoJ field has four components, the first of which is \(\rho\); therefore the first component of this field must be skipped to get to the \({\bf J}\) components.

factor (optional float, default = 1)

A factor that multiplies the end result after taking the divergence.

includeCylAxis (optional integer, default = 0 (false))

Set this to true (1) if the cylindrical axis (\(r = 0\)) is included in this update. In 3D simulations, it is necessary to specify two separate updaters; one with just the axis and one without. In 2D simulations that will have divergence on the cylindrical axis it is also necessary to have this second updater for the cylindrical axis.

Example divUpdaterCoordProd Block

<FieldUpdater  Div_k_Grad_T>
    kind=divUpdaterCoordProd
    lowerBounds=[0 1 0]
    upperBounds=[NZ NR NPHI]
    readFields=[HeatFlux]
    writeFields=[dTemp]
<FieldUpdater>
<FieldUpdater  Div_k_Grad_T_axis>
    kind=divUpdaterCoordProd
    includeCylAxis=1
    lowerBounds=[0 0 0]
    upperBounds=[NZ 1 NPHI]
    readFields=[HeatFlux]
    writeFields=[dTemp]
</FieldUpdater>