pw::BlockUnstructured

An unstructured block is a watertight collection of face-connected volume elements (tetrahedral, hexahedral, prism, pyramid, etc.) bounded by one or more pw::FaceUnstructured faces, none of which can be degenerate (pole domain).

Derives From

pw::Object pw::Entity pw::GridEntity pw::Block

Summary
pw::BlockUnstructuredAn unstructured block is a watertight collection of face-connected volume elements (tetrahedral, hexahedral, prism, pyramid, etc.)
Static Actions
createThis action creates a new unstructured block object.
createFromDomainsThis action creates new unstructured block objects from the given domains.
createFromPointsThis action, given a list of xyz vector values and at least one cell-type array, creates a new unstructured block.
splitThis action splits the given TRex blocks into either a number of of maximum full prism layer blocks, or into a number of maximum mixed cell blocks dividing the anisotropic and isotropic cells.
joinThis action joins as many of the given unstructured blocks together as possible.
combineAnisoCellsThis action combines anisotropic tet and pyramid cells in TRex-defined blocks into tet, pyramid, prism and hex cells.
Static Defaults
BoundaryDecay (Default)This default is the boundary decay factor of an unstructured block when it is created.
BackgroundSpacing (Default)This default is the background grid spacing of an unstructured block when it is created.
EdgeMaximumGrowthRate (Default)This default is the maximum spacing growth rate along an edge of an unstructured block when it is created.
EdgeMaximumLength (Default)This default is the maximum edge length of an unstructured block when it is created.
EdgeMinimumLength (Default)This default is the minimum edge length of an unstructured block when it is created.
InteriorAlgorithm (Default)This default is the algorithm that will be used when initializing the interior portion of an unstructured block when it is created.
PyramidMaximumHeight (Default)This default is the maximum pyramid height of an unstructured block when it is created.
PyramidMinimumHeight (Default)This default is the minimum pyramid height of an unstructured block when it is created.
PyramidAspectRatio (Default)This default is the pyramid aspect ratio of an unstructured block when it is created.
TRexCellType (Default)This default is the type of cells generated by TRex of an unstructured block when it is created.
TRexMaximumLayers (Default)This default is the maximum number of T-Rex layers of an unstructured block when it is created.
TRexFullLayers (Default)This default is the minimum number of fully structured TRex layers of an unstructured block when it is created.
TRexGrowthRate (Default)This default is the growth rate of TRex layers of an unstructured block when it is created.
TRexPushAttributes (Default)This default is the flag for pushing TRex attributes onto the connectors and domains of an unstructured block when a it is created.
TRexSpacingSmoothing (Default)This default is the number of smoothing sweeps to apply to the initial spacing values of TRex layers of an unstructured block when it is created.
TRexSpacingRelaxationFactor (Default)This default is the relaxation factor of smoothing sweeps to apply to the initial spacing values of TRex layers for an unstructured block when it is created.
TRexIsotropicSeedLayers (Default)This default is the number of TRex isotropic seed layers for an unstructured block when it is created.
TRexLayerSubdivisions (Default)This default controls the maximum cell height multiplier to be applied at the beginning of each T-Rex layer.
TRexUseCollisionPrediction (Default)This default controls whether collision prediction is used to identify advancing points with high confidence that an expensive collision test is not necessary during surface deformation.
TRexCollisionBuffer (Default)This default is the minimum buffer to be maintained between encroaching extruded tetrahedron of an unstructured block when it is created.
TRexAnisotropicIsotropicBlend (Default)This default is the rate at which anisotropic triangles are blended into isotropic triangles on the interior of an unstructured block when it is created.
TRexIsotropicHeight (Default)This default specifies the scale factor to be applied to the local isotropic height at which T-Rex stops layer growth via deformation, decimation or refinement.
TRexSkewCriteriaDelayLayers (Default)This default is the number of layers to delay checking for the quality criteria of the TRex cells of an unstructured block when it is created.
TRexSkewCriteriaMaximumAngle (Default)This default is the maximum included angle quality threshold for TRex cells of an unstructured block when it is created.
TRexSkewCriteriaEquivolume (Default)This default is the maximum equivolume quality threshold for TRex cells of an unstructured block when it is created.
TRexSkewCriteriaEquiangle (Default)This default is the maximum equiangle quality threshold for TRex cells of an unstructured block when it is created.
TRexSkewCriteriaCentroid (Default)This default is the maximum centroid skew quality threshold for TRex cells of an unstructured block when it is created.
TRexSkewCriteriaApplyToHexTrans (Default)This default determines whether T-Rex pyramid caps and transition hex cells will be tested against the user-set quality thresholds.
TRexVolumeFunction (Default)This default is the method to be used when computing prism cell volumes for TRex cells of an unstructured block when it is created.
OversetAdaptAmplification (Default)This default is the adaption target edge length amplification factor of an unstructured block when it is created.
OversetAdaptTargets (Default)This default is the orphan remediation and fringe improvement adaption targets of an unstructured block when it is created.
VoxelAlignment (Default)This default represents the voxel alignment method to be used for an unstructured block when it is created.
VoxelMinimumSize (Default)This default is the minimum voxel size of the voxel mesh of an unstructured block when it is created.
VoxelMaximumSize (Default)This default is the maximum voxel size of the voxel mesh of an unstructured block when it is created.
VoxelTransitionLayers (Default)This default is the number of layers between voxel size transitions of the voxel mesh of an unstructured block when it is created.
Instance Actions
getInitializationErrorCountThis action gets the number of errors from the last attempt at initializing the block.
getTRexFrontThis action takes an input list of domains on the block and determines which TRex fronts they lie on, if any.
getTRexLayersOnFrontThis action takes a list of front ids and determines how many full and max layers are associated with the front.
splitByDistanceThis action splits the unstructured block into a number of new blocks based on a distance from specified domains within the block.
splitByFrontsThis action splits the unstructured block into a number of new blocks, splitting along fronts in specified domains in the block by a specified number of layers.
getInitializationErrorThis action gets a specific error message from the last initialization attempt.
getInitializationErrorsThis action gets the error message list.
getTRexCellCountThis action gets the number of T-Rex cells in the block.
getTRexTetCountThis action gets the number of T-Rex tet cells in the block.
getTRexPyrCountThis action gets the number of T-Rex pyr cells in the block.
getTRexPrismCountThis action gets the number of T-Rex prism cells in the block.
getTRexHexCountThis action gets the number of T-Rex hex cells in the block.
getVoxelTetRangeThis action returns the first and last tet in the array that were formed from voxel cells.
getVoxelPyrRangeThis action returns the first and last pyramid in the array that were formed from voxel cells.
getVoxelPrismRangeThis action returns the first and last prism in the array that were formed from voxel cells.
getVoxelHexRangeThis action returns the first and last hex in the array that were formed from voxel cells.
getIsoTetRangeThis action returns the first and last tet in the array that were formed from voxel cells.
getIsoPyrRangeThis action returns the first and last pyramid in the array that were formed from isotropic cells.
getIsoPrismRangeThis action returns the first and last prism in the array that were formed from isotropic cells.
getIsoHexRangeThis action returns the first and last hex in the array that were formed from isotropic cells.
getAnisoTetRangeThis action returns the first and last tet in the array that were formed from voxel cells.
getAnisoPyrRangeThis action returns the first and last pyramid in the array that were formed from anisotropic cells.
getAnisoPrismRangeThis action returns the first and last prism in the array that were formed from anisotropic cells.
getAnisoHexRangeThis action returns the first and last hex in the array that were formed from anisotropic cells.
getTRexFullLayerCountThis action gets the number of T-Rex full layers in the block generated by the last run of the solver.
getTRexTotalLayerCountThis action gets the number of T-Rex total layers in the block generated by the last run of the solver.
getTRexTotalLayerHeightThis action gets the non-dimensional summed height of a TRex front at a specified layer.
getTRexMatchDomainCountThis action gets the number of match domains emanating from the adjacent grid/wall BC conditions within this block.
getTRexMatchInitialSpacingThis action gets the minimum, average, and maximum initial spacing of the match domains connected to the adj grid/wall BCs of this block.
getTRexMatchGrowthRateThis action gets the minimum, average, and maximum growth rates of the match domains connected to the adj grid/wall BCs of this block.
getTRexMatchLayerCountThis action gets the minimum, average, and maximum layer count of the match domains connected to the adj grid/wall BCs of this block.
joinThis action joins the given block to this block.
freeInteriorThis action frees the block’s interior points.
pushAttributesThis action pushes the block’s attributes onto the match domains if the TRexPushAttributes attribute is true.
boundaryAdaptationThis action adapts the block’s boundaries based on the current settings of the block.
removeFaceThis action removes a face from the block.
getOuterFaceThis action returns the block’s outer face.
getBoundaryEdgeMinimumLengthThis action gets the calculated minimum boundary edge length based on triangular area of the boundary cells.
getBoundaryEdgeMaximumLengthThis action gets the calculated maximum boundary edge length based on triangular area of the boundary cells.
getVolumeEdgeMinimumLengthThis action gets the calculated minimum volume edge length based on tetrahedral volume of the cells.
getVolumeEdgeMaximumLengthThis action gets the calculated maximum volume edge length based on tetrahedral volume of the cells.
getPyramidBaseMaximumHeightThis action gets the calculated maximum height of the pyramids based on the prescribed aspect ratio and the base area of the cells.
getPyramidBaseMinimumHeightThis action gets the calculated minimum height of the pyramids based on the prescribed aspect ratio and the base area of the cells.
getAutomaticVoxelMinimumSizeThis action gets the automatic minimum size used when the VoxelMinimumSize attribute is set to 0.0.
getAutomaticVoxelMaximumSizeThis action gets the automatic maximum size used when the VoxelMinimumSize parameter is set to 0.0.
getUnstructuredSolverAttributeThis action gets the named unstructured solver attribute.
setUnstructuredSolverAttributeThis action sets the named unstructured solver attribute.
Unstructured Solver Attributes
BoundaryDecayThis attribute is the boundary decay factor of an unstructured block.
BackgroundSpacingThis attribute is the background spacing of an unstructured block.
EdgeMaximumGrowthRateThis attribute is the maximum spacing growth rate along an edge of an unstructured block.
EdgeMaximumLengthThis attribute is the maximum edge length of an unstructured block.
EdgeMinimumLengthThis attribute is the minimum edge length of an unstructured block.
InteriorAlgorithmThis attribute is the algorithm that will be used when initializing the interior portion of an unstructured block.
PyramidMaximumHeightThe maximum pyramid height of an unstructured block
PyramidMinimumHeightThis attribute is the minimum pyramid height of an unstructured block.
PyramidAspectRatioThis attribute is the pyramid aspect ratio of an unstructured block.
TRexCellTypeThis attribute controls what type of cells a T-Rex generated block will contain after generation.
TRexMaximumLayersThis attribute is the maximum number of TRex layers of the block.
TRexFullLayersThis attribute is the minimum number of fully structured TRex layers of the block.
TRexGrowthRateThis attribute is the growth rate of TRex layers for the block.
TRexPushAttributesThis attribute is the flag for pushing TRex attributes onto the connectors and domains of this block.
TRexSpacingSmoothingThis attribute is the number of smoothing sweeps to apply to the initial spacing values of TRex layers of the block.
TRexSpacingRelaxationFactorThis attribute is the relaxation factor of smoothing sweeps to apply to the initial spacing values of TRex layers for the block.
TRexIsotropicSeedLayersThis attribute is the number of TRex isotropic seed layers for the block.
TRexLayerSubdivisionsThis attribute is the maximum cell height multiplier to be applied at the beginning of each T-Rex layer.
TRexUseCollisionPredictionThis attribute controls whether collision prediction is used to identify advancing points with high confidence that an expensive collision test is not necessary during surface deformation.
TRexCollisionBufferThis attribute specifies the minimum buffer to be maintained between encroaching extruded tetrahedron.
TRexAnisotropicIsotropicBlendThis attribute specifies the rate at which anisotropic triangles are blended into isotropic triangles on the block interior.
TRexSkewCriteriaDelayLayersThis attribute is the number of layers to delay checking for the quality criteria of the TRex cells.
TRexSkewCriteriaMaximumAngleThis attribute specifies the maximum included angle quality threshold for TRex cells.
TRexSkewCriteriaEquivolumeThis attribute specifies the maximum equivolume quality threshold for TRex cells.
TRexSkewCriteriaEquiangleThis attribute specifies the maximum equiangle quality threshold for TRex cells.
TRexSkewCriteriaCentroidThis attribute specifies the maximum centroid skew quality threshold for TRex cells.
TRexSkewCriteriaMinimumAngleThis attribute specifies the minimum included angle quality threshold for TRex cells.
TRexSkewCriteriaApplyToHexTransThis attribute determines whether T-Rex pyramid caps and transition hex cells will be tested against the user-set quality thresholds.
TRexIsotropicHeightThis attribute specifies the scale factor to be applied to the local isotropic height at which T-Rex stops layer growth via deformation, decimation or refinement.
TRexVolumeFunctionThis attribute specifies the method to be used when computing prism cell volumes for TRex cells.
TRexGrowthProfileThis attribute specifies the growth rate for each anisotropic layer.
OversetAdaptAmplificationThis attribute is the adaption target edge length amplification factor of an unstructured block.
OversetAdaptTargetsThis attribute sets the orphan remediation and fringe improvement adaption targets to be applied to an unstructured block run in the unstructured solver.
VoxelAlignmentThis attribute represents the voxel alignment method to be used for an unstructured block when it is created.
VoxelMinimumSizeThis attribute is the minimum voxel size of the voxel mesh of this block.
VoxelMaximumSizeThis attribute is the maximum voxel size of the voxel mesh of this block.
VoxelTransitionLayersThis attribute is the number of layers between voxel size transitions of the voxel mesh of this block.
WCNSmoothConvergenceCostThresholdA cell is considered sufficiently “smoothed” if its cost value meets or exceeds this attribute’s value.
WCNSmoothCostAngleThresholdOnly cells with a cost angle above this limit are smoothed.
WCNSmoothRelaxationFactorOnly controls the magnitude of point smoothing movement per iteration.

