GridBoundary

GridBoundary

Block for modeling curved surfaces (such as spheres or cylinders). A GridBoundary can be referenced by constructs such as Initial and Boundary Conditions, ParticleSource, ParticleSink, and other constructs.

To restore a GridBoundary on restart of a simulation without recalculating it, see useGridBndryRestore.

GridBoundary Parameters

kind

One of:

  • funcGridBndry

    Works with VSimEM, VSimPD, and VSimMD licenses.

    Defines a region with an STFunc Block block. The inside is where the function value is non-negative. See the example Example GridBoundary Block.

  • rgnGridBndry

    Works with VSimEM, VSimPD, VSimMD, and VSimSD licenses.

    A rgnGridBndry defines a GridBoundary by using one or multiple STRgn blocks. For more information about the types of regions available, see STRgn. A rgnGridBoundary is a good way to combine multiple regions into one large region using unions or intersections.

  • gridRgnBndry

    Works with VSimEM, VSimPD, and VSimMD licenses.

    Defines a region with a STereoLithography (stl) file.

calculateVolume (optional)

Forces the grid boundary to calculate various auxiliary quantities that are used by cut-cell particle boundaries. Examples include the cut-cell volume and normal to the surface.

subMesh (integer, default = 7):
When calculateVolume is true, the GridBoundary will calculate area/volume fractions for cells cut by the boundary (i.e., the fraction of the cell inside the boundary). Sometimes a GridBoundary is too complicated to allow accurate calculation of volume fractions (such as a surface that isn’t smooth with small curvature compared to a cell size, or when multiple surfaces cut through a cell). If GridBoundary realizes that the surface is too complicated, it will estimate the inside fraction by sampling subMesh raised to NDIM power points regularly-spaced within each cell to see whether they are inside or outside the boundary. Sampling is a less accurate but more robust method for calculating volume fractions.
dmFrac (float)

Fraction of the Courant time step for which the simulation will be stable when using the Dey-Mittra boundary algorithm with Yee electromagnetics. For example, if dmFrac = 0.25, then your time step for the simulation must be 25% of the Courant time step.

boundaryPrecision (float, default = 1.e-5)

Precision to which lengths (such as the length of a cell edge inside a GridBoundary) are calculated.

gridBndryFuncIsSmooth (bool, optional)

If true then Vorpal assumes the boundary is a smooth function of x,y,z which allows for faster calculations of certain quantities.

dumpPeriodicity (integer, optional)

How often to dump the data; indicates data is to be dumped whenever the time step has increased by this amount. The command line parameter -d overrides this variable. Must have this defined in an input file or on the command line.

For more dumping options, see the Dumping Fields, Particles, and GridBoundaries section in Output Data in the VSim User Guide.

Example GridBoundary Block

<GridBoundary plane>
  boundaryPrecision = 1e-14
  calculateVolume = true
  subMesh = SUBMESH
  kind = funcGridBndry
  gridBndryFuncIsSmooth = true

  <STFunc function>
    kind = expression
    expression = (x/PI + y/2. + LZ/exp(3.)) - z
  </STFunc>

</GridBoundary>