ablate::domain::modifiers::Modifier

ablate::domain::modifiers::DistributeWithGhostCells

Distribute DMPlex with ghost cells

ghostCellDepth
(int) the number of ghost cells to share on the boundary. Default is 1.

ablate::domain::modifiers::GhostBoundaryCells

Adds ghost cells to the boundary

labelName
(string) The label specifying the boundary faces, or “Face Sets” if not specified

ablate::domain::modifiers::CreateLabel

Creates a new label for all positive points in the function

region (req)
(ablate::domain::Region) the region describing the new label
function (req)
(ablate::mathFunctions::MathFunction) the function to evaluate
depth
(int) The depth in which to apply the label. The default is zero or cell/element

ablate::domain::modifiers::TagLabelBoundary

Creates a new label for all faces on the outside of the boundary

region (req)
(ablate::domain::Region) the region to tag the boundary
boundaryFaceRegion (req)
(ablate::domain::Region) the new region for the boundary faces
boundaryCellRegion
(ablate::domain::Region) the new region for the boundary cells

ablate::domain::modifiers::MergeLabels

Creates a new label for all faces on the outside of the boundary

mergedRegion (req)
(ablate::domain::Region) the merged region to create
regions (req)
(ablate::domain::Region list) the regions to include in the new merged region

ablate::domain::modifiers::IntersectLabels

Creates a new label that intersections the provided regions

intersectRegion (req)
(ablate::domain::Region) the intersect region to create/used
regions (req)
(ablate::domain::Region list) the regions to include in the intersection

ablate::domain::modifiers::SubtractLabel

Cuts/removes the given region (difference = minuend - subtrahend)

differenceRegion (req)
(ablate::domain::Region) the result of the operation
minuendRegion (req)
(ablate::domain::Region) the minuend region
subtrahendRegions (req)
(ablate::domain::Region list) the region(s) to be removed
incompleteLabel
(bool) determines if the DMPlexLabelComplete function for the new label is called. (true = DMPlexLabelComplete not called, false = DMPlexLabelComplete called, default is false

ablate::domain::modifiers::TagLabelInterface

Class to label/tag all faces/cells on the interface between two labels. The left/right designations are just used to separate the left/right labels.

leftRegion (req)
(ablate::domain::Region) the “left” region
rightRegion (req)
(ablate::domain::Region) the “right” region
boundaryFaceRegion (req)
(ablate::domain::Region) the new region for the newly tagged boundary faces
leftBoundaryCellRegion
(ablate::domain::Region) optional new region to tag the boundary cells on the “left” of region
rightBoundaryCellRegion
(ablate::domain::Region) optional new region to tag the boundary cells on the “right” of region

ablate::domain::modifiers::ExtrudeLabel

Extrudes a layer of cells based upon the region provided

regions (req)
(ablate::domain::Region list) the region(s) describing the boundary cells
boundaryRegion (req)
(ablate::domain::Region) the new label describing the faces between the original and extruded regions
originalRegion (req)
(ablate::domain::Region) the region describing the original mesh
extrudedRegion (req)
(ablate::domain::Region) the region describing the new extruded cells
thickness
(double) thickness for the extruded cells. If default (0) the 2 * minimum cell radius is used

ablate::domain::modifiers::TagMeshBoundaryFaces

Mark/tag all faces on the boundary of the mesh

region (req)
(ablate::domain::Region) the new region for the boundary faces

ablate::domain::modifiers::CompleteLabel

Wrapper for DMPlexLabelComplete. Complete the labels; such that if your label includes all faces, all vertices connected are also labeled.

region (req)
(ablate::domain::Region) the region describing the label to complete

ablate::domain::modifiers::DMPlexCheck

Calls the DMPlexCheck petsc function

ablate::domain::modifiers::FvmCheck

The FVM check marches over each face in a mesh region, sums the contributions for each cell in the region to ensure they sum to 0.0

region
(ablate::domain::Region) the region describing the boundary cells, default is everywhere
expectedFaceCount
(int) if specified, the fvmCheck each cell for the correct number of faces
expectedNodeCount
(int) if specified, the fvmCheck each cell for the correct number of nodes

ablate::domain::modifiers::MeshMapper

Maps the x,y,z coordinate of the domain mesh by the given function.

ablate::domain::modifiers::MeshMapperWithRegion

Maps the x,y,z coordinate of the domain mesh by the given function within a specified region.

function (req)
(ablate::mathFunctions::MathFunction) The function to apply to the coordinates
region (req)
(ablate::domain::Region) The region to apply the mapping function

ablate::domain::modifiers::CreateCoordinateSpace

Wrapper for DMPlexCreateCoordinateSpace

degree (req)
(int) degree of the finite element

ablate::domain::modifiers::Translate

Translate the x,y,z coordinate of the domain mesh by the values.

ablate::domain::modifiers::OnePointClusteringMapper

Performs clustering mapping using an algebraic relationship around one point using Equation 9-50 from Hoffmann, Klaus A., and Steve T. Chiang. “Computational fluid dynamics volume I. Forth Edition” Engineering education system (2000). \(x'=D \left [ 1+\frac{sinh[\beta(x-A))]}{sinh(\beta A)} \right ]\) where \(A=\frac{1}{2 \beta}ln \left [ \frac{1+(e^\beta - 1)(D/H)}{1+(e^{-\beta} - 1)(D/H)} \right ]\), \(D =\)cluster location, and \(\beta =\) cluster factor

direction (req)
(int) The direction (0, 1, 2) to perform the mapping
start (req)
(double) The start of the domain in direction
end (req)
(double) The end of the domain in direction
beta (req)
(double) The clustering factor (0 -> infinity, where infinity is more clustering)
location (req)
(double) The location to perform the clustering in direction
region
(ablate::domain::Region) optional region to apply this mapper (Default is everywhere)

ablate::domain::modifiers::EdgeClusteringMapper

Performs clustering mapping using an algebraic relationship at the edges of the domain using Equation 9-42 from Hoffmann, Klaus A., and Steve T. Chiang. “Computational fluid dynamics volume I. Forth Edition” Engineering education system (2000).

direction (req)
(int) The direction (0, 1, 2) to perform the mapping
start (req)
(double) The start of the domain in direction
end (req)
(double) The end of the domain in direction
beta (req)
(double) The clustering factor (1 -> infinity, where 1 is more clustering)
region
(ablate::domain::Region) optional region to apply this mapper (Default is everywhere)

ablate::domain::modifiers::TwoPointClusteringMapper

Performs clustering mapping using an algebraic relationship around two point using equations derived from Hoffmann, Klaus A., and Steve T. Chiang. “Computational fluid dynamics volume I. Forth Edition” Engineering education system (2000).

direction (req)
(int) The direction (0, 1, 2) to perform the mapping
start (req)
(double) The start of the domain in direction
end (req)
(double) The end of the domain in direction
beta (req)
(double) The clustering factor (0 -> infinity, where infinity is more clustering)
location (req)
(double) The location to cluster center
offset (req)
(double) The offset from the location center to perform the clustering
region
(ablate::domain::Region) optional region to apply this mapper (Default is everywhere)

ablate::domain::modifiers::CollapseLabels

Collapse all set values in a label to the provided value in each region. This also completes each label.

regions (req)
(ablate::domain::Region list) the regions to collapse

ablate::domain::modifiers::PrintDomainSummary

Prints a short summary of the domain to std out

ablate::monitors::DmViewFromOptions

replicates the DMViewFromOptions function in PETSC

options
(string) if provided these options are used for the DMView call, otherwise global options is used
optionName
(string) if provided the optionsName is used for DMViewFromOptions. Needed if using global options.