Static Actions

create

pw::BlockUnstructured create

This action creates a new unstructured block object.

Parameters

This action has no parameters.

Returns

This action returns a new pw::BlockUnstructured object.

See Also

pw::Block.addFace

createFromDomains

pw::BlockUnstructured createFromDomains ?-reject rejectVar? ?-fillVoids? ?-voids voidsVar? ?-addBaffles? ?-baffles bafflesVar? domains

This action creates new unstructured block objects from the given domains.

Parameters

-reject rejectVarThis optional parameter is a string variable name to receive a list of pw::Domain objects that were not used in creating the blocks.
-fillVoidsThis optional flag specifies that internal, closed block faces (aka voids or holes) will also be assembled into blocks.  The returned list of blocks will include the outermost block and all of the blocks assembled to fill its voids.  By default internal, closed block faces are not assembled and are left as voids (holes) in their surrounding block.
-voids voidsVarThis optional parameter is a string variable name to receive the subset of returned pw::BlockUnstructured objects that were created to fill block voids.  This parameter is ignored if -fillVoids is not also specified.
-addBafflesThis optional parameter specifies that internal, non-closed, baffle faces are to be added to their surrounding block.  By default, baffle faces are not added (and returned in rejectVar).
-baffles bafflesVarThis optional parameter is a string variable name to receive the pw::FaceUnstructured objects that were added as baffles to the assembled blocks.  This parameter is ignored if -addBaffles is not also specified.
domainsThis required parameter is a list of pw::Domain objects.

Returns

This action returns a list of new pw::BlockUnstructured objects.  Multiple blocks will be returned if the domains form multiple closed, disjoint regions or if -fillVoids is specified and the domains form multiple closed, nested regions (or any combination of these).

Information

This command supports progress updates.

Notes

While this command will produce identical results when run with the exact same input, it may produce different results for slight variations in the input domains.  The blocks may be created in a different order, for example.  Use the explicit block building routines ( pw::FaceUnstructured.create, pw::BlockUnstructured.create, pw::Face.addDomain, and pw::Block.addFace commands) to build the block in a controlled manner.

If this command is run inside of a Create pw::Mode, it will only be able to assemble blocks from entities that were created within the same pw::Mode.  If entities created outside of the pw::Mode are also included, the assembly will fail.  Instead, use explicit assembly by creating the pw::FaceUnstructured objects directly.

Example

This example assembles all visible and selectable domains into as many blocks as possible with all voids (holes) filled and baffles.

Code

package require PWI_Glyph 2.17.2
# Get all visible and selectable domains
set allDoms [pw::Grid getAll -type pw::Domain]
set doms {}
foreach dom $allDoms {
  if { ![pw::Display isLayerVisible [$dom getLayer]] } {
    continue
  } elseif { ![$dom getEnabled] } {
    continue
  } else {
    lappend doms $dom
  }
}

# Assemble blocks from these domains
set blks [pw::BlockUnstructured createFromDomains \
    -reject unusedDoms -fillVoids -voids voidBlks -addBaffles \
    -baffles baffleFaces $doms]

# Output the results
puts "Assembled a total of [llength $blks] blocks."
if { [llength $voidBlks] > 0 } {
  puts "[llength $voidBlks] of these were used to fill voids."
  foreach blk $voidBlks {
    puts "  [$blk getName] ($blk)"
  }
} else {
  puts "There were no void blocks."
}

set baffleLen [llength $baffleFaces]
if { $baffleLen > 0 } {
  puts "$baffleLen baffle faces were added."
  foreach face $baffleFaces {
    puts "  $face"
    set faceDoms [$face getDomains]
    foreach faceDom $faceDoms {
      puts "    [$faceDom getName] ($faceDom)"
    }
  }
} else {
  puts "No baffle faces were added."
}

if { [llength $unusedDoms] > 0 } {
  puts "[llength $unusedDoms] domains were unused."
  foreach dom $unusedDoms {
    puts "  [$dom getName] ($dom)"
  }
} else {
  puts "All domains were used."
}

Output

Assembled a total of 3 blocks.
Of these blocks, 2 were used to fill voids.
  blk-1 (::pw::BlockUnstructured_6)
  blk-2 (::pw::BlockUnstructured_7)
1 baffle faces were added.
  ::pw::FaceUnstructured_2
    dom-17 (::pw::DomainUnstructured_13)
    dom-3 (::pw::DomainUnstructured_24)
    dom-4 (::pw::DomainUnstructured_25)
1 domains were unused.
  dom-5 (::pw::DomainUnstructured_26)

createFromPoints

pw::BlockUnstructured createFromPoints ?-tetrahedrons tetCellArray? ?-pyramids pyramidCellArray? ?-prisms prismCellArray? ?-hexahedrons hexCellArray? ?-splitAngle angle? ?-splitMultiloop? points

This action, given a list of xyz vector values and at least one cell-type array, creates a new unstructured block.

Parameters

The following optional cell array parameters (at least one of which is required) are each a list of lists.  The sub-lists represent indices into the points list for each vertex of the particular cell.  For example, there are 4 vertices for each tetrahedron.  Therefore, the ‘tetCellArray’ will consist of N sub-lists, where each sub-list has 4 indices representing the four vertices of the tetrahedron.

-tetrahedrons tetCellArrayThis optional parameter is a list of N cells, where each cell list is 4 elements long (one element for each tetrahedron vertex, each of which is an index into the points array).
-pyramids pyramidCellArrayThis optional parameter is a list of N cells, where each cell list is 5 elements long (one element for each pyramid vertex, each of which is an index into the points array).
-prisms prismCellArrayThis optional parameter is a list of N cells, where each cell list is 6 elements long (one element for each prism vertex, each of which is an index into the points array).
-hexahedrons hexCellArrayThis optional parameter is a list of N cells, where each cell list is 8 elements long (one element for each hexahedron vertex, each of which is an index into the points array).

The following are additional optional parameters, none of which is required.

-splitAngle splitAngleThis optional parameter is the float angle at which to split connectors.
-splitMultiloopThis optional flag will split domains with more than 1 loop.
pointsThis required parameter is a list of vector point values to be used to define the block.

Returns

This action returns the newly created block.

Example

This example creates an unstructured block from a list of points and prism cell connectivity.

Code

set idim 5
set jdim 7
set kdim 9

set pts [list]

# Grid points
for {set k 0} {$k < $kdim} {incr k} {
  for {set j 0} {$j < $jdim} {incr j} {
    for {set i 0} {$i < $idim} {incr i} {
      set pt [pwu::Vector3 set $i $j $k]
      lappend pts $pt
    }
  }
}

proc getOffset { x y z } {
  global idim jdim
  return [expr {$x + $idim * [expr {$y + $jdim * $z} ] } ]
}

proc generatePts {stencils dim delta} {
  global idim jdim kdim
  set cells [list]
  for {set k 0} {$k < $kdim - $delta} {incr k $delta} {
    for {set j 0} {$j < $jdim - $delta} {incr j $delta} {
      for {set i 0} {$i < $idim - $delta} {incr i $delta} {
        for {set s 0} {$s < [llength $stencils]} {incr s} {
          set stencil [lindex $stencils $s]
          set cell [list]
          for {set p 0} {$p < $dim} {incr p} {
            set vert [lindex $stencil $p]
            set x [expr {[lindex $vert 0] + $i}]
            set y [expr {[lindex $vert 1] + $j}]
            set z [expr {[lindex $vert 2] + $k}]
            lappend cell [getOffset $x $y $z]
          }
          lappend cells $cell
        }
      }
    }
  }
  return $cells
}

# Prism stencils
set prismStencil_1 [list]
lappend prismStencil_1 [pwu::Vector3 set 0 0 0]
lappend prismStencil_1 [pwu::Vector3 set 1 1 0]
lappend prismStencil_1 [pwu::Vector3 set 0 1 0]
lappend prismStencil_1 [pwu::Vector3 set 0 0 1]
lappend prismStencil_1 [pwu::Vector3 set 1 1 1]
lappend prismStencil_1 [pwu::Vector3 set 0 1 1]

set prismStencil_2 [list]
lappend prismStencil_2 [pwu::Vector3 set 0 0 0]
lappend prismStencil_2 [pwu::Vector3 set 1 0 0]
lappend prismStencil_2 [pwu::Vector3 set 1 1 0]
lappend prismStencil_2 [pwu::Vector3 set 0 0 1]
lappend prismStencil_2 [pwu::Vector3 set 1 0 1]
lappend prismStencil_2 [pwu::Vector3 set 1 1 1]

set prismStencils [list]
set cnt 2
for {set i 1} {$i <= $cnt} {incr i} {
  lappend prismStencils [set prismStencil_$i]
}

set prismCells [generatePts $prismStencils 6 1]
set prismBlk [pw::BlockUnstructured createFromPoints -prisms $prismCells $pts]

split

pw::BlockUnstructured split ?<-trexLayers | -trexFronts>? blocks

This action splits the given TRex blocks into either a number of of maximum full prism layer blocks, or into a number of maximum mixed cell blocks dividing the anisotropic and isotropic cells.

Parameters

-trexLayersThis optional parameter specifies that the TRex (anisotropic tetrahedral) cells should be recombined into as many prism layers as possible.  This is the default.
-trexFrontsThis optional parameter specifies that the block be split along the fronts separating the anisotropic (T-Rex) and isotropic cells of the block.  Blocks containing recombination data will not be combined prior to splitting, and will not be combinable after the split.
blocksthe list of pw::BlockUnstructured TRex blocks.

Returns

This action returns a heterogeneous list of the pw::BlockUnstructured and pw::BlockExtruded objects that were created and/or modified.

Information

This command supports progress updates.

Example

This example creates prism (extruded) and tetrahedral cell blocks, maximizing the number of anisotropic prism layers that can be recombined while keeping the block topology intact.  This example assumes that all the unstructured blocks in the system are TRex blocks.

Code

set blocks [pw::Grid getAll -type pw::BlockUnstructured]
set splits [pw::BlockUnstructured split -trexLayers $blocks]
puts "[llength $splits] blocks were created/modified."

