divUpdaterCoordProd

divUpdaterCoordProd

Works with VSimPD and VSimMD 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 \(r = 0\) is included in this update. To obtain the correct behavior at the axis, specify two separate divUpdaterCoordProd updaters; one with the axis and one without.

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>