- FieldUpdater
FieldUpdater
Field updaters are defined between the tags:
<FieldUpdater *nameOfThisUpdater*>
</FieldUpdater>
FieldUpdater Parameters
- kind (required string)
- The CPU updaters:
curlupdater_multiField_field_updater
curlupdatercoordprod
cutcellpoissonupdater
cyledgetonodevec
deymittraconstrainupdater
deymittraupdater
divupdater
divupdatercoordprod
dummyupdater
edgetonodevec
facetonodevec
fieldbinopupdater
geometryupdater
gradbndryupdater
gradvecupdater
gradvecupdatercoordprod
importfromfileupdater
lightframeenvelopeupdater
lightframeenvforceupdater
linearapplyupdater
linearsolveupdater
liniterupdater
linplasdielcupdater
malupdater
neutralboltzmannupdater
open
permittivityupdater
phaseshiftvecupdater
potentialupdater
setepsilonupdater
smooth1d
stfuncupdater
unaryfieldopupdater
userfuncupdater
yeeamperedielvecupdater
yeeampereupdater
yeefaradayupdater
- The CrossDev updaters:
centraldiffcurlcrossdev
constfunccrossdev
compcurlcrossdev
dirichletcrossdev
electronpressurecrossdev
eulercrossdev
gaussfunccrossdev
genohmslawcrossdev
linplascrossdev
sumcrossdev
multiplycrossdev
neumanncrossdev
onefieldopcrossdev
ratiofieldopcrossdev
reciprocalfieldopcrossdev
setlorentzdielopscrossdev
settocoordscrossdev
settoEdgefracscrossdev
settofacefracscrossdev
settoinvfacefracscrossdev
settoStfunccrossdev
smoothingcrossdev
twofieldopcrossdev
vpfieldupdatermakermap.cpp
transfertocrossdev
transferfromcrossdev
copycrossdev
curlveccrossdev (deprecated?)
invdielcrossdev
malcrossdev
optcurlcrossdev
rxnStatscrossdev
vptxsupdatermakermap.cpp
applyinvdielupdatercrossdev
curlupdatercrossdev (deprecated?)
malupdatercrossdev
optcurlupdatercrossdev
- lowerBounds (integer vector, required)
Lower bounds of updater region.
- upperBounds (integer vector, required)
Upper bounds of updater region.
Advanced parameters available with certain updaters
Global region modification parameters
There are a number of parameters that modify the global region to be
updated (as specified in lowerBounds
and
upperBounds
) based on the component of the field being
updated. These are available for the following updaters, which all
update a single vector field:
The global region modification parameters are:
- expandToTopInComponentDir (optional integer, default = 0 (false))
When true: if the region upper bound in the direction of the component (mod 3) is the upper bound of the simulation, and that direction is not periodic, then the upper bound is increased by one so that the region includes the top of the simulation.
- contractFromBottomInComponentDir (optional integer, default = 0 (false))
When true: if the region lower bound in the direction of the component (mod 3) is the lower bound of the simulation, and that direction is not periodic, then the lower bound is increased by one so that the region excludes the bottom of the simulation.
- expandToTopInNonComponentDir (optional integer, default = 0 (false))
When true: if the region upper bound in a direction perpendicular to the component (mod 3) is the upper bound of the simulation, and that direction is not periodic, then the upper bound is increased by one so that the region includes the top of the simulation.
- contractFromBottomInNonComponentDir (optional integer, default = 0 (false))
When true: if the region lower bound in a direction perpendicular to the component (mod 3) is the lower bound of the simulation, and that direction is not periodic, then the lower bound is increased by one so that the region excludes the bottom of the simulation.
- expandAboveTopInComponentDir (optional integer, default = 0)
If the region upper bound in the direction of the component (mod 3) is the upper bound of the simulation or higher, and that direction is not periodic, then the upper bound is increased by this value.
- expandBelowBottomInComponentDir (optional integer, default = 0)
When true: if the region lower bound in the direction of the component (mod 3) is the lower bound of the simulation or below, and that direction is not periodic, then the lower bound is decreased by this value.
- expandAboveTopInNonComponentDir (optional integer, default = 0)
When true: if the region upper bound in a direction perpendicular to the component (mod 3) is the upper bound of the simulation or higher, and that direction is not periodic, then the upper bound is increased by this value.
- expandBelowBottomInNonComponentDir (optional integer, default = 0)
When true: if the region lower bound perpendicular to the direction of the component (mod 3) is the lower bound of the simulation or below, and that direction is not periodic, then the lower bound is decreased by this value.
Note
If both expandToTopInComponentDir
and
expandAboveTopInComponentDir
are specified, and the
conditions for expansion described above are met, the upper bound
in the component direction is first increased by one, and then
increased again by the value of
expandAboveTopInComponentDir
. If both
contractFromBottomInComponentDir
and
expandBelowBottomInComponentDir
are specified, and the
conditions for contraction are met, the lower bound is first
increased by one, and then decreased by the value of
expandBelowBottomInComponentDir
. Similar behavior occurs
for the corresponding non-component direction parameters.
Local region modification parameters
There are two parameters available to expand the local update region beyond the local domain, into the guard cells. This can in certain cases be useful in simulations with periodic boundaries, to allow updaters to overwrite the values imposed by the periodic boundary conditions. It can also be used to make parallel algorithms more efficient, by updating the local guard cells directly rather than getting values messages from other domains. These are available for the following updaters:
The local region modification parameters are:
- cellsToUpdateBelowDomain (optional integer vector, default = [0 0 0])
The number of cells (in each direction, x, y, and z) the updater updates below the local domain.
- cellsToUpdateAboveDomain (optional integer vector, default = [0 0 0])
The number of cells (in each direction, x, y, and z) the updater updates above the local domain.