Output

3 blocks were created/modified.

join

pw::BlockUnstructured join ?-reject rejectVar? blocks

This action joins as many of the given unstructured blocks together as possible.

Parameters

-reject rejectVarThis optional parameter is the string name of the variable that receives a list of pw::BlockUnstructured objects that were not used in joining.
blocksThis required parameter is a list of pw::BlockUnstructured objects to join.

Returns

This action returns a list of the pw::BlockUnstructured objects that were joined.

Information

This command supports progress updates.

combineAnisoCells

pw::BlockUnstructured combineAnisoCells blocks

This action combines anisotropic tet and pyramid cells in TRex-defined blocks into tet, pyramid, prism and hex cells.

Parameters

blocksthe list of pw::BlockUnstructured TRex blocks.

Returns

This action returns nothing.

Information

This command supports progress updates.

Example

This example combines anisotropic tet and pyramid cells in TRex-defined blocks into tet, pyramid, prism and hex cells.

Code

set blocks [pw::Grid getAll -type pw::BlockUnstructured]
pw::BlockUnstructured combineAnisoCells $blocks

Static Defaults

BoundaryDecay (Default)

pw::BlockUnstructured get/setDefault BoundaryDecay decay

This default is the boundary decay factor of an unstructured block when it is created.  This default is being replaced by pw::GridEntity.SizeFieldDecay and will be deprecated soon.  Getting or setting this default is the same as getting or setting the pw::GridEntity.SizeFieldDecay default.

Type

A float in the range [0, 1].

Default

The default value is 0.5.

See Also

BoundaryDecay

BackgroundSpacing (Default)

pw::BlockUnstructured get/setDefault BackgroundSpacing spacing

This default is the background grid spacing of an unstructured block when it is created.  This default is being replaced by pw::GridEntity.SizeFieldBackgroundSpacing and will be deprecated soon.  Getting or setting this default is the same as getting or setting the pw::GridEntity.SizeFieldBackgroundSpacing default.

Type

A float in the range (0, infinity).

Default

The default value is 0.0.

See Also

BackgroundSpacing

EdgeMaximumGrowthRate (Default)

pw::BlockUnstructured get/setDefault EdgeMaximumGrowthRate growth_rate

This default is the maximum spacing growth rate along an edge of an unstructured block when it is created.

Type

A float in the range (1.0, infinity).

Default

The default value is 1.8.

See Also

EdgeMaximumGrowthRate

EdgeMaximumLength (Default)

pw::BlockUnstructured get/setDefault EdgeMaximumLength < Boundary | length >

This default is the maximum edge length of an unstructured block when it is created.

Type

A float in the range (0, infinity).

Default

The default value is Boundary.

See Also

EdgeMaximumLength

EdgeMinimumLength (Default)

pw::BlockUnstructured get/setDefault EdgeMinimumLength < Boundary | length >

This default is the minimum edge length of an unstructured block when it is created.

Type

A float in the range (0, infinity).

Default

The default value is Boundary.

See Also

EdgeMinimumLength

InteriorAlgorithm (Default)

pw::BlockUnstructured get/setDefault InteriorAlgorithm algorithm

This default is the algorithm that will be used when initializing the interior portion of an unstructured block when it is created.  It only has effect

Type

A string with options < Delaunay | Voxel >.

Default

The default value is Delaunay.

See Also

InteriorAlgorithm

PyramidMaximumHeight (Default)

pw::BlockUnstructured get/setDefault PyramidMaximumHeight height

This default is the maximum pyramid height of an unstructured block when it is created.

Type

A float in the range [0, infinity).  Use 0 for unrestricted pyramid height.

Default

The default value is 0.

See Also

PyramidMaximumHeight

PyramidMinimumHeight (Default)

pw::BlockUnstructured get/setDefault PyramidMinimumHeight height

This default is the minimum pyramid height of an unstructured block when it is created.

Type

A float in the range [0, infinity).  Use 0 for unrestricted pyramid height.

Default

The default value is 0.

See Also

PyramidMinimumHeight

PyramidAspectRatio (Default)

pw::BlockUnstructured get/setDefault PyramidAspectRatio ratio

This default is the pyramid aspect ratio of an unstructured block when it is created.

Type

A float in the range (0, infinity).

Default

The default value is 1.

See Also

PyramidAspectRatio

TRexCellType (Default)

pw::BlockUnstructured get/setDefault TRexCellType value

This default is the type of cells generated by TRex of an unstructured block when it is created.

Type

A string with options < TetPyramid | TetPyramidPrismHex | AllAndReducePyramids | LegacyTetPyramidPrismHex | AllAndConvertWallDoms >.

Default

The default value is TetPyramidPrismHex

Information

TetPyramid indicates that generated cells will be stored as tets upon completion, except for pyramids necessarily placed adjacent to surface quads.

TetPyramidPrismHex means that a combination of tets, pyramids and prisms will be generated in the anisotropic (T-Rex) portion of the mesh.  In addition, hexes will be generated off of surface quads.

AllAndReducePyramids is the same as TetPyramidPrismHex except that a pyramid will be placed on the top of every stack of hexes whenever possible.  This pyramid replaces the 7 cell elements (a base pyramid, 4 side pyramids and 2 top tets) otherwise used to transition from a quad face to triangles faces touching the isotropic tet cells.  This technique will reduce the pyramid count in a mesh significantly when the T-Rex layers stop short of their isotropic height.

LegacyTetPyramidPrismHex (Glyph only) will have nearly the same results as TetPyramidPrismHex, but T-Rex will proceed with it’s slower pre-V18.1 algorithm, representing each hex with 4 (rather than 2) triangles until a satisfactory transition cell is achieved.

AllAndConvertWallDoms (Glyph only) is the same as TetPyramidPrismHex except that triangles lying on growth surfaces will be combined into quads (as is practical) after the block is generated.  This will essentially combine prism stacks into hex stacks, further lowering the cell count.

See Also

TRexCellType

TRexMaximumLayers (Default)

pw::BlockUnstructured get/setDefault TRexMaximumLayers layers

This default is the maximum number of T-Rex layers of an unstructured block when it is created.

Type

An integer in the range [0, infinity), where 0 means that there should be no TRex layers.

Default

The default value is 0.

See Also

TRexMaximumLayers

TRexFullLayers (Default)

pw::BlockUnstructured get/setDefault TRexFullLayers layers

This default is the minimum number of fully structured TRex layers of an unstructured block when it is created.

Type

An integer in the range [0, infinity), where 0 means that there should be no minimum fully structured TRex layers.

Default

The default value is 0.

See Also

TRexFullLayers

TRexGrowthRate (Default)

pw::BlockUnstructured get/setDefault TRexGrowthRate growth_rate

This default is the growth rate of TRex layers of an unstructured block when it is created.

Type

A float in the range [1.0, infinity).

Default

The default value is 1.2.

See Also

TRexGrowthRate

TRexPushAttributes (Default)

pw::BlockUnstructured get/setDefault TRexPushAttributes push

This default is the flag for pushing TRex attributes onto the connectors and domains of an unstructured block when a it is created.

Type

A boolean, where true means that TRex attributes (initial spacing and growth rate or profile) are pushed down onto the connectors and domains.

Default

The default value is false.

See Also

TRexPushAttributes

TRexSpacingSmoothing (Default)

pw::BlockUnstructured get/setDefault TRexSpacingSmoothing smooth

This default is the number of smoothing sweeps to apply to the initial spacing values of TRex layers of an unstructured block when it is created.

Type

An integer in the range [0, infinity), where 0 means no smoothing is applied to the initial spacing values.

Default

The default value is 3.

See Also

TRexSpacingSmoothing

TRexSpacingRelaxationFactor (Default)

pw::BlockUnstructured get/setDefault TRexSpacingRelaxationFactor factor

This default is the relaxation factor of smoothing sweeps to apply to the initial spacing values of TRex layers for an unstructured block when it is created.

Type

A float in the range [0.0, 1.0), where 0 means no smoothing is applied to the initial spacing values.

Default

The default value is 0.7.

See Also

TRexSpacingRelaxationFactor

TRexIsotropicSeedLayers (Default)

pw::BlockUnstructured get/setDefault TRexIsotropicSeedLayers value

This default is the number of TRex isotropic seed layers for an unstructured block when it is created.

Type

A string with value < UseRemainingLayers > or an explicit integer in the range [0, infinity), where 0 means that there should be no TRex isotropic seed layers.

Default

The default value is 0.

See Also

TRexIsotropicSeedLayers

TRexLayerSubdivisions (Default)

pw::BlockUnstructured get/setDefault TRexLayerSubdivisions value

This default controls the maximum cell height multiplier to be applied at the beginning of each T-Rex layer.  At layer completion, cells will be split into multiple layers, thereby accelerating the T-Rex process substantially.  The multiple specified will be the maximum number of possible layer splits, but the actual number could be less based on the cell height proximity to isotropy.

Type

An integer in the range [1, 10].

Default

The default value is 1 (no layer multiple).

TRexUseCollisionPrediction (Default)

This default controls whether collision prediction is used to identify advancing points with high confidence that an expensive collision test is not necessary during surface deformation.

Type

A <bool> indicating that collision prediction should be used.

Default

The default value is true (use collision prediction)

TRexCollisionBuffer (Default)

pw::BlockUnstructured get/setDefault TRexCollisionBuffer factor

This default is the minimum buffer to be maintained between encroaching extruded tetrahedron of an unstructured block when it is created.

Type

A float in the range [0, infinity).

Default

The default value is 0.5.

Info

This default is a multiplication factor of the current cell height.  With a factor of 0.5, a grid point will be extruded by a distance of 0.01 only if it may also be extruded by a distance of 0.015 without intersecting any other portion of the front.

See Also

TRexCollisionBuffer

TRexAnisotropicIsotropicBlend (Default)

pw::BlockUnstructured get/setDefault TRexAnisotropicIsotropicBlend blending

This default is the rate at which anisotropic triangles are blended into isotropic triangles on the interior of an unstructured block when it is created.

Type

A float in the range [0, 1], where 0 disables blending and larger values increase the rate of blending.

Default

The default value is 0.5.

See Also

TRexAnisotropicIsotropicBlend

TRexIsotropicHeight (Default)

pw::BlockUnstructured get/setDefault TRexIsotropicHeight isoHeight

This default specifies the scale factor to be applied to the local isotropic height at which T-Rex stops layer growth via deformation, decimation or refinement.

Type

A float in the range (0.0, infinity).

Default

The default value is 1.0.

See Also

TRexIsotropicHeight

TRexSkewCriteriaDelayLayers (Default)

pw::BlockUnstructured get/setDefault TRexSkewCriteriaDelayLayers delay

This default is the number of layers to delay checking for the quality criteria of the TRex cells of an unstructured block when it is created.

Type

An integer in the range [0, infinity), where 0 means that there should be no delay in checking the quality criteria.

Default

The default value is 0.

See Also

TRexSkewCriteriaDelayLayers

TRexSkewCriteriaMaximumAngle (Default)

pw::BlockUnstructured get/setDefault TRexSkewCriteriaMaximumAngle angle

This default is the maximum included angle quality threshold for TRex cells of an unstructured block when it is created.

Type

A float in the range [60.0, 180.0], where 180.0 disables the quality check.

Default

The default value is 180.0.

See Also

TRexSkewCriteriaMaximumAngle

TRexSkewCriteriaEquivolume (Default)

pw::BlockUnstructured get/setDefault TRexSkewCriteriaEquivolume threshold

This default is the maximum equivolume quality threshold for TRex cells of an unstructured block when it is created.

Type

A float in the range [0.0, 1.0], where 1.0 disables the quality check.

Default

The default value is 1.0.

See Also

TRexSkewCriteriaEquivolume

TRexSkewCriteriaEquiangle (Default)

pw::BlockUnstructured get/setDefault TRexSkewCriteriaEquiangle threshold

This default is the maximum equiangle quality threshold for TRex cells of an unstructured block when it is created.

Type

A float in the range [0.0, 1.0], where 1.0 disables the quality check.

