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).
pw::Object pw::Entity pw::GridEntity pw::Block
pw:: | An unstructured block is a watertight collection of face-connected volume elements (tetrahedral, hexahedral, prism, pyramid, etc.) |
Static Actions | |
create | This action creates a new unstructured block object. |
createFromDomains | This action creates new unstructured block objects from the given domains. |
createFromPoints | This action, given a list of xyz vector values and at least one cell-type array, creates a new unstructured block. |
split | 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. |
join | This action joins as many of the given unstructured blocks together as possible. |
combineAnisoCells | This 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. |
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 | |
getInitializationErrorCount | This action gets the number of errors from the last attempt at initializing the block. |
getTRexFront | This action takes an input list of domains on the block and determines which TRex fronts they lie on, if any. |
getTRexLayersOnFront | This action takes a list of front ids and determines how many full and max layers are associated with the front. |
splitByDistance | This action splits the unstructured block into a number of new blocks based on a distance from specified domains within the block. |
splitByFronts | 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. |
getInitializationError | This action gets a specific error message from the last initialization attempt. |
getInitializationErrors | This action gets the error message list. |
getTRexCellCount | This action gets the number of T-Rex cells in the block. |
getTRexTetCount | This action gets the number of T-Rex tet cells in the block. |
getTRexPyrCount | This action gets the number of T-Rex pyr cells in the block. |
getTRexPrismCount | This action gets the number of T-Rex prism cells in the block. |
getTRexHexCount | This action gets the number of T-Rex hex cells in the block. |
getVoxelTetRange | This action returns the first and last tet in the array that were formed from voxel cells. |
getVoxelPyrRange | This action returns the first and last pyramid in the array that were formed from voxel cells. |
getVoxelPrismRange | This action returns the first and last prism in the array that were formed from voxel cells. |
getVoxelHexRange | This action returns the first and last hex in the array that were formed from voxel cells. |
getIsoTetRange | This action returns the first and last tet in the array that were formed from voxel cells. |
getIsoPyrRange | This action returns the first and last pyramid in the array that were formed from isotropic cells. |
getIsoPrismRange | This action returns the first and last prism in the array that were formed from isotropic cells. |
getIsoHexRange | This action returns the first and last hex in the array that were formed from isotropic cells. |
getAnisoTetRange | This action returns the first and last tet in the array that were formed from voxel cells. |
getAnisoPyrRange | This action returns the first and last pyramid in the array that were formed from anisotropic cells. |
getAnisoPrismRange | This action returns the first and last prism in the array that were formed from anisotropic cells. |
getAnisoHexRange | This action returns the first and last hex in the array that were formed from anisotropic cells. |
getTRexFullLayerCount | This action gets the number of T-Rex full layers in the block generated by the last run of the solver. |
getTRexTotalLayerCount | This action gets the number of T-Rex total layers in the block generated by the last run of the solver. |
getTRexTotalLayerHeight | This action gets the non-dimensional summed height of a TRex front at a specified layer. |
getTRexMatchDomainCount | This action gets the number of match domains emanating from the adjacent grid/wall BC conditions within this block. |
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. |
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. |
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. |
join | This action joins the given block to this block. |
freeInterior | This action frees the block’s interior points. |
pushAttributes | This action pushes the block’s attributes onto the match domains if the TRexPushAttributes attribute is true. |
boundaryAdaptation | This action adapts the block’s boundaries based on the current settings of the block. |
removeFace | This action removes a face from the block. |
getOuterFace | This action returns the block’s outer face. |
getBoundaryEdgeMinimumLength | This action gets the calculated minimum boundary edge length based on triangular area of the boundary cells. |
getBoundaryEdgeMaximumLength | This action gets the calculated maximum boundary edge length based on triangular area of the boundary cells. |
getVolumeEdgeMinimumLength | This action gets the calculated minimum volume edge length based on tetrahedral volume of the cells. |
getVolumeEdgeMaximumLength | This action gets the calculated maximum volume edge length based on tetrahedral volume of the cells. |
getPyramidBaseMaximumHeight | This action gets the calculated maximum height of the pyramids based on the prescribed aspect ratio and the base area of the cells. |
getPyramidBaseMinimumHeight | This action gets the calculated minimum height of the pyramids based on the prescribed aspect ratio and the base area of the cells. |
getAutomaticVoxelMinimumSize | This action gets the automatic minimum size used when the VoxelMinimumSize attribute is set to 0.0. |
getAutomaticVoxelMaximumSize | This action gets the automatic maximum size used when the VoxelMinimumSize parameter is set to 0.0. |
getUnstructuredSolverAttribute | This action gets the named unstructured solver attribute. |
setUnstructuredSolverAttribute | This action sets the named unstructured solver attribute. |
Unstructured Solver Attributes | |
BoundaryDecay | This attribute is the boundary decay factor of an unstructured block. |
BackgroundSpacing | This attribute is the background spacing of an unstructured block. |
EdgeMaximumGrowthRate | This attribute is the maximum spacing growth rate along an edge of an unstructured block. |
EdgeMaximumLength | This attribute is the maximum edge length of an unstructured block. |
EdgeMinimumLength | This attribute is the minimum edge length of an unstructured block. |
InteriorAlgorithm | This attribute is the algorithm that will be used when initializing the interior portion of an unstructured block. |
PyramidMaximumHeight | The maximum pyramid height of an unstructured block |
PyramidMinimumHeight | This attribute is the minimum pyramid height of an unstructured block. |
PyramidAspectRatio | This attribute is the pyramid aspect ratio of an unstructured block. |
TRexCellType | This attribute controls what type of cells a T-Rex generated block will contain after generation. |
TRexMaximumLayers | This attribute is the maximum number of TRex layers of the block. |
TRexFullLayers | This attribute is the minimum number of fully structured TRex layers of the block. |
TRexGrowthRate | This attribute is the growth rate of TRex layers for the block. |
TRexPushAttributes | This attribute is the flag for pushing TRex attributes onto the connectors and domains of this block. |
TRexSpacingSmoothing | This attribute is the number of smoothing sweeps to apply to the initial spacing values of TRex layers of the block. |
TRexSpacingRelaxationFactor | This attribute is the relaxation factor of smoothing sweeps to apply to the initial spacing values of TRex layers for the block. |
TRexIsotropicSeedLayers | This attribute is the number of TRex isotropic seed layers for the block. |
TRexLayerSubdivisions | This attribute is the maximum cell height multiplier to be applied at the beginning of each T-Rex layer. |
TRexCollisionBuffer | This attribute specifies the minimum buffer to be maintained between encroaching extruded tetrahedron. |
TRexAnisotropicIsotropicBlend | This attribute specifies the rate at which anisotropic triangles are blended into isotropic triangles on the block interior. |
TRexSkewCriteriaDelayLayers | This attribute is the number of layers to delay checking for the quality criteria of the TRex cells. |
TRexSkewCriteriaMaximumAngle | This attribute specifies the maximum included angle quality threshold for TRex cells. |
TRexSkewCriteriaEquivolume | This attribute specifies the maximum equivolume quality threshold for TRex cells. |
TRexSkewCriteriaEquiangle | This attribute specifies the maximum equiangle quality threshold for TRex cells. |
TRexSkewCriteriaCentroid | This attribute specifies the maximum centroid skew quality threshold for TRex cells. |
TRexSkewCriteriaMinimumAngle | This attribute specifies the minimum included angle quality threshold for TRex cells. |
TRexSkewCriteriaApplyToHexTrans | This attribute determines whether T-Rex pyramid caps and transition hex cells will be tested against the user-set quality thresholds. |
TRexIsotropicHeight | 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. |
TRexVolumeFunction | This attribute specifies the method to be used when computing prism cell volumes for TRex cells. |
TRexGrowthProfile | This attribute specifies the growth rate for each anisotropic layer. |
OversetAdaptAmplification | This attribute is the adaption target edge length amplification factor of an unstructured block. |
OversetAdaptTargets | This attribute sets the orphan remediation and fringe improvement adaption targets to be applied to an unstructured block run in the unstructured solver. |
VoxelAlignment | This attribute represents the voxel alignment method to be used for an unstructured block when it is created. |
VoxelMinimumSize | This attribute is the minimum voxel size of the voxel mesh of this block. |
VoxelMaximumSize | This attribute is the maximum voxel size of the voxel mesh of this block. |
VoxelTransitionLayers | This attribute is the number of layers between voxel size transitions of the voxel mesh of this block. |
WCNSmoothConvergenceCostThreshold | A cell is considered sufficiently “smoothed” if its cost value meets or exceeds this attribute’s value. |
WCNSmoothCostAngleThreshold | Only cells with a cost angle above this limit are smoothed. |
WCNSmoothRelaxationFactor | Only controls the magnitude of point smoothing movement per iteration. |
pw::BlockUnstructured create
This action creates a new unstructured block object.
This action has no parameters.
This action returns a new pw::BlockUnstructured object.
pw::BlockUnstructured createFromDomains ?-reject rejectVar? ?-fillVoids? ?-voids voidsVar? ?-addBaffles? ?-baffles bafflesVar? domains
This action creates new unstructured block objects from the given domains.
-reject rejectVar | This optional parameter is a string variable name to receive a list of pw::Domain objects that were not used in creating the blocks. |
-fillVoids | This 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 voidsVar | This 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. |
-addBaffles | This 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 bafflesVar | This 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. |
domains | This required parameter is a list of pw::Domain objects. |
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).
This command supports progress updates.
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.
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)
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.
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 tetCellArray | This 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 pyramidCellArray | This 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 prismCellArray | This 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 hexCellArray | This 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 splitAngle | This optional parameter is the float angle at which to split connectors. |
-splitMultiloop | This optional flag will split domains with more than 1 loop. |
points | This required parameter is a list of vector point values to be used to define the block. |
This action returns the newly created block.
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]
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.
-trexLayers | This optional parameter specifies that the TRex (anisotropic tetrahedral) cells should be recombined into as many prism layers as possible. This is the default. |
-trexFronts | This 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. |
blocks | the list of pw::BlockUnstructured TRex blocks. |
This action returns a heterogeneous list of the pw::BlockUnstructured and pw::BlockExtruded objects that were created and/or modified.
This command supports progress updates.
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.
pw::BlockUnstructured join ?-reject rejectVar? blocks
This action joins as many of the given unstructured blocks together as possible.
-reject rejectVar | This optional parameter is the string name of the variable that receives a list of pw::BlockUnstructured objects that were not used in joining. |
blocks | This required parameter is a list of pw::BlockUnstructured objects to join. |
This action returns a list of the pw::BlockUnstructured objects that were joined.
This command supports progress updates.
pw::BlockUnstructured combineAnisoCells blocks
This action combines anisotropic tet and pyramid cells in TRex-defined blocks into tet, pyramid, prism and hex cells.
blocks | the list of pw::BlockUnstructured TRex blocks. |
This action returns nothing.
This command supports progress updates.
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
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.
A float in the range [0, 1].
The default value is 0.5.
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.
A float in the range (0, infinity).
The default value is 0.0.
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.
A float in the range (1.0, infinity).
The default value is 1.8.
pw::BlockUnstructured get/setDefault EdgeMaximumLength < Boundary | length >
This default is the maximum edge length of an unstructured block when it is created.
A float in the range (0, infinity).
The default value is Boundary.
pw::BlockUnstructured get/setDefault EdgeMinimumLength < Boundary | length >
This default is the minimum edge length of an unstructured block when it is created.
A float in the range (0, infinity).
The default value is Boundary.
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
A string with options < Delaunay | Voxel >.
The default value is Delaunay.
pw::BlockUnstructured get/setDefault PyramidMaximumHeight height
This default is the maximum pyramid height of an unstructured block when it is created.
A float in the range [0, infinity). Use 0 for unrestricted pyramid height.
The default value is 0.
pw::BlockUnstructured get/setDefault PyramidMinimumHeight height
This default is the minimum pyramid height of an unstructured block when it is created.
A float in the range [0, infinity). Use 0 for unrestricted pyramid height.
The default value is 0.
pw::BlockUnstructured get/setDefault PyramidAspectRatio ratio
This default is the pyramid aspect ratio of an unstructured block when it is created.
A float in the range (0, infinity).
The default value is 1.
pw::BlockUnstructured get/setDefault TRexCellType value
This default is the type of cells generated by TRex of an unstructured block when it is created.
A string with options < TetPyramid | TetPyramidPrismHex | AllAndReducePyramids | LegacyTetPyramidPrismHex | AllAndConvertWallDoms >.
The default value is TetPyramidPrismHex
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.
pw::BlockUnstructured get/setDefault TRexMaximumLayers layers
This default is the maximum number of T-Rex layers of an unstructured block when it is created.
An integer in the range [0, infinity), where 0 means that there should be no TRex layers.
The default value is 0.
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.
An integer in the range [0, infinity), where 0 means that there should be no minimum fully structured TRex layers.
The default value is 0.
pw::BlockUnstructured get/setDefault TRexGrowthRate growth_rate
This default is the growth rate of TRex layers of an unstructured block when it is created.
A float in the range [1.0, infinity).
The default value is 1.2.
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.
A boolean, where true means that TRex attributes (initial spacing and growth rate or profile) are pushed down onto the connectors and domains.
The default value is false.
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.
An integer in the range [0, infinity), where 0 means no smoothing is applied to the initial spacing values.
The default value is 3.
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.
A float in the range [0.0, 1.0), where 0 means no smoothing is applied to the initial spacing values.
The default value is 0.7.
pw::BlockUnstructured get/setDefault TRexIsotropicSeedLayers value
This default is the number of TRex isotropic seed layers for an unstructured block when it is created.
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.
The default value is 0.
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.
An integer in the range [1, 10].
The default value is 1 (no layer multiple).
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.
A float in the range [0, infinity).
The default value is 0.5.
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.
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.
A float in the range [0, 1], where 0 disables blending and larger values increase the rate of blending.
The default value is 0.5.
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.
A float in the range (0.0, infinity).
The default value is 1.0.
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.
An integer in the range [0, infinity), where 0 means that there should be no delay in checking the quality criteria.
The default value is 0.
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.
A float in the range [60.0, 180.0], where 180.0 disables the quality check.
The default value is 180.0.
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.
A float in the range [0.0, 1.0], where 1.0 disables the quality check.
The default value is 1.0.
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.
A float in the range [0.0, 1.0], where 1.0 disables the quality check.
The default value is 1.0.
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.
A float in the range [0.0, 1.0], where 1.0 disables the quality check.
The default value is 1.0.
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.
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.
The default value is true.
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.
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.
The default value is MinComponent.
pw::BlockUnstructured get/setDefault OversetAdaptAmplification factor
This default is the adaption target edge length amplification factor of an unstructured block when it is created.
A float in the range (0, infinity).
The default value is 1.5.
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.
A list of string with values < Fringes | Donors | Orphans | OrphanDonorCandidates >.
The default value is [list Donors OrphanDonorCandidates].
pw::BlockUnstructured get/setDefault VoxelAlignment alignment
This default represents the voxel alignment method to be used for an unstructured block when it is created.
A string with options < Axes | Body >.
The default value is Axes.
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.
A float in the range [0, infinity).
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).
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.
A float in the range [0, infinity).
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).
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.
An integer in the range [1, 100].
The default for this attribute is 1.
$block getInitializationErrorCount
This action gets the number of errors from the last attempt at initializing the block.
This action has no parameters.
This action returns the integer number of error messages.
$block getTRexFront domains
This action takes an input list of domains on the block and determines which TRex fronts they lie on, if any.
domains | The required list of pw::Domain objects on which the front numbers assigned during T-Rex execution are computed. |
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.
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.
$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.
fronts | This required list of integer ids are the fronts to be queried for full layers and max layers. |
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.
$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.
distance | This required float specifies the distance from the specified domains at which the block split will occur. |
domains | The required list of pw::Domain domains to serve as the base for the split. Split distance will be measured from these domains. |
This action returns a homogeneous list of pw::BlockUnstructured objects.
This command supports progress updates.
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.
$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.
-layers | This 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. |
-layerPerFront | This 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. |
-layerPerDomain | This 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]. |
value | This required parameter indicates the TRex front and layer to split upon. |
This action returns a homogeneous list of pw::BlockUnstructured objects.
This command supports progress updates.
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.
$block getInitializationError ?-points? index
This action gets a specific error message from the last initialization attempt.
-points | This optional flag indicates that the error elements should be returned as a list of vector (XYZ) rather than indices |
index | This required parameter is the integer message number in the range [1, num_messages]. |
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.
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.
$block getInitializationErrors
This action gets the error message list.
This action has no parameters.
This action returns the list of string error messages.
$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.
none
This action returns the number of anisotropic (T-Rex) cells.
$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.
none
This action returns the number of anisotropic (T-Rex) tet cells.
$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.
none
This action returns the number of anisotropic (T-Rex) pyramid cells.
$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.
none
This action returns the number of anisotropic (T-Rex) prism cells.
$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.
none
This action returns the number of anisotropic (T-Rex) hex cells.
$blk getVoxelTetRange
This action returns the first and last tet in the array that were formed from voxel cells.
none
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.
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]
$blk getVoxelPyrRange
This action returns the first and last pyramid in the array that were formed from voxel cells.
none
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.
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]
$blk getVoxelPrismRange
This action returns the first and last prism in the array that were formed from voxel cells.
none
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.
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]
$blk getVoxelHexRange
This action returns the first and last hex in the array that were formed from voxel cells.
none
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.
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]
$blk getIsoTetRange
This action returns the first and last tet in the array that were formed from voxel cells.
none
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.
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]
$blk getIsoPyrRange
This action returns the first and last pyramid in the array that were formed from isotropic cells.
none
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.
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]
$blk getIsoPrismRange
This action returns the first and last prism in the array that were formed from isotropic cells.
none
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.
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]
$blk getIsoHexRange
This action returns the first and last hex in the array that were formed from isotropic cells.
none
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.
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]
$blk getAnisoTetRange
This action returns the first and last tet in the array that were formed from voxel cells.
none
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.
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]
$blk getAnisoPyrRange
This action returns the first and last pyramid in the array that were formed from anisotropic cells.
none
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.
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]
$blk getAnisoPrismRange
This action returns the first and last prism in the array that were formed from anisotropic cells.
none
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.
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]
$blk getAnisoHexRange
This action returns the first and last hex in the array that were formed from anisotropic cells.
none
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.
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]
$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
none
This action returns the number of T-Rex full layers.
$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
none
This action returns the number of T-Rex total layers.
$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.
layer | the 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. |
This action returns the non-dimensional height of a TRex front at the 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.
-connectorCount connectorCountVar | This 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. |
This action returns the number of domains.
$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.
none
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
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]
$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.
none
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
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]
$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.
none
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
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]
$block join block
This action joins the given block to this block.
block | This required parameter is the pw::BlockUnstructured object to join. |
This action returns nothing.
$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.
This action has no parameters.
This action returns nothing.
$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.
This action has no parameters.
This action returns nothing.
$block removeFace face
This action removes a face from the block.
face | This required parameter is the pw::FaceUnstructured object to remove. |
This action returns nothing.
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.
$block getOuterFace
This action returns the block’s outer face.
none
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.
$block getBoundaryEdgeMinimumLength
This action gets the calculated minimum boundary edge length based on triangular area of the boundary cells.
This action has no parameters.
This action returns the minimum boundary edge length as a float.
$block getBoundaryEdgeMaximumLength
This action gets the calculated maximum boundary edge length based on triangular area of the boundary cells.
This action has no parameters.
This action returns the maximum boundary edge length as a float.
$block getVolumeEdgeMinimumLength
This action gets the calculated minimum volume edge length based on tetrahedral volume of the cells.
This action has no parameters.
This action returns the minimum volume edge length as a float.
$block getVolumeEdgeMaximumLength
This action gets the calculated maximum volume edge length based on tetrahedral volume of the cells.
This action has no parameters.
This action returns the maximum volume edge length as a float.
$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.
This action has no parameters.
This action returns the maximum pyramid height as a float.
This action gets the calculated minimum height of the pyramids based on the prescribed aspect ratio and the base area of the cells.
This action has no parameters.
This action returns the minimum pyramid height as a float.
$block getAutomaticVoxelMinimumSize
This action gets the automatic minimum size used when the VoxelMinimumSize attribute is set to 0.0.
This action has no parameters.
This action returns the automatic minimum voxel size as a float.
$block getAutomaticVoxelMaximumSize
This action gets the automatic maximum size used when the VoxelMinimumSize parameter is set to 0.0.
This action has no parameters.
This action returns the automatic maximum size as a float.
$block getUnstructuredSolverAttribute att_name ?value_type?
This action gets the named unstructured solver attribute.
att_name | This required parameter is the name string of the attribute to get. |
value_type | This optional parameter is the type string of value to get with options < Actual | Default >. The default is Actual. |
This action returns the actual or default value of the named attribute.
setUnstructuredSolverAttribute, Unstructured Solver Attributes
$block setUnstructuredSolverAttribute att_name att_value
This action sets the named unstructured solver attribute.
att_name | This required parameter is the string name of the attribute to set. |
att_value | This required parameter is the new attribute value, a string, integer or float depending on the attribute. |
This action returns nothing.
getUnstructuredSolverAttribute, Unstructured Solver Attributes
$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.
A float in the range [0, 1].
The default for this attribute is set using the current value of BoundaryDecay (Default).
$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.
A float in the range [0, infinity).
The default for this attribute is set using the current value of the default BackgroundSpacing (Default).
$block get/setUnstructuredSolverAttribute EdgeMaximumGrowthRate growth_rate
This attribute is the maximum spacing growth rate along an edge of an unstructured block.
A float in the range (1.0, infinity).
The default for this attribute is 1.8.
$block get/setUnstructuredSolverAttribute EdgeMaximumLength < Boundary | length >
This attribute is the maximum edge length of an unstructured block.
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.
The default for this attribute is 0.0.
$block get/setUnstructuredSolverAttribute EdgeMinimumLength < Boundary | length >
This attribute is the minimum edge length of an unstructured block.
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.
The default for this attribute is 0.0.
$block get/setUnstructuredSolverAttribute InteriorAlgorithm algorithm
This attribute is the algorithm that will be used when initializing the interior portion of an unstructured block.
A string with options < Delaunay | Voxel >.
The default value is Delaunay.
$block get/setUnstructuredSolverAttribute PyramidMaximumHeight height
The maximum pyramid height of an unstructured block
A float in the range [0, infinity), where 0.0 means unrestricted pyramid height.
The default for this attribute is 0.0.
$block get/setUnstructuredSolverAttribute PyramidMinimumHeight height
This attribute is the minimum pyramid height of an unstructured block.
A float in the range [0, infinity), where 0.0 indicates unrestricted pyramid height.
The default for this attribute is 0.0.
$block get/setUnstructuredSolverAttribute PyramidAspectRatio ratio
This attribute is the pyramid aspect ratio of an unstructured block.
A float in the range (0, infinity).
The default for this attribute is 0.5.
$block get/setUnstructuredSolverAttribute TRexCellType value
This attribute controls what type of cells a T-Rex generated block will contain after generation.
A string with options < TetPyramid | TetPyramidPrismHex | AllAndReducePyramids | LegacyTetPyramidPrismHex | AllAndConvertWallDoms >
The default for this attribute is TetPyramidPrismHex
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.
$block get/setUnstructuredSolverAttribute TRexMaximumLayers value
This attribute is the maximum number of TRex layers of the block.
An integer in the range [0, infinity), where 0 means that there should be no TRex layers.
The default of this attribute is 0.
$block get/setUnstructuredSolverAttribute TRexFullLayers value
This attribute is the minimum number of fully structured TRex layers of the block.
An integer in the range [0, infinity), where 0 means that there should be no minimum fully structured TRex layers.
The default of this attribute is 0.
$block get/setUnstructuredSolverAttribute TRexGrowthRate value
This attribute is the growth rate of TRex layers for the block.
A float in the range [1.0, infinity).
The default for this attribute is 1.2.
$block get/setUnstructuredSolverAttribute TRexPushAttributes value
This attribute is the flag for pushing TRex attributes onto the connectors and domains of this block.
A boolean, where true means that TRex attributes (initial spacing and growth rate or schedule) are pushed down onto the connectors and domains.
The default value of this attribute is false.
$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.
An integer in the range [0, infinity), where 0 means no smoothing is applied to the initial spacing values.
The default of this attribute is 3.
$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.
A float in the range [0.0, 1.0), where 0 means no smoothing is applied to the initial spacing values.
The default of this attribute is 0.7.
$block get/setUnstructuredSolverAttribute TRexIsotropicSeedLayers value
This attribute is the number of TRex isotropic seed layers for the block.
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.
The default value of this attribute is 0.
$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.
An integer in the range [1, 10].
The default value is 1 (no layer multiple).
$block get/setUnstructuredSolverAttribute TRexCollisionBuffer value
This attribute specifies the minimum buffer to be maintained between encroaching extruded tetrahedron.
A float in the range [0, infinity).
The default of this attribute is 0.5.
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.
$block get/setUnstructuredSolverAttribute TRexAnisotropicIsotropicBlend value
This attribute specifies the rate at which anisotropic triangles are blended into isotropic triangles on the block interior.
A float in the range [0, 1], where 0 disables blending and larger values increase the rate of blending.
The default of this attribute is 0.5.
$block get/setUnstructuredSolverAttribute TRexSkewCriteriaDelayLayers value
This attribute is the number of layers to delay checking for the quality criteria of the TRex cells.
An integer in the range [0, infinity), where 0 means that there should be no delay in checking the quality criteria.
The default of this attribute is 0.
$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.
A float in the range [60.0, 180.0], where 180.0 disables the quality check.
The default of this attribute is 180.0.
$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.
A float in the range [0.0, 1.0], where 1.0 disables the quality check.
The default of this attribute is 1.0.
$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.
A float in the range [0.0, 1.0], where 1.0 disables the quality check.
The default of this attribute is 1.0.
$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.
A float in the range [0.0, 1.0], where 1.0 disables the quality check.
The default of this attribute is 1.0.
$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.
A float in the range [0.0, 60.0], where 0.0 disables the quality check.
The default value of this attribute is 0.0.
$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.
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.
The default value is true.
$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.
A float in the range (0.0, infinity).
The default of this attribute is 1.0.
$block get/setUnstructuredSolverAttribute TRexVolumeFunction function
This attribute specifies the method to be used when computing prism cell volumes for TRex cells.
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.
The default of this attribute is MinComponent.
$block get/setUnstructuredSolverAttribute TRexGrowthProfile profile
This attribute specifies the growth rate for each anisotropic layer.
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.
The default of this attribute is no growth profile, indicating that TRexGrowthRate be used for all layer height calculations.
$block get/setUnstructuredSolverAttribute OversetAdaptAmplification factor
This attribute is the adaption target edge length amplification factor of an unstructured block.
A float in the range (0, infinity).
The default for this attribute is 1.5.
$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.
A list of string with values < Fringes | Donors | Orphans | OrphanDonorCandidates >.
The default value is [list Donors OrphanDonorCandidates].
$block get/setUnstructuredSolverAttribute VoxelAlignment alignment
This attribute represents the voxel alignment method to be used for an unstructured block when it is created.
A string with options < Axes | Body >.
The default value is Axes.
$block get/setUnstructuredSolverAttribute VoxelMinimumSize size
This attribute is the minimum voxel size of the voxel mesh of this block.
A float in the range [0, infinity).
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).
$block get/setUnstructuredSolverAttribute VoxelMaximumSize size
This attribute is the maximum voxel size of the voxel mesh of this block.
A float in the range [0, infinity).
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).
$block get/setUnstructuredSolverAttribute VoxelTransitionLayers num
This attribute is the number of layers between voxel size transitions of the voxel mesh of this block.
An integer in the range [1, 100].
The default for this attribute is 3.
$block get/setUnstructuredSolverAttribute WCNSmoothConvergenceCostThreshold threshold
A cell is considered sufficiently “smoothed” if its cost value meets or exceeds this attribute’s value.
A float in the range [0.0, 1.0].
The default for this attribute is 0.8.
$block get/setUnstructuredSolverAttribute WCNSmoothCostAngleThreshold angle
Only cells with a cost angle above this limit are smoothed.
A float in the range [0, 180).
The default for this attribute is 175.
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.
$block get/setUnstructuredSolverAttribute WCNSmoothRelaxationFactor relaxation_factor
Only controls the magnitude of point smoothing movement per iteration.
A float in the range (0, 0.5].
The default for this attribute is 0.05.
This action creates a new unstructured block object.
pw::BlockUnstructured create
This action creates new unstructured block objects from the given domains.
pw::BlockUnstructured createFromDomains ?-reject rejectVar? ?-fillVoids? ?-voids voidsVar? ?-addBaffles? ?-baffles bafflesVar? domains
This action, given a list of xyz vector values and at least one cell-type array, creates a new unstructured block.
pw::BlockUnstructured createFromPoints ?-tetrahedrons tetCellArray? ?-pyramids pyramidCellArray? ?-prisms prismCellArray? ?-hexahedrons hexCellArray? ?-splitAngle angle? ?-splitMultiloop? points
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 split ?<-trexLayers | -trexFronts>? blocks
This action joins as many of the given unstructured blocks together as possible.
pw::BlockUnstructured join ?-reject rejectVar? blocks
This action combines anisotropic tet and pyramid cells in TRex-defined blocks into tet, pyramid, prism and hex cells.
pw::BlockUnstructured combineAnisoCells blocks
This default is the boundary decay factor of an unstructured block when it is created.
pw::BlockUnstructured get/setDefault BoundaryDecay decay
This default is the background grid spacing of an unstructured block when it is created.
pw::BlockUnstructured get/setDefault BackgroundSpacing spacing
This default is the maximum spacing growth rate along an edge of an unstructured block when it is created.
pw::BlockUnstructured get/setDefault EdgeMaximumGrowthRate growth_rate
This default is the maximum edge length of an unstructured block when it is created.
pw::BlockUnstructured get/setDefault EdgeMaximumLength < Boundary | length >
This default is the minimum edge length of an unstructured block when it is created.
pw::BlockUnstructured get/setDefault EdgeMinimumLength < Boundary | length >
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 InteriorAlgorithm algorithm
This default is the maximum pyramid height of an unstructured block when it is created.
pw::BlockUnstructured get/setDefault PyramidMaximumHeight height
This default is the minimum pyramid height of an unstructured block when it is created.
pw::BlockUnstructured get/setDefault PyramidMinimumHeight height
This default is the pyramid aspect ratio of an unstructured block when it is created.
pw::BlockUnstructured get/setDefault PyramidAspectRatio ratio
This default is the type of cells generated by TRex of an unstructured block when it is created.
pw::BlockUnstructured get/setDefault TRexCellType value
This default is the maximum number of T-Rex layers of an unstructured block when it is created.
pw::BlockUnstructured get/setDefault TRexMaximumLayers layers
This default is the minimum number of fully structured TRex layers of an unstructured block when it is created.
pw::BlockUnstructured get/setDefault TRexFullLayers layers
This default is the growth rate of TRex layers of an unstructured block when it is created.
pw::BlockUnstructured get/setDefault TRexGrowthRate growth_rate
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 TRexPushAttributes push
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 TRexSpacingSmoothing smooth
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 TRexSpacingRelaxationFactor factor
This default is the number of TRex isotropic seed layers for an unstructured block when it is created.
pw::BlockUnstructured get/setDefault TRexIsotropicSeedLayers value
This default controls the maximum cell height multiplier to be applied at the beginning of each T-Rex layer.
pw::BlockUnstructured get/setDefault TRexLayerSubdivisions value
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 TRexCollisionBuffer factor
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 TRexAnisotropicIsotropicBlend blending
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 TRexIsotropicHeight isoHeight
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 TRexSkewCriteriaDelayLayers delay
This default is the maximum included angle quality threshold for TRex cells of an unstructured block when it is created.
pw::BlockUnstructured get/setDefault TRexSkewCriteriaMaximumAngle angle
This default is the maximum equivolume quality threshold for TRex cells of an unstructured block when it is created.
pw::BlockUnstructured get/setDefault TRexSkewCriteriaEquivolume threshold
This default is the maximum equiangle quality threshold for TRex cells of an unstructured block when it is created.
pw::BlockUnstructured get/setDefault TRexSkewCriteriaEquiangle 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 TRexSkewCriteriaCentroid threshold
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 TRexSkewCriteriaApplyToHexTrans applyQual
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 TRexVolumeFunction function
This default is the adaption target edge length amplification factor of an unstructured block when it is created.
pw::BlockUnstructured get/setDefault OversetAdaptAmplification factor
This default is the orphan remediation and fringe improvement adaption targets of an unstructured block when it is created.
pw::BlockUnstructured get/setDefault OversetAdaptTargets targets
This default represents the voxel alignment method to be used for an unstructured block when it is created.
pw::BlockUnstructured get/setDefault VoxelAlignment alignment
This default is the minimum voxel size of the voxel mesh of an unstructured block when it is created.
pw::BlockUnstructured get/setDefault VoxelMinimumSize size
This default is the maximum voxel size of the voxel mesh of an unstructured block when it is created.
pw::BlockUnstructured get/setDefault VoxelMaximumSize size
This default is the number of layers between voxel size transitions of the voxel mesh of an unstructured block when it is created.
pw::BlockUnstructured get/setDefault VoxelTransitionLayers num
This action gets the number of errors from the last attempt at initializing the block.
$block getInitializationErrorCount
This action takes an input list of domains on the block and determines which TRex fronts they lie on, if any.
$block getTRexFront domains
This action takes a list of front ids and determines how many full and max layers are associated with the front.
$block getTRexLayersOnFront fronts
This action splits the unstructured block into a number of new blocks based on a distance from specified domains within the block.
$block splitByDistance distance domains
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 splitByFronts ?<-layers | -layerPerFront | -layerPerDomain>? value
This action gets a specific error message from the last initialization attempt.
$block getInitializationError ?-points? index
This action gets the error message list.
$block getInitializationErrors
This action gets the number of T-Rex cells in the block.
$blk getTRexCellCount
This action gets the number of T-Rex tet cells in the block.
$blk getTRexTetCount
This action gets the number of T-Rex pyr cells in the block.
$blk getTRexPyrCount
This action gets the number of T-Rex prism cells in the block.
$blk getTRexPrismCount
This action gets the number of T-Rex hex cells in the block.
$blk getTRexHexCount
This action returns the first and last tet in the array that were formed from voxel cells.
$blk getVoxelTetRange
This action returns the first and last pyramid in the array that were formed from voxel cells.
$blk getVoxelPyrRange
This action returns the first and last prism in the array that were formed from voxel cells.
$blk getVoxelPrismRange
This action returns the first and last hex in the array that were formed from voxel cells.
$blk getVoxelHexRange
This action returns the first and last tet in the array that were formed from voxel cells.
$blk getIsoTetRange
This action returns the first and last pyramid in the array that were formed from isotropic cells.
$blk getIsoPyrRange
This action returns the first and last prism in the array that were formed from isotropic cells.
$blk getIsoPrismRange
This action returns the first and last hex in the array that were formed from isotropic cells.
$blk getIsoHexRange
This action returns the first and last tet in the array that were formed from voxel cells.
$blk getAnisoTetRange
This action returns the first and last pyramid in the array that were formed from anisotropic cells.
$blk getAnisoPyrRange
This action returns the first and last prism in the array that were formed from anisotropic cells.
$blk getAnisoPrismRange
This action returns the first and last hex in the array that were formed from anisotropic cells.
$blk getAnisoHexRange
This action gets the number of T-Rex full layers in the block generated by the last run of the solver.
$blk getTRexFullLayerCount
This action gets the number of T-Rex total layers in the block generated by the last run of the solver.
$blk getTRexTotalLayerCount
This action gets the non-dimensional summed height of a TRex front at a specified layer.
$blk getTRexTotalLayerHeight
This action gets the number of match domains emanating from the adjacent grid/wall BC conditions within this block.
$blk getTRexMatchDomainCount ?-connectorCount connectorCountVar?
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 getTRexMatchInitialSpacing
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 getTRexMatchGrowthRate
This action gets the minimum, average, and maximum layer count of the match domains connected to the adj grid/wall BCs of this block.
$blk getTRexMatchLayerCount
This action frees the block’s interior points.
$block freeInterior
This action pushes the block’s attributes onto the match domains if the TRexPushAttributes attribute is true.
$block pushAttributes
This attribute is the flag for pushing TRex attributes onto the connectors and domains of this block.
$block get/setUnstructuredSolverAttribute TRexPushAttributes value
This action adapts the block’s boundaries based on the current settings of the block.
$block boundaryAdaptation
This action removes a face from the block.
$block removeFace face
This action returns the block’s outer face.
$block getOuterFace
This action gets the calculated minimum boundary edge length based on triangular area of the boundary cells.
$block getBoundaryEdgeMinimumLength
This action gets the calculated maximum boundary edge length based on triangular area of the boundary cells.
$block getBoundaryEdgeMaximumLength
This action gets the calculated minimum volume edge length based on tetrahedral volume of the cells.
$block getVolumeEdgeMinimumLength
This action gets the calculated maximum volume edge length based on tetrahedral volume of the cells.
$block getVolumeEdgeMaximumLength
This action gets the calculated maximum height of the pyramids based on the prescribed aspect ratio and the base area of the cells.
$block getPyramidBaseMaximumHeight
This action gets the automatic minimum size used when the VoxelMinimumSize attribute is set to 0.0.
$block getAutomaticVoxelMinimumSize
This attribute is the minimum voxel size of the voxel mesh of this block.
$block get/setUnstructuredSolverAttribute VoxelMinimumSize size
This action gets the automatic maximum size used when the VoxelMinimumSize parameter is set to 0.0.
$block getAutomaticVoxelMaximumSize
This action gets the named unstructured solver attribute.
$block getUnstructuredSolverAttribute att_name ?value_type?
This action sets the named unstructured solver attribute.
$block setUnstructuredSolverAttribute att_name att_value
This attribute is the boundary decay factor of an unstructured block.
$block get/setUnstructuredSolverAttribute BoundaryDecay decay
This attribute is the background spacing of an unstructured block.
$block get/setUnstructuredSolverAttribute BackgroundSpacing spacing
This attribute is the maximum spacing growth rate along an edge of an unstructured block.
$block get/setUnstructuredSolverAttribute EdgeMaximumGrowthRate growth_rate
This attribute is the maximum edge length of an unstructured block.
$block get/setUnstructuredSolverAttribute EdgeMaximumLength < Boundary | length >
This attribute is the minimum edge length of an unstructured block.
$block get/setUnstructuredSolverAttribute EdgeMinimumLength < Boundary | length >
This attribute is the algorithm that will be used when initializing the interior portion of an unstructured block.
$block get/setUnstructuredSolverAttribute InteriorAlgorithm algorithm
The maximum pyramid height of an unstructured block
$block get/setUnstructuredSolverAttribute PyramidMaximumHeight height
This attribute is the minimum pyramid height of an unstructured block.
$block get/setUnstructuredSolverAttribute PyramidMinimumHeight height
This attribute is the pyramid aspect ratio of an unstructured block.
$block get/setUnstructuredSolverAttribute PyramidAspectRatio ratio
This attribute controls what type of cells a T-Rex generated block will contain after generation.
$block get/setUnstructuredSolverAttribute TRexCellType value
This attribute is the maximum number of TRex layers of the block.
$block get/setUnstructuredSolverAttribute TRexMaximumLayers value
This attribute is the minimum number of fully structured TRex layers of the block.
$block get/setUnstructuredSolverAttribute TRexFullLayers value
This attribute is the growth rate of TRex layers for the block.
$block get/setUnstructuredSolverAttribute TRexGrowthRate 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 TRexSpacingSmoothing 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 TRexSpacingRelaxationFactor value
This attribute is the number of TRex isotropic seed layers for the block.
$block get/setUnstructuredSolverAttribute TRexIsotropicSeedLayers value
This attribute is the maximum cell height multiplier to be applied at the beginning of each T-Rex layer.
$block get/setUnstructuredSolverAttribute TRexLayerSubdivisions value
This attribute specifies the minimum buffer to be maintained between encroaching extruded tetrahedron.
$block get/setUnstructuredSolverAttribute TRexCollisionBuffer value
This attribute specifies the rate at which anisotropic triangles are blended into isotropic triangles on the block interior.
$block get/setUnstructuredSolverAttribute TRexAnisotropicIsotropicBlend value
This attribute is the number of layers to delay checking for the quality criteria of the TRex cells.
$block get/setUnstructuredSolverAttribute TRexSkewCriteriaDelayLayers value
This attribute specifies the maximum included angle quality threshold for TRex cells.
$block get/setUnstructuredSolverAttribute TRexSkewCriteriaMaximumAngle value
This attribute specifies the maximum equivolume quality threshold for TRex cells.
$block get/setUnstructuredSolverAttribute TRexSkewCriteriaEquivolume value
This attribute specifies the maximum equiangle quality threshold for TRex cells.
$block get/setUnstructuredSolverAttribute TRexSkewCriteriaEquiangle value
This attribute specifies the maximum centroid skew quality threshold for TRex cells.
$block get/setUnstructuredSolverAttribute TRexSkewCriteriaCentroid value
This attribute specifies the minimum included angle quality threshold for TRex cells.
$block get/setUnstructuredSolverAttribute TRexSkewCriteriaMinimumAngle 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 TRexSkewCriteriaApplyToHexTrans 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 TRexIsotropicHeight value
This attribute specifies the method to be used when computing prism cell volumes for TRex cells.
$block get/setUnstructuredSolverAttribute TRexVolumeFunction function
This attribute specifies the growth rate for each anisotropic layer.
$block get/setUnstructuredSolverAttribute TRexGrowthProfile profile
This attribute is the adaption target edge length amplification factor of an unstructured block.
$block get/setUnstructuredSolverAttribute OversetAdaptAmplification factor
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 OversetAdaptTargets <targets>
This attribute represents the voxel alignment method to be used for an unstructured block when it is created.
$block get/setUnstructuredSolverAttribute VoxelAlignment alignment
This attribute is the maximum voxel size of the voxel mesh of this block.
$block get/setUnstructuredSolverAttribute VoxelMaximumSize size
This attribute is the number of layers between voxel size transitions of the voxel mesh of this block.
$block get/setUnstructuredSolverAttribute VoxelTransitionLayers num
A cell is considered sufficiently “smoothed” if its cost value meets or exceeds this attribute’s value.
$block get/setUnstructuredSolverAttribute WCNSmoothConvergenceCostThreshold threshold
Only cells with a cost angle above this limit are smoothed.
$block get/setUnstructuredSolverAttribute WCNSmoothCostAngleThreshold angle
Only controls the magnitude of point smoothing movement per iteration.
$block get/setUnstructuredSolverAttribute WCNSmoothRelaxationFactor relaxation_factor
This action adds a face to the block.
$block addFace face
This action creates a new unstructured face object.
pw::FaceUnstructured create
This action adds a domain to this face.
$face addDomain ?-linkage linkage? domain
This attribute is the size field decay factor used as the decay when a size field is generated for this entity.
$entity get/setSizeFieldDecay decay
This attribute is the size background spacing when a size field is generated for this entity.
$entity get/setSizeFieldBackgroundSpacing spacing