- 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>