Default

The default value is 1.0.

See Also

TRexSkewCriteriaEquiangle

TRexSkewCriteriaCentroid (Default)

pw::BlockUnstructured get/setDefault TRexSkewCriteriaCentroid threshold

This default is the maximum centroid skew quality threshold for TRex cells of an unstructured block when it is created.

Type

A float in the range [0.0, 1.0], where 1.0 disables the quality check.

Default

The default value is 1.0.

See Also

TRexSkewCriteriaCentroid

TRexSkewCriteriaApplyToHexTrans (Default)

pw::BlockUnstructured get/setDefault TRexSkewCriteriaApplyToHexTrans applyQual

This default determines whether T-Rex pyramid caps and transition hex cells will be tested against the user-set quality thresholds.

Type

A boolean, where false means that user-set TRex cell quality thresholds (other than positive volume checks) will not be applied to pyramid caps and transition hexes at the top of hex stacks.  Note that when true, failing quality of pyramid caps and transition hexes may cause the hex stack to be split into prism stacks.

Default

The default value is true.

See Also

TRexSkewCriteriaApplyToHexTrans

TRexVolumeFunction (Default)

pw::BlockUnstructured get/setDefault TRexVolumeFunction function

This default is the method to be used when computing prism cell volumes for TRex cells of an unstructured block when it is created.

Type

A string with options < MinComponent | GreenGauss >.  MinComponent indicates that the TRex mesher should use the minimum component volume for prism volume computation.  GreenGauss indicates the use of the Green-Gauss method of prism volume computation.

Default

The default value is MinComponent.

See Also

TRexVolumeFunction

OversetAdaptAmplification (Default)

pw::BlockUnstructured get/setDefault OversetAdaptAmplification factor

This default is the adaption target edge length amplification factor of an unstructured block when it is created.

Type

A float in the range (0, infinity).

Default

The default value is 1.5.

See Also

OversetAdaptAmplification

OversetAdaptTargets (Default)

pw::BlockUnstructured get/setDefault OversetAdaptTargets targets

This default is the orphan remediation and fringe improvement adaption targets of an unstructured block when it is created.

Type

A list of string with values < Fringes | Donors | Orphans | OrphanDonorCandidates >.

Default

The default value is [list Donors OrphanDonorCandidates].

See Also

OversetAdaptTargets

VoxelAlignment (Default)

pw::BlockUnstructured get/setDefault VoxelAlignment alignment

This default represents the voxel alignment method to be used for an unstructured block when it is created.

Type

A string with options < Axes | Body >.

Default

The default value is Axes.

See Also

VoxelAlignment

VoxelMinimumSize (Default)

pw::BlockUnstructured get/setDefault VoxelMinimumSize size

This default is the minimum voxel size of the voxel mesh of an unstructured block when it is created.

Type

A float in the range [0, infinity).

Default

The default value of this attribute is 0.0, which means to compute the minimum from either the size field (voxel blocks) or the block surface mesh (unstructured blocks).

See Also

VoxelMinimumSize

VoxelMaximumSize (Default)

pw::BlockUnstructured get/setDefault VoxelMaximumSize size

This default is the maximum voxel size of the voxel mesh of an unstructured block when it is created.

Type

A float in the range [0, infinity).

Default

The default for this attribute is 0.0, which means to compute the maximum as a fraction (1/8) of the shortest edge of the extents (voxel blocks), or the block surface mesh (unstructured blocks).

See Also

VoxelMaximumSize

VoxelTransitionLayers (Default)

pw::BlockUnstructured get/setDefault VoxelTransitionLayers num

This default is the number of layers between voxel size transitions of the voxel mesh of an unstructured block when it is created.

Type

An integer in the range [1, 100].

Default

The default for this attribute is 1.

See Also

VoxelTransitionLayers

Instance Actions

getInitializationErrorCount

$block getInitializationErrorCount

This action gets the number of errors from the last attempt at initializing the block.

Parameters

This action has no parameters.

Returns

This action returns the integer number of error messages.

See Also

getInitializationError and getInitializationErrors

getTRexFront

$block getTRexFront domains

This action takes an input list of domains on the block and determines which TRex fronts they lie on, if any.

Parameters

domainsThe required list of pw::Domain objects on which the front numbers assigned during T-Rex execution are computed.

Returns

This action returns a list of integer values indicating the front numbers assigned to the domains during the previous TRex execution.  Returned values > 0 indicates the front number, a value of -1 indicates that the domain was set to Match, and a value of 0 indicates that the domain does not lie in the block, it was set to an OFF condition, or TRex has not been run.

Example

This example queries the frontIds assigned to dom-1 and dom-2 during the previous execution of T-Rex on blk-1.

Code

