geometryUpdater
works with VSimEM and VSimMD licenses.
MultiField updater that evaluates a geometric quantity (pertaining to the individual cell) and sets (or adds or multiplies) the field component to that geometric quantity.
The geometryUpdater
takes the lowerBounds
and
upperBounds
parameters of FieldUpdater, as well as
the following parameters:
operation (required string)
One of:
set: Fj=g
add: Fj+=g
multiply: Fj*=g
geometricQuantity (required string)
geometric quantity g
(see operation) to be evaluated; one of:
volumeFraction
:- Fraction of the volume in the cell that is inside the specified gridBoundary.
surfaceOutwardNormal
:- Outward normal to the surface of the gridBoundary in a cell.
surfaceArea
- The surface area of the
queryGridBoundary
within the cell.faceAreaFraction
- The fraction of the cell face (normal to
queryComponent
) that is inside thequeryGridBoundary
edgeLineFraction
- The fraction of the cell edge (parallel to the
queryComponent
direction) that is inside thequeryGridBoundary
.octantVolumeFraction
- The fraction of the cell octant that is inside the
queryGridBoundary
.
queryGridBoundary (required string)
Name of the gridBoundary to be used to calculate the
geometricQuantity
(as opposed to the gridBoundary
all updaters have, which determines which cells are updated by that
updater).
queryComponent (optional integer, default = 0)
Component of the data to be read for the surfaceOutwardNormal
,
edgeLineFraction
, and faceAreaFraction
quantities.
writeFields (required string vector)
A vector containing a single element, the name of field to update with the geometric data.
writeComponents (required integer vector)
The components of \(F\) to update. The geometric quantity will be evaluated for each component.
<FieldUpdater calcVolPlane>
kind = geometryUpdater
lowerBounds = [0 0 0]
upperBounds = [NX NY NZ]
operation = set
geometricQuantity = volumeFraction
# update cell volume using queryGridBndry
queryGridBoundary = plane
writeFields = [VolFracPlane]
writeComponents = [0]
</FieldUpdater>