set domain1 [pw::Grid getByName "dom-1"]
set domain2 [pw::Grid getByName "dom-2"]
set block [pw::Grid getByName "blk-1"]
set frontId [$block getTRexFront [list $domain1 $domain2]
puts "Domains lie on fronts $frontId."

Output

Domains lie on fronts 2 3.

getTRexLayersOnFront

$block getTRexLayersOnFront fronts

This action takes a list of front ids and determines how many full and max layers are associated with the front.  Block must have anisotropic data.  Full layers will be reported as zero for uncombined blocks.

Parameters

frontsThis required list of integer ids are the fronts to be queried for full layers and max layers.

Returns

This action returns a list of lists, each containing a full layer to max layer integer pair [list integer integer].  The list is ordered in parallel with passed fronts.

splitByDistance

$block splitByDistance distance domains

This action splits the unstructured block into a number of new blocks based on a distance from specified domains within the block.  Cells in the unstructured block should be divided at triangles and quads where the stored cellIds differ.  Blocks containing recombination data will be combined prior to splitting.

Parameters

distanceThis required float specifies the distance from the specified domains at which the block split will occur.
domainsThe required list of pw::Domain domains to serve as the base for the split.  Split distance will be measured from these domains.

Returns

This action returns a homogeneous list of pw::BlockUnstructured objects.

Information

This command supports progress updates.

Example

This example splits blk-1 a distance of 2.0 from dom-1.  This results in two separate blocks.

Code

set domain [pw::Grid getByName "dom-1"]
set block [pw::Grid getByName "blk-1"]
set splits [$block splitByDistance 2.0 $domain]
puts "[llength $splits] blocks were created/modified."

Output

2 blocks were created/modified.

splitByFronts

$block splitByFronts ?<-layers | -layerPerFront | -layerPerDomain>? value

This action splits the unstructured block into a number of new blocks, splitting along fronts in specified domains in the block by a specified number of layers.  Blocks containing recombination data will be combined prior to splitting.

Parameters

-layersThis optional flag indicates to split the block at a number of layers.  The value is an integer that specifies the number of layers at which the fronts will be split.  A value of -1 will split at the maximum level; i.e., the front between the anisotropic and isotropic cells.  This is the default option.
-layerPerFrontThis optional flag indicates to split each front at an unique layer.  The value is a list of lists, each containing a front to layer integer pair [list integer integer].  getTRexFront may be used to determine the integer frontIds on which domains lie.
-layerPerDomainThis optional flag indicates to split each front at an unique layer.  The front is identified from a domain instead of explicitly identifying it with an id.  The value is a list of lists, each containing a domain to layer pair [list pw::Domain integer].
valueThis required parameter indicates the TRex front and layer to split upon.

Returns

This action returns a homogeneous list of pw::BlockUnstructured objects.

Information

This command supports progress updates.

Example

This example splits the unstructured TRex block at two fronts.  Both fronts are split at different TRex layer numbers.

Code

set block [pw::Grid getByName "blk-1"]
set splits [$block split splitByFront -layerPerFront \
  [list [list 1 3] [list 2 4]]]
puts "[llength $splits] blocks were created/modified."

Output

3 blocks were created/modified.

getInitializationError

$block getInitializationError ?-points? index

This action gets a specific error message from the last initialization attempt.

Parameters

-pointsThis optional flag indicates that the error elements should be returned as a list of vector (XYZ) rather than indices
indexThis required parameter is the integer message number in the range [1, num_messages].

Returns

This action returns a list consisting of an error message string and 0 or more additional elements that are lists of vertices that indicate the location of the error.  Each list will contain vertex indices or xyz vectors if the -points parameter is present.

Information

Each list of vertices that indicate the location of the error represents a different shape depending on the number of vertices provided: a single point (1 vertex), an edge (2 vertices), a cell face (3 vertices), or a cell (4 vertices).

Do not depend on the actual error message strings as a “key”.  The message may change across releases or languages.

See Also

getInitializationErrorCount

getInitializationErrors

$block getInitializationErrors

This action gets the error message list.

Parameters

This action has no parameters.

Returns

This action returns the list of string error messages.

See Also

getInitializationErrorCount

getTRexCellCount

$blk getTRexCellCount

This action gets the number of T-Rex cells in the block.  Note that there is currently no distinction between an isotropic or anisotropic (T-Rex) cell, so this action is used only for statistical purposes.

Parameters

none

Returns

This action returns the number of anisotropic (T-Rex) cells.

getTRexTetCount

$blk getTRexTetCount

This action gets the number of T-Rex tet cells in the block.  Note that there is currently no distinction between an isotropic or anisotropic (T-Rex) cell, so this action is used only for statistical purposes.

Parameters

none

Returns

This action returns the number of anisotropic (T-Rex) tet cells.

getTRexPyrCount

$blk getTRexPyrCount

This action gets the number of T-Rex pyr cells in the block.  Note that there is currently no distinction between an isotropic or anisotropic (T-Rex) cell, so this action is used only for statistical purposes.

Parameters

none

Returns

This action returns the number of anisotropic (T-Rex) pyramid cells.

getTRexPrismCount

$blk getTRexPrismCount

This action gets the number of T-Rex prism cells in the block.  Note that there is currently no distinction between an isotropic or anisotropic (T-Rex) cell, so this action is used only for statistical purposes.

Parameters

none

Returns

This action returns the number of anisotropic (T-Rex) prism cells.

getTRexHexCount

$blk getTRexHexCount

This action gets the number of T-Rex hex cells in the block.  Note that there is currently no distinction between an isotropic or anisotropic (T-Rex) cell, so this action is used only for statistical purposes.

Parameters

none

Returns

This action returns the number of anisotropic (T-Rex) hex cells.

getVoxelTetRange

$blk getVoxelTetRange

This action returns the first and last tet in the array that were formed from voxel cells.

Parameters

none

Returns

A list of the first and last tetrahedral cell in the block that correspond to voxel tetrahedral cells.  If there are no voxel tetrahedra, 0 will be returned for each of these values.

Example

This example shows how to determine the range of tet cells in the block that were formed from voxel cells.  $blk(1) is referencing an existing block.

Code

puts [$blk(1) getVoxelTetRange]

Output

[1000 4500]

getVoxelPyrRange

$blk getVoxelPyrRange

This action returns the first and last pyramid in the array that were formed from voxel cells.

Parameters

none

Returns

This action returns a list of the first and last pyramid in the block that correspond to voxel pyramids.  If there are no voxel pyramids, 0 will be returned for each of these values.

Example

This example shows how to determine the range of pyramid cells in the block that were formed from voxel cells.  $blk(1) is referencing an existing block.

Code

puts [$blk(1) getVoxelPyrRange]

Output

[1500 8520]

getVoxelPrismRange

$blk getVoxelPrismRange

This action returns the first and last prism in the array that were formed from voxel cells.

Parameters

none

Returns

This action returns a list of the first and last prism in the block that correspond to voxel prisms.  If there are no voxel prisms, 0 will be returned for each of these values.

Example

This example shows how to determine the range of prism cells in the block that were formed from voxel cells.  $blk(1) is referencing an existing block.

Code

puts [$blk(1) getVoxelPrismRange]

Output

[3250 10500]

getVoxelHexRange

$blk getVoxelHexRange

This action returns the first and last hex in the array that were formed from voxel cells.

Parameters

none

Returns

This action returns a list of the first and last hex in the block that correspond to voxel hexes.  If there are no voxel hexes, 0 will be returned for each of these values.

Example

This example shows how to determine the range of hex cells in the block that were formed from voxel cells.  $blk(1) is referencing an existing block.

Code

puts [$blk(1) getVoxelHexRange]

Output

[5000 7500]

getIsoTetRange

$blk getIsoTetRange

This action returns the first and last tet in the array that were formed from voxel cells.

Parameters

none

Returns

This action returns a list of the first and last tet in the block that correspond to isotropic tets.  If there are no iso tets, 0 will be returned for each of these values.

Example

This example shows how to determine the range of tet cells in the block that were formed from isotropic cells.  $blk(1) is referencing an existing block.

Code

puts [$blk(1) getIsoTetRange]

Output

[1000 4500]

getIsoPyrRange

$blk getIsoPyrRange

This action returns the first and last pyramid in the array that were formed from isotropic cells.

Parameters

none

Returns

This action returns a list of the first and last pyramid in the block that correspond to isotropic pyramids.  If there are no iso pyramids, 0 will be returned for each of these values.

Example

This example shows how to determine the range of pyramid cells in the block that were formed from iso cells.  $blk(1) is referencing an existing block.

Code

puts [$blk(1) getIsoPyrRange]

Output

[1500 8520]

getIsoPrismRange

$blk getIsoPrismRange

This action returns the first and last prism in the array that were formed from isotropic cells.

Parameters

none

Returns

This action returns a list of the first and last prism in the block that correspond to isotropic prisms.  If there are no iso prisms, 0 will be returned for each of these values.

Example

This example shows how to determine the range of prism cells in the block that were formed from isotropic cells.  $blk(1) is referencing an existing block.

Code

puts [$blk(1) getIsoPrismRange]

Output

[3250 10500]

getIsoHexRange

$blk getIsoHexRange

This action returns the first and last hex in the array that were formed from isotropic cells.

Parameters

none

Returns

This action returns a list of the first and last hex in the block that correspond to isotropic hexes.  If there are no iso hexes, 0 will be returned for each of these values.

Example

This example shows how to determine the range of hex cells in the block that were formed from iso cells.  $blk(1) is referencing an existing block.

Code

puts [$blk(1) getIsoHexRange]

Output

[5000 7500]

getAnisoTetRange

$blk getAnisoTetRange

This action returns the first and last tet in the array that were formed from voxel cells.

Parameters

none

Returns

This action returns a list of the first and last tet in the block that correspond to anisotropic tets.  If there are no aniso tets, 0 will be returned for each of these values.

Example

This example shows how to determine the range of tet cells in the block that were formed from anisotropic cells.  $blk(1) is referencing an existing block.

Code

puts [$blk(1) getAnisoTetRange]

Output

[1000 4500]

getAnisoPyrRange

$blk getAnisoPyrRange

This action returns the first and last pyramid in the array that were formed from anisotropic cells.

Parameters

none

Returns

This action returns a list of the first and last pyramid in the block that correspond to anisotropic pyramids.  If there are no aniso pyramids, 0 will be returned for each of these values.

Example

This example shows how to determine the range of pyramid cells in the block that were formed from aniso cells.  $blk(1) is referencing an existing block.

Code

puts [$blk(1) getAnisoPyrRange]

Output

[1500 8520]

getAnisoPrismRange

$blk getAnisoPrismRange

This action returns the first and last prism in the array that were formed from anisotropic cells.

Parameters

none

Returns

This action returns a list of the first and last prism in the block that correspond to anisotropic prisms.  If there are no aniso prisms, 0 will be returned for each of these values.

Example

This example shows how to determine the range of prism cells in the block that were formed from anisotropic cells.  $blk(1) is referencing an existing block.

Code

puts [$blk(1) getAnisoPrismRange]

Output

[3250 10500]

getAnisoHexRange

$blk getAnisoHexRange

This action returns the first and last hex in the array that were formed from anisotropic cells.

Parameters

none

Returns

This action returns a list of the first and last hex in the block that correspond to anisotropic hexes.  If there are no aniso hexes, 0 will be returned for each of these values.

Example

This example shows how to determine the range of hex cells in the block that were formed from aniso cells.  $blk(1) is referencing an existing block.

Code

puts [$blk(1) getAnisoHexRange]

Output

[5000 7500]

getTRexFullLayerCount

$blk getTRexFullLayerCount

This action gets the number of T-Rex full layers in the block generated by the last run of the solver.  This may be different than the user-specified amount in the solver attributes

Parameters

none

Returns

This action returns the number of T-Rex full layers.

getTRexTotalLayerCount

$blk getTRexTotalLayerCount

This action gets the number of T-Rex total layers in the block generated by the last run of the solver.  This may be different than the user-specified amount in the solver attributes

Parameters

none

Returns

This action returns the number of T-Rex total layers.

getTRexTotalLayerHeight

$blk getTRexTotalLayerHeight

This action gets the non-dimensional summed height of a TRex front at a specified layer.  It is non-dimensional in that the value will need to be multiplied by the initial wall spacing in order to represent the true approximate distance a front vertex lies from its surface position.  Total height is computed from the current growthRates assigned to the block.

Parameters

layerthe layer number at which summed non-dimensional height will be computed.  Valid values are [1, infinity).  Layer values greater or less than the actual number of layers in the TRex block are also valid.

Returns

This action returns the non-dimensional height of a TRex front at the specified layer.

getTRexMatchDomainCount

$blk getTRexMatchDomainCount ?-connectorCount connectorCountVar?

This action gets the number of match domains emanating from the adjacent grid/wall BC conditions within this block.

Parameters

-connectorCount connectorCountVarThis optional parameter is a variable name to receive the count of connectors where domains emanate from the adjacent grid/wall BC conditions within this block.  This can be greater than the number of domains when multiple connectors of a domain touch an adjacent grid/wall BC condition.

Returns

This action returns the number of domains.

getTRexMatchInitialSpacing

$blk getTRexMatchInitialSpacing

This action gets the minimum, average, and maximum initial spacing of the match domains connected to the adj grid/wall BCs of this block.

Parameters

none

Returns

This action returns a list of the minimum, average, and maximum of the initial spacings.  If there are no match domains, 0.0 will be returned for each of these values

Example

This example shows how to get the initial spacing on match domains from an unstructured block.  $blk(1) is referencing an existing block.

Code

puts [$blk(1) getTRexMatchInitialSpacing]

Output

[0.0100 0.0123 0.0200]

getTRexMatchGrowthRate

$blk getTRexMatchGrowthRate

This action gets the minimum, average, and maximum growth rates of the match domains connected to the adj grid/wall BCs of this block.

Parameters

none

Returns

This action returns a list of the minimum, average, and maximum of the growth rates.  If there are no match domains, 0.0 will be returned for each of these values

Example

This example shows how to get the average growth rate on match domains from an unstructured block.  $blk(1) is referencing an existing block.

Code

puts [$blk(1) getTRexMatchGrowthRate]

Output

[1.0100 1.0123 1.0200]

getTRexMatchLayerCount

$blk getTRexMatchLayerCount

This action gets the minimum, average, and maximum layer count of the match domains connected to the adj grid/wall BCs of this block.

Parameters

none

Returns

This action returns a list of the minimum, average, and maximum of the layer counts.  If there are no match domains, 0.0 will be returned for each of these values

Example

This example shows how to get the average initial spacing on match domains from an unstructured block.  $blk(1) is referencing an existing domain.

Code

puts [$blk(1) getTRexMatchLayerCount]

Output

[10.0 20.0 30.0]

join

$block join block

This action joins the given block to this block.

Parameters

blockThis required parameter is the pw::BlockUnstructured object to join.

Returns

This action returns nothing.

freeInterior

$block freeInterior

This action frees the block’s interior points.

Parameters

This action has no parameters.

Returns

This action returns nothing.

pushAttributes

$block pushAttributes

This action pushes the block’s attributes onto the match domains if the TRexPushAttributes attribute is true.  This normally occurs automatically during block initialization, but this action allows the attributes to be pushed without initializing the interior of the block.

Parameters

This action has no parameters.

Returns

This action returns nothing.

boundaryAdaptation

$block boundaryAdaptation

This action adapts the block’s boundaries based on the current settings of the block.  This normally occurs automatically during block initialization, but this action allows the adaptation to occur without initializing the interior of the block.

Parameters

This action has no parameters.

Returns

This action returns nothing.

removeFace

$block removeFace face

This action removes a face from the block.

Parameters

faceThis required parameter is the pw::FaceUnstructured object to remove.

Returns

This action returns nothing.

Information

If this is performed inside of a mode, the pw::FaceUnstructured object will be valid until the end of the mode.  Otherwise, the face object is deleted immediately.  The outer face of a block can not be removed unless it is the only face.

getOuterFace

$block getOuterFace

This action returns the block’s outer face.

Parameters

none

Returns

This action returns a pw::FaceUnstructured object representing the block’s outer face.  An error is raised if the block does not have an outer face.

getBoundaryEdgeMinimumLength

$block getBoundaryEdgeMinimumLength

This action gets the calculated minimum boundary edge length based on triangular area of the boundary cells.

Parameters

This action has no parameters.

Returns

This action returns the minimum boundary edge length as a float.

getBoundaryEdgeMaximumLength

$block getBoundaryEdgeMaximumLength

This action gets the calculated maximum boundary edge length based on triangular area of the boundary cells.

Parameters

This action has no parameters.

Returns

This action returns the maximum boundary edge length as a float.

getVolumeEdgeMinimumLength

$block getVolumeEdgeMinimumLength

This action gets the calculated minimum volume edge length based on tetrahedral volume of the cells.

Parameters

This action has no parameters.

Returns

This action returns the minimum volume edge length as a float.

getVolumeEdgeMaximumLength

$block getVolumeEdgeMaximumLength

This action gets the calculated maximum volume edge length based on tetrahedral volume of the cells.

Parameters

This action has no parameters.

Returns

This action returns the maximum volume edge length as a float.

getPyramidBaseMaximumHeight

$block getPyramidBaseMaximumHeight

This action gets the calculated maximum height of the pyramids based on the prescribed aspect ratio and the base area of the cells.

Parameters

This action has no parameters.

Returns

This action returns the maximum pyramid height as a float.

getPyramidBaseMinimumHeight

This action gets the calculated minimum height of the pyramids based on the prescribed aspect ratio and the base area of the cells.

Parameters

This action has no parameters.

Returns

This action returns the minimum pyramid height as a float.

getAutomaticVoxelMinimumSize

$block getAutomaticVoxelMinimumSize

This action gets the automatic minimum size used when the VoxelMinimumSize attribute is set to 0.0.

Parameters

This action has no parameters.

Returns

This action returns the automatic minimum voxel size as a float.

getAutomaticVoxelMaximumSize

$block getAutomaticVoxelMaximumSize

This action gets the automatic maximum size used when the VoxelMinimumSize parameter is set to 0.0.

Parameters

This action has no parameters.

Returns

This action returns the automatic maximum size as a float.

getUnstructuredSolverAttribute

$block getUnstructuredSolverAttribute att_name ?value_type?

This action gets the named unstructured solver attribute.

Parameters

att_nameThis required parameter is the name string of the attribute to get.
value_typeThis optional parameter is the type string of value to get with options < Actual | Default >.  The default is Actual.

Returns

This action returns the actual or default value of the named attribute.

See Also

setUnstructuredSolverAttribute, Unstructured Solver Attributes

setUnstructuredSolverAttribute

$block setUnstructuredSolverAttribute att_name att_value

This action sets the named unstructured solver attribute.

Parameters

att_nameThis required parameter is the string name of the attribute to set.
att_valueThis required parameter is the new attribute value, a string, integer or float depending on the attribute.

Returns

This action returns nothing.

See Also

getUnstructuredSolverAttribute, Unstructured Solver Attributes

Unstructured Solver Attributes

BoundaryDecay

$block get/setUnstructuredSolverAttribute BoundaryDecay decay

This attribute is the boundary decay factor of an unstructured block.  This attribute is being replaced by pw::GridEntity.SizeFieldDecay and will be deprecated soon.  Getting or setting this attribute is the same as getting or setting the pw::GridEntity.SizeFieldDecay attribute.

Type

A float in the range [0, 1].

Default

The default for this attribute is set using the current value of BoundaryDecay (Default).

See Also

BoundaryDecay (Default)

BackgroundSpacing

$block get/setUnstructuredSolverAttribute BackgroundSpacing spacing

This attribute is the background spacing of an unstructured block.  This attribute is being replaced by pw::GridEntity.SizeFieldBackgroundSpacing and will be deprecated soon.  Getting or setting this attribute is the same as getting or setting the pw::GridEntity.SizeFieldBackgroundSpacing attribute.

Type

A float in the range [0, infinity).

Default

The default for this attribute is set using the current value of the default BackgroundSpacing (Default).

See Also

BackgroundSpacing (Default)

EdgeMaximumGrowthRate

$block get/setUnstructuredSolverAttribute EdgeMaximumGrowthRate growth_rate

This attribute is the maximum spacing growth rate along an edge of an unstructured block.

Type

A float in the range (1.0, infinity).

Default

The default for this attribute is 1.8.

See Also

EdgeMaximumGrowthRate (Default)

EdgeMaximumLength

$block get/setUnstructuredSolverAttribute EdgeMaximumLength < Boundary | length >

This attribute is the maximum edge length of an unstructured block.

Type

A string with the value < Boundary > or a float in the range [0, infinity), where 0.0 indicates no maximum edge length.  Boundary indicates that the maximum edge length is derived from the block’s pw::Domain boundaries.

Default

The default for this attribute is 0.0.

See Also

EdgeMaximumLength (Default)

EdgeMinimumLength

$block get/setUnstructuredSolverAttribute EdgeMinimumLength < Boundary | length >

This attribute is the minimum edge length of an unstructured block.

Type

A string with the value < Boundary > or a float in the range [0.0, infinity), where Boundary indicates to use the minimum edge length from the block’s pw::Domain boundaries.

Default

The default for this attribute is 0.0.

See Also

EdgeMinimumLength (Default)

InteriorAlgorithm

$block get/setUnstructuredSolverAttribute InteriorAlgorithm algorithm

This attribute is the algorithm that will be used when initializing the interior portion of an unstructured block.

Type

A string with options < Delaunay | Voxel >.

Default

The default value is Delaunay.

See Also

InteriorAlgorithm (Default)

PyramidMaximumHeight

$block get/setUnstructuredSolverAttribute PyramidMaximumHeight height

The maximum pyramid height of an unstructured block

Type

A float in the range [0, infinity), where 0.0 means unrestricted pyramid height.

Default

The default for this attribute is 0.0.

See Also

PyramidMaximumHeight (Default)

PyramidMinimumHeight

$block get/setUnstructuredSolverAttribute PyramidMinimumHeight height

This attribute is the minimum pyramid height of an unstructured block.

Type

A float in the range [0, infinity), where 0.0 indicates unrestricted pyramid height.

Default

The default for this attribute is 0.0.

See Also

PyramidMinimumHeight (Default)

PyramidAspectRatio

$block get/setUnstructuredSolverAttribute PyramidAspectRatio ratio

This attribute is the pyramid aspect ratio of an unstructured block.

Type

A float in the range (0, infinity).

Default

The default for this attribute is 0.5.

See Also

PyramidAspectRatio (Default)

TRexCellType

$block get/setUnstructuredSolverAttribute TRexCellType value

This attribute controls what type of cells a T-Rex generated block will contain after generation.

Type

A string with options < TetPyramid | TetPyramidPrismHex | AllAndReducePyramids | LegacyTetPyramidPrismHex | AllAndConvertWallDoms >

Default

The default for this attribute is TetPyramidPrismHex

Information

TetPyramid indicates that generated cells will be stored as tets upon completion, except for pyramids necessarily placed adjacent to surface quads.

TetPyramidPrismHex means that a combination of tets, pyramids and prisms will be generated in the anisotropic (T-Rex) portion of the mesh.  In addition, hexes will be generated off of surface quads.

AllAndReducePyramids is the same as TetPyramidPrismHex except that a pyramid will be placed on the top of every stack of hexes whenever possible.  This pyramid replaces the 7 cell elements (a base pyramid, 4 side pyramids and 2 top tets) otherwise used to transition from a quad face to triangles faces touching the isotropic tet cells.  This technique will generally reduce the pyramid count in a mesh significantly when the T-Rex layers stop short of their isotropic height.

LegacyTetPyramidPrismHex (Glyph only) will have nearly the same results as TetPyramidPrismHex, but T-Rex will proceed with it’s slower pre-V18.1 algorithm, representing each hex with 4 (rather than 2) triangles until a satisfactory transition cell is achieved.

AllAndConvertWallDoms (Glyph only) is the same as TetPyramidPrismHex except that triangles lying on growth surfaces will be combined into quads (as is practical) after the block is generated.  This will essentially combine prism stacks into hex stacks, further lowering the cell count.

See Also

TRexCellType (Default)

TRexMaximumLayers

$block get/setUnstructuredSolverAttribute TRexMaximumLayers value

This attribute is the maximum number of TRex layers of the block.

Type

An integer in the range [0, infinity), where 0 means that there should be no TRex layers.

Default

The default of this attribute is 0.

See Also

TRexMaximumLayers (Default)

TRexFullLayers

$block get/setUnstructuredSolverAttribute TRexFullLayers value

This attribute is the minimum number of fully structured TRex layers of the block.

Type

An integer in the range [0, infinity), where 0 means that there should be no minimum fully structured TRex layers.

Default

The default of this attribute is 0.

See Also

TRexFullLayers (Default)

TRexGrowthRate

$block get/setUnstructuredSolverAttribute TRexGrowthRate value

This attribute is the growth rate of TRex layers for the block.

Type

A float in the range [1.0, infinity).

Default

The default for this attribute is 1.2.

See Also

TRexGrowthRate (Default)

TRexPushAttributes

$block get/setUnstructuredSolverAttribute TRexPushAttributes value

This attribute is the flag for pushing TRex attributes onto the connectors and domains of this block.

Type

A boolean, where true means that TRex attributes (initial spacing and growth rate or schedule) are pushed down onto the connectors and domains.

Default

The default value of this attribute is false.

See Also

TRexPushAttributes (Default)

TRexSpacingSmoothing

$block get/setUnstructuredSolverAttribute TRexSpacingSmoothing value

This attribute is the number of smoothing sweeps to apply to the initial spacing values of TRex layers of the block.

Type

An integer in the range [0, infinity), where 0 means no smoothing is applied to the initial spacing values.

Default

The default of this attribute is 3.

See Also

TRexSpacingSmoothing (Default)

TRexSpacingRelaxationFactor

$block get/setUnstructuredSolverAttribute TRexSpacingRelaxationFactor value

This attribute is the relaxation factor of smoothing sweeps to apply to the initial spacing values of TRex layers for the block.

Type

A float in the range [0.0, 1.0), where 0 means no smoothing is applied to the initial spacing values.

Default

The default of this attribute is 0.7.

See Also

TRexSpacingRelaxationFactor (Default)

TRexIsotropicSeedLayers

$block get/setUnstructuredSolverAttribute TRexIsotropicSeedLayers value

This attribute is the number of TRex isotropic seed layers for the block.

Type

A string with the value < UseRemainingLayers > or an explicit integer in the range [0, infinity), where 0 means that there should be no TRex isotropic seed layers.

Default

The default value of this attribute is 0.

See Also

TRexIsotropicSeedLayers (Default)

TRexLayerSubdivisions

$block get/setUnstructuredSolverAttribute TRexLayerSubdivisions value

This attribute is the maximum cell height multiplier to be applied at the beginning of each T-Rex layer.  At layer completion, cells will be split into multiple layers, thereby accelerating the T-Rex process substantially.  The multiple specified will be the maximum number of possible layer splits, but the actual number could be less based on the cell height proximity to isotropy.

Type

An integer in the range [1, 10].

Default

The default value is 1 (no layer multiple).

TRexUseCollisionPrediction

$block get/setUnstructuredSolverAttribute TRexUseCollisionPrediction value

This attribute controls whether collision prediction is used to identify advancing points with high confidence that an expensive collision test is not necessary during surface deformation.

Type

A <bool> indicating whether to use collision prediction.

Default

The default value is true (use prediction).

TRexCollisionBuffer

$block get/setUnstructuredSolverAttribute TRexCollisionBuffer value

This attribute specifies the minimum buffer to be maintained between encroaching extruded tetrahedron.

Type

A float in the range [0, infinity).

Default

The default of this attribute is 0.5.

Info

This attribute is a multiplication factor of the current cell height.  With a factor of 0.5, a grid point will be extruded by a distance of 0.01 only if it may also be extruded by a distance of 0.015 without intersecting any other portion of the front.

See Also

TRexCollisionBuffer (Default)

TRexAnisotropicIsotropicBlend

$block get/setUnstructuredSolverAttribute TRexAnisotropicIsotropicBlend value

This attribute specifies the rate at which anisotropic triangles are blended into isotropic triangles on the block interior.

Type

A float in the range [0, 1], where 0 disables blending and larger values increase the rate of blending.

Default

The default of this attribute is 0.5.

See Also

TRexAnisotropicIsotropicBlend (Default)

TRexSkewCriteriaDelayLayers

$block get/setUnstructuredSolverAttribute TRexSkewCriteriaDelayLayers value

This attribute is the number of layers to delay checking for the quality criteria of the TRex cells.

Type

An integer in the range [0, infinity), where 0 means that there should be no delay in checking the quality criteria.

Default

The default of this attribute is 0.

See Also

TRexSkewCriteriaDelayLayers (Default)

TRexSkewCriteriaMaximumAngle

$block get/setUnstructuredSolverAttribute TRexSkewCriteriaMaximumAngle value

This attribute specifies the maximum included angle quality threshold for TRex cells.  If the criterion cannot be met the cell will be discarded and the front is stopped locally.

Type

A float in the range [60.0, 180.0], where 180.0 disables the quality check.

Default

The default of this attribute is 180.0.

See Also

TRexSkewCriteriaMaximumAngle (Default)

TRexSkewCriteriaEquivolume

$block get/setUnstructuredSolverAttribute TRexSkewCriteriaEquivolume value

This attribute specifies the maximum equivolume quality threshold for TRex cells.  If the criterion cannot be met the cell will be discarded and the front is stopped locally.

Type

A float in the range [0.0, 1.0], where 1.0 disables the quality check.

Default

The default of this attribute is 1.0.

See Also

TRexSkewCriteriaEquivolume (Default)

TRexSkewCriteriaEquiangle

$block get/setUnstructuredSolverAttribute TRexSkewCriteriaEquiangle value

This attribute specifies the maximum equiangle quality threshold for TRex cells.  If the criterion cannot be met the cell will be discarded and the front is stopped locally.

Type

A float in the range [0.0, 1.0], where 1.0 disables the quality check.

Default

The default of this attribute is 1.0.

See Also

TRexSkewCriteriaEquiangle (Default)

TRexSkewCriteriaCentroid

$block get/setUnstructuredSolverAttribute TRexSkewCriteriaCentroid value

This attribute specifies the maximum centroid skew quality threshold for TRex cells.  If the criterion cannot be met the cell will be discarded and the front is stopped locally.

Type

A float in the range [0.0, 1.0], where 1.0 disables the quality check.

Default

The default of this attribute is 1.0.

See Also

TRexSkewCriteriaCentroid (Default)

TRexSkewCriteriaMinimumAngle

$block get/setUnstructuredSolverAttribute TRexSkewCriteriaMinimumAngle value

This attribute specifies the minimum included angle quality threshold for TRex cells.  If the criterion cannot be met the cell will be discarded and the front is stopped locally.

Type

A float in the range [0.0, 60.0], where 0.0 disables the quality check.

Default

The default value of this attribute is 0.0.

TRexSkewCriteriaApplyToHexTrans

$block get/setUnstructuredSolverAttribute TRexSkewCriteriaApplyToHexTrans value

This attribute determines whether T-Rex pyramid caps and transition hex cells will be tested against the user-set quality thresholds.

Type

A boolean, where false means that user-set TRex cell quality thresholds (other than positive volume checks) will not be applied to pyramid caps and transition hexes at the top of hex stacks.  Note that when true, failing quality of pyramid caps and transition hexes may cause the hex stack to be split into prism stacks.

Default

The default value is true.

See Also

TRexSkewCriteriaApplyToHexTrans (Default)

TRexIsotropicHeight

$block get/setUnstructuredSolverAttribute TRexIsotropicHeight value

This attribute specifies the scale factor to be applied to the local isotropic height at which T-Rex stops layer growth via deformation, decimation or refinement.

When set to 1.0, anisotropic cell growth continues at each vertex until one of the tets below the vertex reaches its isotropic height.  When a value other that 1.0 is selected, the isotropic height criteria is multiplied by the value, meaning that it is possible to stop vertex advancement prior (value < 1.0) or beyond (value > 1.0) true isotropy.

Type

A float in the range (0.0, infinity).

Default

The default of this attribute is 1.0.

See Also

TRexIsotropicHeight (Default)

TRexVolumeFunction

$block get/setUnstructuredSolverAttribute TRexVolumeFunction function

This attribute specifies the method to be used when computing prism cell volumes for TRex cells.

Type

A string with options < MinComponent | GreenGauss >.  MinComponent indicates that the TRex mesher should use the minimum component volume for prism volume computation.  GreenGauss indicates the use of the Green-Gauss method of prism volume computation.

Default

The default of this attribute is MinComponent.

See Also

TRexVolumeFunction (Default)

TRexGrowthProfile

$block get/setUnstructuredSolverAttribute TRexGrowthProfile profile

This attribute specifies the growth rate for each anisotropic layer.

Type

A list of float indicating the growth rate to apply at each layer in the anisotropic region of the block to compute the height of the next layer.  Each float in the list must be greater than zero.  If this attribute is specified as a non-empty list, the TRexGrowthRate attribute is ignored.  If the length of this list is less than the prescribed number of layers for the block, the last element is used as the growth rate for all subsequent layers.

Default

The default of this attribute is no growth profile, indicating that TRexGrowthRate be used for all layer height calculations.

OversetAdaptAmplification

$block get/setUnstructuredSolverAttribute OversetAdaptAmplification factor

This attribute is the adaption target edge length amplification factor of an unstructured block.

Type

A float in the range (0, infinity).

Default

The default for this attribute is 1.5.

See Also

OversetAdaptAmplification (Default)

OversetAdaptTargets

$block get/setUnstructuredSolverAttribute OversetAdaptTargets <targets>

This attribute sets the orphan remediation and fringe improvement adaption targets to be applied to an unstructured block run in the unstructured solver.

Type

A list of string with values < Fringes | Donors | Orphans | OrphanDonorCandidates >.

Default

The default value is [list Donors OrphanDonorCandidates].

See Also

OversetAdaptTargets (Default)

VoxelAlignment

$block get/setUnstructuredSolverAttribute VoxelAlignment alignment

This attribute represents the voxel alignment method to be used for an unstructured block when it is created.

Type

A string with options < Axes | Body >.

Default

The default value is Axes.

See Also

VoxelAlignment (Default)

VoxelMinimumSize

$block get/setUnstructuredSolverAttribute VoxelMinimumSize size

This attribute is the minimum voxel size of the voxel mesh of this block.

Type

A float in the range [0, infinity).

Default

The default for this attribute is 0.0, which means to compute the minimum from either the size field (voxel blocks) or the block surface mesh (unstructured blocks).

See Also

VoxelMinimumSize (Default)

VoxelMaximumSize

$block get/setUnstructuredSolverAttribute VoxelMaximumSize size

This attribute is the maximum voxel size of the voxel mesh of this block.

Type

A float in the range [0, infinity).

Default

The default for this attribute is 0.0, which means to compute the maximum as a fraction (1/8) of the shortest edge of the extents (voxel blocks), or the block surface mesh (unstructured blocks).

See Also

VoxelMaximumSize (Default)

VoxelTransitionLayers

$block get/setUnstructuredSolverAttribute VoxelTransitionLayers num

This attribute is the number of layers between voxel size transitions of the voxel mesh of this block.

Type

An integer in the range [1, 100].

Default

The default for this attribute is 3.

See Also

VoxelTransitionLayers (Default)

WCNSmoothConvergenceCostThreshold

$block get/setUnstructuredSolverAttribute WCNSmoothConvergenceCostThreshold threshold

A cell is considered sufficiently “smoothed” if its cost value meets or exceeds this attribute’s value.

Type

A float in the range [0.0, 1.0].

Default

The default for this attribute is 0.8.

WCNSmoothCostAngleThreshold

$block get/setUnstructuredSolverAttribute WCNSmoothCostAngleThreshold angle

Only cells with a cost angle above this limit are smoothed.

Type

A float in the range [0, 180).

Default

The default for this attribute is 175.

Notes

Cost angle is a more rigorous form of the max included angle calculation.  The cost angle is more sensitive to cells with warped quad faces.  The Cost angle and the max included angle values will be the same for tet cells (no quad faces) and for prism, pyramid, and hex cells whose quad faces are all planar.

WCNSmoothRelaxationFactor

$block get/setUnstructuredSolverAttribute WCNSmoothRelaxationFactor relaxation_factor

Only controls the magnitude of point smoothing movement per iteration.

Type

A float in the range (0, 0.5].

Default

The default for this attribute is 0.05.

pw::BlockUnstructured create
This action creates a new unstructured block object.
pw::BlockUnstructured createFromDomains ?-reject rejectVar? ?-fillVoids? ?-voids voidsVar? ?-addBaffles? ?-baffles bafflesVar? domains
This action creates new unstructured block objects from the given domains.
pw::BlockUnstructured createFromPoints ?-tetrahedrons tetCellArray? ?-pyramids pyramidCellArray? ?-prisms prismCellArray? ?-hexahedrons hexCellArray? ?-splitAngle angle? ?-splitMultiloop? points
This action, given a list of xyz vector values and at least one cell-type array, creates a new unstructured block.
A vector is a list of float values.
pw::BlockUnstructured split ?<-trexLayers | -trexFronts>? blocks
This action splits the given TRex blocks into either a number of of maximum full prism layer blocks, or into a number of maximum mixed cell blocks dividing the anisotropic and isotropic cells.
pw::BlockUnstructured join ?-reject rejectVar? blocks
This action joins as many of the given unstructured blocks together as possible.
pw::BlockUnstructured combineAnisoCells blocks
This action combines anisotropic tet and pyramid cells in TRex-defined blocks into tet, pyramid, prism and hex cells.
pw::BlockUnstructured get/setDefault BoundaryDecay decay
This default is the boundary decay factor of an unstructured block when it is created.
pw::BlockUnstructured get/setDefault BackgroundSpacing spacing
This default is the background grid spacing of an unstructured block when it is created.
pw::BlockUnstructured get/setDefault EdgeMaximumGrowthRate growth_rate
This default is the maximum spacing growth rate along an edge of an unstructured block when it is created.
pw::BlockUnstructured get/setDefault EdgeMaximumLength < Boundary | length >
This default is the maximum edge length of an unstructured block when it is created.
pw::BlockUnstructured get/setDefault EdgeMinimumLength < Boundary | length >
This default is the minimum edge length of an unstructured block when it is created.
pw::BlockUnstructured get/setDefault InteriorAlgorithm algorithm
This default is the algorithm that will be used when initializing the interior portion of an unstructured block when it is created.
pw::BlockUnstructured get/setDefault PyramidMaximumHeight height
This default is the maximum pyramid height of an unstructured block when it is created.
pw::BlockUnstructured get/setDefault PyramidMinimumHeight height
This default is the minimum pyramid height of an unstructured block when it is created.
pw::BlockUnstructured get/setDefault PyramidAspectRatio ratio
This default is the pyramid aspect ratio of an unstructured block when it is created.
pw::BlockUnstructured get/setDefault TRexCellType value
This default is the type of cells generated by TRex of an unstructured block when it is created.
pw::BlockUnstructured get/setDefault TRexMaximumLayers layers
This default is the maximum number of T-Rex layers of an unstructured block when it is created.
pw::BlockUnstructured get/setDefault TRexFullLayers layers
This default is the minimum number of fully structured TRex layers of an unstructured block when it is created.
pw::BlockUnstructured get/setDefault TRexGrowthRate growth_rate
This default is the growth rate of TRex layers of an unstructured block when it is created.
pw::BlockUnstructured get/setDefault TRexPushAttributes push
This default is the flag for pushing TRex attributes onto the connectors and domains of an unstructured block when a it is created.
pw::BlockUnstructured get/setDefault TRexSpacingSmoothing smooth
This default is the number of smoothing sweeps to apply to the initial spacing values of TRex layers of an unstructured block when it is created.
pw::BlockUnstructured get/setDefault TRexSpacingRelaxationFactor factor
This default is the relaxation factor of smoothing sweeps to apply to the initial spacing values of TRex layers for an unstructured block when it is created.
pw::BlockUnstructured get/setDefault TRexIsotropicSeedLayers value
This default is the number of TRex isotropic seed layers for an unstructured block when it is created.
pw::BlockUnstructured get/setDefault TRexLayerSubdivisions value
This default controls the maximum cell height multiplier to be applied at the beginning of each T-Rex layer.
pw::BlockUnstructured get/setDefault TRexCollisionBuffer factor
This default is the minimum buffer to be maintained between encroaching extruded tetrahedron of an unstructured block when it is created.
pw::BlockUnstructured get/setDefault TRexAnisotropicIsotropicBlend blending
This default is the rate at which anisotropic triangles are blended into isotropic triangles on the interior of an unstructured block when it is created.
pw::BlockUnstructured get/setDefault TRexIsotropicHeight isoHeight
This default specifies the scale factor to be applied to the local isotropic height at which T-Rex stops layer growth via deformation, decimation or refinement.
pw::BlockUnstructured get/setDefault TRexSkewCriteriaDelayLayers delay
This default is the number of layers to delay checking for the quality criteria of the TRex cells of an unstructured block when it is created.
pw::BlockUnstructured get/setDefault TRexSkewCriteriaMaximumAngle angle
This default is the maximum included angle quality threshold for TRex cells of an unstructured block when it is created.
pw::BlockUnstructured get/setDefault TRexSkewCriteriaEquivolume threshold
This default is the maximum equivolume quality threshold for TRex cells of an unstructured block when it is created.
pw::BlockUnstructured get/setDefault TRexSkewCriteriaEquiangle threshold
This default is the maximum equiangle quality threshold for TRex cells of an unstructured block when it is created.
pw::BlockUnstructured get/setDefault TRexSkewCriteriaCentroid threshold
This default is the maximum centroid skew quality threshold for TRex cells of an unstructured block when it is created.
pw::BlockUnstructured get/setDefault TRexSkewCriteriaApplyToHexTrans applyQual
This default determines whether T-Rex pyramid caps and transition hex cells will be tested against the user-set quality thresholds.
pw::BlockUnstructured get/setDefault TRexVolumeFunction function
This default is the method to be used when computing prism cell volumes for TRex cells of an unstructured block when it is created.
pw::BlockUnstructured get/setDefault OversetAdaptAmplification factor
This default is the adaption target edge length amplification factor of an unstructured block when it is created.
pw::BlockUnstructured get/setDefault OversetAdaptTargets targets
This default is the orphan remediation and fringe improvement adaption targets of an unstructured block when it is created.
pw::BlockUnstructured get/setDefault VoxelAlignment alignment
This default represents the voxel alignment method to be used for an unstructured block when it is created.
pw::BlockUnstructured get/setDefault VoxelMinimumSize size
This default is the minimum voxel size of the voxel mesh of an unstructured block when it is created.
pw::BlockUnstructured get/setDefault VoxelMaximumSize size
This default is the maximum voxel size of the voxel mesh of an unstructured block when it is created.
pw::BlockUnstructured get/setDefault VoxelTransitionLayers num
This default is the number of layers between voxel size transitions of the voxel mesh of an unstructured block when it is created.
$block getInitializationErrorCount
This action gets the number of errors from the last attempt at initializing the block.
$block getTRexFront domains
This action takes an input list of domains on the block and determines which TRex fronts they lie on, if any.
$block getTRexLayersOnFront fronts
This action takes a list of front ids and determines how many full and max layers are associated with the front.
$block splitByDistance distance domains
This action splits the unstructured block into a number of new blocks based on a distance from specified domains within the block.
$block splitByFronts ?<-layers | -layerPerFront | -layerPerDomain>? value
This action splits the unstructured block into a number of new blocks, splitting along fronts in specified domains in the block by a specified number of layers.
$block getInitializationError ?-points? index
This action gets a specific error message from the last initialization attempt.
$block getInitializationErrors
This action gets the error message list.
$blk getTRexCellCount
This action gets the number of T-Rex cells in the block.
$blk getTRexTetCount
This action gets the number of T-Rex tet cells in the block.
$blk getTRexPyrCount
This action gets the number of T-Rex pyr cells in the block.
$blk getTRexPrismCount
This action gets the number of T-Rex prism cells in the block.
$blk getTRexHexCount
This action gets the number of T-Rex hex cells in the block.
$blk getVoxelTetRange
This action returns the first and last tet in the array that were formed from voxel cells.
$blk getVoxelPyrRange
This action returns the first and last pyramid in the array that were formed from voxel cells.
$blk getVoxelPrismRange
This action returns the first and last prism in the array that were formed from voxel cells.
$blk getVoxelHexRange
This action returns the first and last hex in the array that were formed from voxel cells.
$blk getIsoTetRange
This action returns the first and last tet in the array that were formed from voxel cells.
$blk getIsoPyrRange
This action returns the first and last pyramid in the array that were formed from isotropic cells.
$blk getIsoPrismRange
This action returns the first and last prism in the array that were formed from isotropic cells.
$blk getIsoHexRange
This action returns the first and last hex in the array that were formed from isotropic cells.
$blk getAnisoTetRange
This action returns the first and last tet in the array that were formed from voxel cells.
$blk getAnisoPyrRange
This action returns the first and last pyramid in the array that were formed from anisotropic cells.
$blk getAnisoPrismRange
This action returns the first and last prism in the array that were formed from anisotropic cells.
$blk getAnisoHexRange
This action returns the first and last hex in the array that were formed from anisotropic cells.
$blk getTRexFullLayerCount
This action gets the number of T-Rex full layers in the block generated by the last run of the solver.
$blk getTRexTotalLayerCount
This action gets the number of T-Rex total layers in the block generated by the last run of the solver.
$blk getTRexTotalLayerHeight
This action gets the non-dimensional summed height of a TRex front at a specified layer.
$blk getTRexMatchDomainCount ?-connectorCount connectorCountVar?
This action gets the number of match domains emanating from the adjacent grid/wall BC conditions within this block.
$blk getTRexMatchInitialSpacing
This action gets the minimum, average, and maximum initial spacing of the match domains connected to the adj grid/wall BCs of this block.
$blk getTRexMatchGrowthRate
This action gets the minimum, average, and maximum growth rates of the match domains connected to the adj grid/wall BCs of this block.
$blk getTRexMatchLayerCount
This action gets the minimum, average, and maximum layer count of the match domains connected to the adj grid/wall BCs of this block.
$block freeInterior
This action frees the block’s interior points.
$block pushAttributes
This action pushes the block’s attributes onto the match domains if the TRexPushAttributes attribute is true.
$block get/setUnstructuredSolverAttribute TRexPushAttributes value
This attribute is the flag for pushing TRex attributes onto the connectors and domains of this block.
$block boundaryAdaptation
This action adapts the block’s boundaries based on the current settings of the block.
$block removeFace face
This action removes a face from the block.
$block getOuterFace
This action returns the block’s outer face.
$block getBoundaryEdgeMinimumLength
This action gets the calculated minimum boundary edge length based on triangular area of the boundary cells.
$block getBoundaryEdgeMaximumLength
This action gets the calculated maximum boundary edge length based on triangular area of the boundary cells.
$block getVolumeEdgeMinimumLength
This action gets the calculated minimum volume edge length based on tetrahedral volume of the cells.
$block getVolumeEdgeMaximumLength
This action gets the calculated maximum volume edge length based on tetrahedral volume of the cells.
$block getPyramidBaseMaximumHeight
This action gets the calculated maximum height of the pyramids based on the prescribed aspect ratio and the base area of the cells.
$block getAutomaticVoxelMinimumSize
This action gets the automatic minimum size used when the VoxelMinimumSize attribute is set to 0.0.
$block get/setUnstructuredSolverAttribute VoxelMinimumSize size
This attribute is the minimum voxel size of the voxel mesh of this block.
$block getAutomaticVoxelMaximumSize
This action gets the automatic maximum size used when the VoxelMinimumSize parameter is set to 0.0.
$block getUnstructuredSolverAttribute att_name ?value_type?
This action gets the named unstructured solver attribute.
$block setUnstructuredSolverAttribute att_name att_value
This action sets the named unstructured solver attribute.
$block get/setUnstructuredSolverAttribute BoundaryDecay decay
This attribute is the boundary decay factor of an unstructured block.
$block get/setUnstructuredSolverAttribute BackgroundSpacing spacing
This attribute is the background spacing of an unstructured block.
$block get/setUnstructuredSolverAttribute EdgeMaximumGrowthRate growth_rate
This attribute is the maximum spacing growth rate along an edge of an unstructured block.
$block get/setUnstructuredSolverAttribute EdgeMaximumLength < Boundary | length >
This attribute is the maximum edge length of an unstructured block.
$block get/setUnstructuredSolverAttribute EdgeMinimumLength < Boundary | length >
This attribute is the minimum edge length of an unstructured block.
$block get/setUnstructuredSolverAttribute InteriorAlgorithm algorithm
This attribute is the algorithm that will be used when initializing the interior portion of an unstructured block.
$block get/setUnstructuredSolverAttribute PyramidMaximumHeight height
The maximum pyramid height of an unstructured block
$block get/setUnstructuredSolverAttribute PyramidMinimumHeight height
This attribute is the minimum pyramid height of an unstructured block.
$block get/setUnstructuredSolverAttribute PyramidAspectRatio ratio
This attribute is the pyramid aspect ratio of an unstructured block.
$block get/setUnstructuredSolverAttribute TRexCellType value
This attribute controls what type of cells a T-Rex generated block will contain after generation.
$block get/setUnstructuredSolverAttribute TRexMaximumLayers value
This attribute is the maximum number of TRex layers of the block.
$block get/setUnstructuredSolverAttribute TRexFullLayers value
This attribute is the minimum number of fully structured TRex layers of the block.
$block get/setUnstructuredSolverAttribute TRexGrowthRate value
This attribute is the growth rate of TRex layers for the block.
$block get/setUnstructuredSolverAttribute TRexSpacingSmoothing value
This attribute is the number of smoothing sweeps to apply to the initial spacing values of TRex layers of the block.
$block get/setUnstructuredSolverAttribute TRexSpacingRelaxationFactor value
This attribute is the relaxation factor of smoothing sweeps to apply to the initial spacing values of TRex layers for the block.
$block get/setUnstructuredSolverAttribute TRexIsotropicSeedLayers value
This attribute is the number of TRex isotropic seed layers for the block.
$block get/setUnstructuredSolverAttribute TRexLayerSubdivisions value
This attribute is the maximum cell height multiplier to be applied at the beginning of each T-Rex layer.
$block get/setUnstructuredSolverAttribute TRexUseCollisionPrediction value
This attribute controls whether collision prediction is used to identify advancing points with high confidence that an expensive collision test is not necessary during surface deformation.
$block get/setUnstructuredSolverAttribute TRexCollisionBuffer value
This attribute specifies the minimum buffer to be maintained between encroaching extruded tetrahedron.
$block get/setUnstructuredSolverAttribute TRexAnisotropicIsotropicBlend value
This attribute specifies the rate at which anisotropic triangles are blended into isotropic triangles on the block interior.
$block get/setUnstructuredSolverAttribute TRexSkewCriteriaDelayLayers value
This attribute is the number of layers to delay checking for the quality criteria of the TRex cells.
$block get/setUnstructuredSolverAttribute TRexSkewCriteriaMaximumAngle value
This attribute specifies the maximum included angle quality threshold for TRex cells.
$block get/setUnstructuredSolverAttribute TRexSkewCriteriaEquivolume value
This attribute specifies the maximum equivolume quality threshold for TRex cells.
$block get/setUnstructuredSolverAttribute TRexSkewCriteriaEquiangle value
This attribute specifies the maximum equiangle quality threshold for TRex cells.
$block get/setUnstructuredSolverAttribute TRexSkewCriteriaCentroid value
This attribute specifies the maximum centroid skew quality threshold for TRex cells.
$block get/setUnstructuredSolverAttribute TRexSkewCriteriaMinimumAngle value
This attribute specifies the minimum included angle quality threshold for TRex cells.
$block get/setUnstructuredSolverAttribute TRexSkewCriteriaApplyToHexTrans value
This attribute determines whether T-Rex pyramid caps and transition hex cells will be tested against the user-set quality thresholds.
$block get/setUnstructuredSolverAttribute TRexIsotropicHeight value
This attribute specifies the scale factor to be applied to the local isotropic height at which T-Rex stops layer growth via deformation, decimation or refinement.
$block get/setUnstructuredSolverAttribute TRexVolumeFunction function
This attribute specifies the method to be used when computing prism cell volumes for TRex cells.
$block get/setUnstructuredSolverAttribute TRexGrowthProfile profile
This attribute specifies the growth rate for each anisotropic layer.
$block get/setUnstructuredSolverAttribute OversetAdaptAmplification factor
This attribute is the adaption target edge length amplification factor of an unstructured block.
$block get/setUnstructuredSolverAttribute OversetAdaptTargets <targets>
This attribute sets the orphan remediation and fringe improvement adaption targets to be applied to an unstructured block run in the unstructured solver.
$block get/setUnstructuredSolverAttribute VoxelAlignment alignment
This attribute represents the voxel alignment method to be used for an unstructured block when it is created.
$block get/setUnstructuredSolverAttribute VoxelMaximumSize size
This attribute is the maximum voxel size of the voxel mesh of this block.
$block get/setUnstructuredSolverAttribute VoxelTransitionLayers num
This attribute is the number of layers between voxel size transitions of the voxel mesh of this block.
$block get/setUnstructuredSolverAttribute WCNSmoothConvergenceCostThreshold threshold
A cell is considered sufficiently “smoothed” if its cost value meets or exceeds this attribute’s value.
$block get/setUnstructuredSolverAttribute WCNSmoothCostAngleThreshold angle
Only cells with a cost angle above this limit are smoothed.
$block get/setUnstructuredSolverAttribute WCNSmoothRelaxationFactor relaxation_factor
Only controls the magnitude of point smoothing movement per iteration.
An unstructured face is a collection of edge-connected pw::Domain objects that are used to build watertight boundaries of unstructured blocks.
Base type for all glyph types
Entity type
Base type for all grid entities.
A block is a volume grid bounded by one or more pw::Faces.
An unstructured block is a watertight collection of face-connected volume elements (tetrahedral, hexahedral, prism, pyramid, etc.)
$block addFace face
This action adds a face to the block.
A string is an array of characters.
A domain is a computationally two-dimensional grid entity, bounded by one or more pw::Edges.
pw::FaceUnstructured create
This action creates a new unstructured face object.
$face addDomain ?-linkage linkage? domain
This action adds a domain to this face.
The mode base type
A float is a fractional number.
An extruded block is a step-wise constructed prismatic volume originating from one or more pw::Face objects.
$entity get/setSizeFieldDecay decay
This attribute is the size field decay factor used as the decay when a size field is generated for this entity.
$entity get/setSizeFieldBackgroundSpacing spacing
This attribute is the size background spacing when a size field is generated for this entity.
An integer is a whole number.
A boolean is represented as a 0 or 1, with 0 being false and 1 being true.
Close