An unstructured domain is a watertight collection of edge-connected surface elements (triangle, quadrilateral, etc.) bounded by one or more pw::Edges, none of which can be degenerate (pole).
pw::Object pw::Entity pw::GridEntity pw::Domain
pw:: | An unstructured domain is a watertight collection of edge-connected surface elements (triangle, quadrilateral, etc.) |
Static Actions | |
create | This action creates a new unstructured domain object. |
createOnDatabase | This creates new unstructured domain objects on the given database entities. |
createFromConnectors | This action creates new unstructured domain objects from the given connectors. |
createFromPoints | This action, given a list of point values (XYZ or database- constrained) and at least one cell-type array, creates a new unstructured domain. |
join | This action joins as many of the given unstructured domains together as possible. |
qualifyEdges | This action checks if a list of edges would be valid for defining an unstructured domain. |
getAutoCompleteHint | This action gets a list of connectors that will close an edge to be used for an unstructured domain. |
getDomainsFromDatabase | This action gets a list of domains that are constrained to the given databases. |
Static Defaults | |
IsoCellType (Default) | This default attribute controls what type of cells a domain will contain in the isotropic region (all cells if T-Rex is not applied) after generation. |
BoundaryDecay (Default) | This default is the boundary decay factor of an unstructured domain when it is created. |
TRexCellType (Default) | This default attribute contains what type of cells a T-Rex generated domain will contain after generation. |
EdgeMaximumLength (Default) | This default is the maximum edge length of an unstructured domain when it is created. |
EdgeMinimumLength (Default) | This default is the minimum edge length of an unstructured domain when it is created. |
NormalMaximumDeviation (Default) | This default is the maximum angle of normal deviation of an unstructured domain when it is created. |
SurfaceMaximumDeviation (Default) | This default is the maximum distance of geometric deviation of an unstructured domain when it is created. |
QuadMaximumIncludedAngle (Default) | This default is the maximum included angle in degrees at a corner of a quad in an unstructured domain when it is created. |
QuadMaximumWarpAngle (Default) | This default is the maximum warp (dihedral) angle in degrees between the two tris comprising a quad in an unstructured domain when it is created. |
TRexMaximumLayers (Default) | This default is the maximum number of T-Rex layers of an unstructured domain when it is created. |
TRexFullLayers (Default) | This default is the minimum number of fully structured TRex layers of the domain. |
TRexGrowthRate (Default) | This default is the growth rate of TRex layers of an unstructured domain when it is created. |
TRexIsotropicHeight (Default) | This default is the scale factor to be applied to the local isotropic height at which T-Rex stops layer growth via deformation. |
TRexPushAttributes (Default) | This default sets the option for pushing TRex attributes onto the connectors of domain when a new domain is created. |
TRexSpacingSmoothing (Default) | This default is the number of smoothing sweeps to apply to the initial spacing values of TRex layers of the domain. |
TRexSpacingRelaxationFactor (Default) | This default is the relaxation factor of smoothing sweeps to apply to the intial spacing values of TRex layers for the domain when it is created. |
Static Attributes | |
InitializeInterior | This attribute indicates, if true the interior points are inserted when the domain is initialized or re-initialized; if false interior points will not be automatically generated. |
Instance Actions | |
getPerimeterPointCount | This action gets the number of grid points on the perimeter of the entity. |
getStructuredLink | This action gets the underlying structured domain this domain is linked to. |
getTRexCellCount | This action gets the number of T-Rex cells in the domain generated by the last run of the solver. |
getTRexTriCellCount | This action gets the number of T-Rex triangular cells in the domain generated by the last run of the solver. |
getTRexQuadCellCount | This action gets the number of T-Rex quadrilateral cells in the domain generated by the last run of the solver. |
getTRexFullLayerCount | This action gets the number of T-Rex full layers in the domain generated by the last run of the solver. |
getTRexTotalLayerCount | This action gets the number of T-Rex total layers in the domain generated by the last run of the solver. |
getTRexMatchConnectorCount | This action gets the number of match connectors emanating from the adjacent grid/wall BC conditions within this domain. |
getTRexMatchInitialSpacing | This action gets the minimum, average, and maximum initial spacing of the match connectors connected to the adj grid/wall BCs of this domain. |
getTRexMatchGrowthRate | This action gets the minimum, average, and maximum growth rates of the match connectors connected to the adj grid/wall BCs of this domain. |
getTRexMatchLayerCount | This action gets the minimum, average, and maximum layer count of the match connectors connected to the adj grid/wall BCs of this domain. |
removeEdges | This action removes all of the domain’s edges. |
project | This action projects this domain onto one or more database entities. |
join | This action joins the given domain to this domain; for joining multiple domains construct a pw::FaceUnstructured object. |
triangulate | This action creates a new unstructured domain by triangulating the quads in this domain. |
flipOrientation | This action flips the orientation of this domain. |
alignOrientation | This action aligns the normal orientation of the given domains with this domain. |
getSolvedAlgorithm | This action gets the algorithm that was used when initializing the interior of the domain. |
getSurfaceEdgeMinimumLength | This action gets the calculated minimum surface edge length based on triangluar area of the cells. |
getSurfaceEdgeMaximumLength | This action gets the calculated maximum surface edge length based on triangluar area of the cells. |
getBoundaryEdgeMinimumLength | This action gets the minimum boundary edge length. |
getBoundaryEdgeMaximumLength | This action gets the maximum boundary edge length. |
setUnstructuredSolverAttribute | This action sets the named unstructured solver attribute. |
Unstructured Solver Attributes | |
Algorithm | This attribute is the algorithm to use when initializing the interior of the domain. |
IsoCellType | This attribute controls what type of cells a domain will contain in the isotropic region (all cells if T-Rex is not applied) after generation. |
ShapeConstraint | This attribute is the shape constraint of the unstructured domain. |
ShapeProjection | This attribute is the shape projection method when constrained to database entities. |
EdgeMaximumLength | This attribute is the maximum edge length of the domain. |
EdgeMinimumLength | This attribute is the minimum edge length of the domain. |
NormalMaximumDeviation | This attribute is the maximum angle of normal deviation of the domain. |
SurfaceMaximumDeviation | This attribute is the maximum distance of geometric deviation of the domain. |
QuadMaximumIncludedAngle | This attribute is the maximum included angle in degrees at a corner of a quad in the domain. |
QuadMaximumWarpAngle | This attribute is the maximum warp (dihedral) angle in degrees between the two tris comprising a quad in the domain. |
SwapCellsWithNoInteriorPoints | This attribute is the flag which controls whether triangle cells should swap diagonals with a neighboring triangle cell if it contains no interior points. |
AlignCellsToSources | This attribute is the flag which controls whether cells should be aligned to source curves. |
TRexMaximumLayers | This attribute is the maximum number of TRex layers of the domain. |
TRexFullLayers | This attribute is the minimum number of fully structured TRex layers of the domain. |
TRexGrowthRate | This attribute is the growth rate of TRex layers for the domain. |
TRexGrowthProfile | This attribute specifies the growth rate for each anisotropic layer. |
TRexIsotropicHeight | This attribute specifies the scale factor to be applied to the local isotropic height at which T-Rex stops layer growth via deformation. |
TRexPushAttributes | This attribute is the flag for pushing TRex attributes onto the connectors of this domain. |
TRexSpacingSmoothing | This attribute is the number of smoothing sweeps to apply to the initial spacing values of TRex layers of the domain. |
TRexSpacingRelaxationFactor | This attribute is the relaxation factor of smoothing sweeps to apply to the intial spacing values of TRex layers for the domain. |
TRexCellType | This attribute controls what type of cells a T-Rex generated domain will contain in the anisotropic region after generation. |
pw::DomainUnstructured create
This action creates a new unstructured domain object.
none
This action returns a new pw::DomainUnstructured object.
In this example, an unstructured domain is created using 4 existing connectors. For an unstructured domain, all connectors are added to the same edge object.
Code
set edge(1) [pw::Edge create] $edge(1) addConnector $con(1) $edge(1) addConnector $con(2) $edge(1) addConnector $con(3) $edge(1) addConnector $con(4) set dom(1) [pw::DomainUnstructured create] $dom(1) addEdge $edge(1) puts [$dom(1) getName]
Output
dom-1
pw::DomainUnstructured createOnDatabase ?-merge tolerance? ?-splitConnectors split_angle? ?-joinConnectors join_con_angle? ?-joinDomains join_dom_angle? ?-parametricConnectors mode? ?-reject rejectVar? entities
This creates new unstructured domain objects on the given database entities.
-merge tolerance | This optional parameter is the tolerance for automatic connector merging; float [0, infinity); the default is 0 which means that no merging will be done. |
-splitConnectors split_angle | This optional parameter is the turning angle at which to split connectors; float [0, 180); the default is 0, which means that no splitting will be done. |
-joinConnectors join_con_angle | This optional parameter is the turning angle at which to join connectors; float [0, 180); the default is 0, which means that no joining will be done. |
-joinDomains join_dom_angle | This optional parameter is the turning angle at which to join domains; float [0, 180]; the default is 0, which means that no joining will be done; 180 means everything will be joined. |
-parametricConnectors mode | This optional parameter is the string mode for how connectors are created on parametric surfaces with options < EndToEnd | Aligned >. The default is EndToEnd. |
-reject rejectVar | This optional parameter is a variable name to receive a list of pw::DatabaseEntity objects that were rejected for placing connectors on; if this is not given, no rejections will be reported. |
entities | This required parameter is a list of pw::DatabaseEntity objects. |
This action returns a list of new pw::DomainUnstructured objects.
This command supports progress updates.
This example automatically creates unstructured domains on the database entities already existent within the file. The -joinDomains parameter is used to indicate that domains will be joined for a turning angle of 60 degrees.
Code
set dbEnts [pw::Database getAll] set unstDoms [pw::DomainUnstructured createOnDatabase \ -joinDomains 60 $dbEnts] set totalPts 0 foreach ent $unstDoms { set totalPts [expr {$totalPts + [$ent getPointCount]}] } puts "The total number of grid points is $totalPts."
Output
The total number of grid points is 5543.
pw::DomainUnstructured createFromConnectors ?-manifold? ?-solid? ?-reject rejectVar? connectors
This action creates new unstructured domain objects from the given connectors.
-manifold | This optional flag indicates to limit domain creation to maintain a manifold topology. |
-solid | This optional flag indicates to create domains to close groups of domains into solids. |
-reject rejectVar | This optional parameter is a variable name to receive a list of pw::Connector objects that were not used in creating the domains. |
connectors | This required parameter is a list of pw::Connector objects. |
This action returns a list of new pw::DomainUnstructured objects.
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 connectors. The domains may be created in a different order or may be created with different orientations. Use the explicit domain building routines (pw::Edge.create, pw::DomainUnstructured.create, pw::Edge.addConnector, and pw::Domain.addEdge commands) to build the domain in a controlled manner.
If this command is run inside of a Create pw::Mode, it will only be able to assemble domains 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::Edge objects directly.
This example automatically creates unstructured domains from the list of connectors provided. The -reject parameter is used to specify which connectors were unused.
Code
set cons [pw::Grid getAll -type pw::Connector] set unstDoms [pw::DomainUnstructured createFromConnectors \ -reject rejectCons $cons] foreach ent $unstDoms { puts [$ent getName] } foreach ent $rejectCons { puts [$ent getName] }
Output
dom-1 dom-2 dom-3 con-13 con-14
pw::DomainUnstructured createFromPoints ?-triangles triCellArray? ?-quadrilaterals quadCellArray? ?-splitAngle angle? ?-splitMultiloop? points
This action, given a list of point values (XYZ or database- constrained) and at least one cell-type array, creates a new unstructured domain.
The following 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 a particular cell. For example, there are 3 vertices for each triangle. Therefore, the ‘triCellArray’ will consist of a number of sub-lists, where each contains 3 indices representing the vertices of a triangle.
-triangles triCellArray | This optional parameter is a list of cells, where each cell list is 3 elements long (one element for each triangle vertex, each of which is an index into the points array). |
-quadrilaterals quadCellArray | This optional parameter is a list of N cells, where each cell list is 4 elements long (one element for each quadrilateral vertex, each of which is an index into the points array). |
-splitAngle splitAngle | this optional parameter specifies an angle at which to split connectors. |
-splitMultiloop | this optional flag will split domains with more than 1 loop. |
points | This required parameter is an ordered list of point values to be used to define the domain. |
This action constructs and returns an unstructured domain from a list of point values and triangle/quad cells. If the new domain matches an existing one, the existing domain will be returned.
This example creates an unstructured domain from a list of triangles and quads from a given list of points.
Code
set verts [list {15.0 17.0 10.0} {15.0 16.0 10.0} {15.0 15.0 10.0} {15.0 14.0 10.0} {15.0 13.0 10.0} {15.0 12.0 10.0} {15.0 11.0 10.0} {14.0 17.0 10.0} {14.0 16.0 10.0} {14.0 15.0 10.0} {14.0 14.0 10.0} {14.0 13.0 10.0} {14.0 12.0 10.0} {14.0 11.0 10.0} {13.0 17.0 10.0} {13.0 16.0 10.0} {13.0 15.0 10.0} {13.0 14.0 10.0} {13.0 13.0 10.0} {13.0 12.0 10.0} {13.0 11.0 10.0} {12.0 17.0 10.0} {12.0 16.0 10.0} {12.0 15.0 10.0} {12.0 14.0 10.0} {12.0 13.0 10.0} {12.0 12.0 10.0} {12.0 11.0 10.0} {11.0 17.0 10.0} {11.0 16.0 10.0} {11.0 15.0 10.0} {11.0 14.0 10.0} {11.0 13.0 10.0} {11.0 12.0 10.0} {11.0 11.0 10.0}] set tris [list {28 29 21} {29 30 22} {30 31 23} {31 32 24} {32 33 25} {33 34 26} {21 29 22} {22 30 23} {23 31 24} {24 32 25} {25 33 26} {26 34 27} {21 22 14} {22 23 15} {23 24 16} {24 25 17} {25 26 18} {26 27 19} {14 22 15} {15 23 16} {16 24 17} {17 25 18} {18 26 19} {19 27 20}] set quads [list {14 15 8 7} {15 16 9 8} {16 17 10 9} {17 18 11 10} {18 19 12 11} {19 20 13 12} {7 8 1 0} {8 9 2 1} {9 10 3 2} {10 11 4 3} {11 12 5 4} {12 13 6 5}]; # Test building from XYZs set dom1 [pw::DomainUnstructured createFromPoints \ -triangles $tris -quadrilaterals $quads -split 90.0 $verts] puts "Cell Count [$dom1 getCellCount]" puts "Triangles [pw::Grid getElementCount Triangle [list $dom1]]" puts "Quadrilaterals [pw::Grid getElementCount Quad [list $dom1]]"
Output
Cell Count 36 Triangles 24 Quads 12
pw::DomainUnstructured join ?-reject rejectVar? domains
This action joins as many of the given unstructured domains together as possible.
-reject rejectVar | This optional parameter is a variable name to receive a list of pw::DomainUnstructured objects that were not used in joining. |
domains | This required parameter is a list of pw::DomainUnstructured objects to join. |
This action returns a list of the pw::DomainUnstructured objects that were joined.
This command supports progress updates.
This example joins as many unstructured domains as possible. The -reject parameter is used to specify which domains were not joined.
Code
set doms [pw::Grid getAll -type pw::Domain] set joinDoms \ [pw::DomainUnstructured join -reject unjoinDoms $doms] puts "[llength $joinDoms] domains were joined." puts "[llength $unjoinDoms] domains were not joined."
Output
3 domains were joined. 2 domains were not joined.
pw::DomainUnstructured qualifyEdges edges
This action checks if a list of edges would be valid for defining an unstructured domain.
edges | This required parameter is a list of pw::Edge objects. |
This action returns a boolean, which is true if this is a valid set of edges.
This example checks to see if the edge object created is valid for defining an unstructured domain.
Code
set edge(1) [pw::Edge create] $edge(1) addConnector $con(1) $edge(1) addConnector $con(2) $edge(1) addConnector $con(3) puts [pw::DomainUnstructured qualifyEdges $edge(1)]
Output
0
pw::DomainUnstructured getAutoCompleteHint edge
This action gets a list of connectors that will close an edge to be used for an unstructured domain. It will attempt to close the loop by adding connectors to either end of the edge until it either closes or a branch is encountered.
edge | This required parameter is a pw::Edge object for which to get the hint. |
This action returns a list of two lists of pw::Connector objects.
The first list in the return value is a list of connectors to insert at the front of the edge definition (such that the first connector should be inserted at the beginning, the second connector should be inserted next at the beginning, etc.). The second list in the return value is a list of connectors to append to the edge definition. Either may be an empty list.
This example is used to find which connectors will close an edge in order for it to be used for an unstructured domain. The Tcl commmand lassign is used to split the list that is returned.
Code
set hint [pw::DomainUnstructured getAutoCompleteHint $edge(1)] lassign $hint front end set frontNames {}; set endNames {} foreach ent $front { lappend frontNames [$ent getName] } foreach ent $end { lappend endNames [$ent getName] } puts $frontNames; puts $endNames
Output
(empty string) con-4 con-5
pw::DomainUnstructured getDomainsFromDatabase ?-exclusive? database
This action gets a list of domains that are constrained to the given databases.
-exclusive | This optional flag indicatest to return domains that are exclusively on the given database. |
databases | This required parameter is a list of pw::DatabaseEntity objects. |
This action returns a list of pw::Domain objects.
This example shows how to get a list of constrained unstructured domains from a given quilt and shell. $shell(1) and $qlt(1) are referencing an existing shell and quilt.
Code
set doms [pw::DomainUnstructured getDomainsFromDatabase [list $qlt(1) $shell(1)]]
pw::DomainUnstructured get/setDefault IsoCellType type
This default attribute controls what type of cells a domain will contain in the isotropic region (all cells if T-Rex is not applied) after generation.
A string with one of the values < Triangle | TriangleQuad >. Triangle indicates that generated cells in the isotropic region (all cells when T-Rex is not applied) will be stored as triangles upon completion. TriangleQuad indicates that isotropic cells will be stored in a quad-dominant fashion, generally containing both triangle and quadrilateral cell types.
The default value of this attribute is Triangle.
This example shows how to set and get the default option to store generated cells as triangles for unstructured domains created within a script.
Code
pw::DomainUnstructured setDefault IsoCellType Triangle puts [pw::DomainUnstructured getDefault IsoCellType]
Output
Triangle
pw::DomainUnstructured get/setDefault BoundaryDecay value
This default is the boundary decay factor of an unstructured domain 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.
Higher values of this attribute indicate a slower progression of cell sizes toward the domain inteior (more, smaller cells). Lower values indicate a more rapid progression (less, larger cells)
A float in the range [0, 1].
The default value of this attribute is 0.5.
This example shows how to set and get the default boundary decay factor for unstructured domains created within a script.
Code
pw::DomainUnstructured setDefault BoundaryDecay 0.7 puts [pw::DomainUnstructured getDefault BoundaryDecay]
Output
0.7
pw::DomainUnstructured get/setDefault TRexCellType type
This default attribute contains what type of cells a T-Rex generated domain will contain after generation.
A string with the options < Triangle | TriangleQuad >. Triangle indicates that generated cells in the anisotropic (T-Rex) region will be stored as triangles upon completion. TriangleQuad indicates that anisotropic cells will be stored in a quad-dominant fashion, generally containing both triangle and quadrilateral cell types.
The default value of this attribute is Triangle.
This example shows how to set and get the default option to store T-Rex generated cells as triangles for unstructured domains created within a script.
Code
pw::DomainUnstructured setDefault TRexCellType Triangle puts [pw::DomainUnstructured getDefault TRexCellType]
Output
Triangle
pw::DomainUnstructured get/setDefault EdgeMaximumLength value
This default is the maximum edge length of an unstructured domain when it is created.
A string with the options < Automatic | Boundary | TRexBoundary | NotApplied > or a float in the range (0, infinity).
The default value of this attribute is Automatic.
This example shows how to set and get the default maximum edge length for unstructured domains created within a script.
Code
pw::DomainUnstructured setDefault EdgeMaximumLength 50 puts [pw::DomainUnstructured getDefault EdgeMaximumLength]
Output
50.0
pw::DomainUnstructured get/setDefault EdgeMinimumLength value
This default is the minimum edge length of an unstructured domain when it is created.
A string with the options < Automatic | Boundary | TRexBoundary | NotApplied > or a float in the range (0, infinity).
The default value of this attribute is Automatic.
This example shows how to set and get the default minimum edge length for unstructured domains created within a script.
Code
pw::DomainUnstructured setDefault EdgeMinimumLength 10 puts [pw::DomainUnstructured getDefault EdgeMinimumLength]
Output
10.0
pw::DomainUnstructured get/setDefault NormalMaximumDeviation value
This default is the maximum angle of normal deviation of an unstructured domain when it is created.
A float in the range [0, 180). 0 means do not restrict normal deviation.
The default value of this attribute is 0.
This example shows how to set and get the default maximum angle of normal deviation for unstructured domains created within a script.
Code
pw::DomainUnstructured setDefault NormalMaximumDeviation 15 puts [pw::DomainUnstructured getDefault NormalMaximumDeviation]
Output
15.0
pw::DomainUnstructured get/setDefault SurfaceMaximumDeviation value
This default is the maximum distance of geometric deviation of an unstructured domain when it is created.
A float in the range [0, infinity). 0 means do not restrict surface deviation.
The default value of this attribute is 0.
This example shows how to set and get the default maximum distance of geometric deviation for unstructured domains created within a script.
Code
pw::DomainUnstructured setDefault SurfaceMaximumDeviation .001 puts [pw::DomainUnstructured getDefault SurfaceMaximumDeviation]
Output
0.001
pw::DomainUnstructured get/setDefault QuadMaximumIncludedAngle value
This default is the maximum included angle in degrees at a corner of a quad in an unstructured domain when it is created.
A float in the range (90, 180).
The default value of this attribute is 150.0.
This example shows how to set and get the default quad maximum included angle for unstructured domains created within a script.
Code
pw::DomainUnstructured setDefault QuadMaximumIncludedAngle 140.0 puts [pw::DomainUnstructured getDefault QuadMaximumIncludedAngle]
Output
140.0
pw::DomainUnstructured get/setDefault QuadMaximumWarpAngle value
This default is the maximum warp (dihedral) angle in degrees between the two tris comprising a quad in an unstructured domain when it is created.
A float in the range (0, 90).
The default value of this attribute is 30.0.
This example shows how to set and get the default maximum quad warp angle for unstructured domains created within a script.
Code
pw::DomainUnstructured setDefault QuadMaximumWarpAngle 60.0 puts [pw::DomainUnstructured getDefault QuadMaximumWarpAngle]
Output
60.0
pw::DomainUnstructured get/setDefault TRexMaximumLayers layers
This default is the maximum number of T-Rex layers of an unstructured domain when it is created.
An integer in the range [0, infinity), where 0 means that there should be no TRex layers.
The default value of this attribute is 0.
pw::DomainUnstructured get/setDefault TRexFullLayers layers
This default is the minimum number of fully structured TRex layers of the domain.
An integer in the range [0, infinity), where 0 means that there should be no minimum fully structured TRex layers.
The default value of this attribute is 0.
pw::DomainUnstructured get/setDefault TRexGrowthRate growth_rate
This default is the growth rate of TRex layers of an unstructured domain when it is created.
A float in the range [1.0, infinity).
The default value of this attribute is 1.2.
pw::DomainUnstructured get/setDefault TRexIsotropicHeight value
This default is the scale factor to be applied to the local isotropic height at which T-Rex stops layer growth via deformation.
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) or beyond (value> 1) true isotropy.
A float in the range (0.0, infinity).
The default value of this attribute is 1.0.
pw::DomainUnstructured get/setDefault TRexPushAttributes push
This default sets the option for pushing TRex attributes onto the connectors of domain when a new domain is created.
A boolean, where true means that TRex attributes (initial spacing and growth rate or schedule) are pushed down onto the connectors.
The default value of this attribute is false.
pw::DomainUnstructured get/setDefault TRexSpacingSmoothing smooth
This default is the number of smoothing sweeps to apply to the initial spacing values of TRex layers of the domain.
An integer in the range [0, infinity), where 0 means no smoothing is applied to the initial spacing values.
The default value of this attribute is 10.
pw::DomainUnstructured get/setDefault TRexSpacingRelaxationFactor factor
This default is the relaxation factor of smoothing sweeps to apply to the intial spacing values of TRex layers for the domain 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 of this attribute is 0.7.
pw::DomainUnstructured get/setInitializeInterior init
This attribute indicates, if true the interior points are inserted when the domain is initialized or re-initialized; if false interior points will not be automatically generated.
A boolean where true indicates that the interior should be initialized, and false indicates that only boundary triangulation should be done.
The default value of this attribute is true.
This example shows how to set and get the InitializeInterior attribute for unstructured domains created within a script.
Code
pw::DomainUnstructured setInitializeInterior false puts [pw::DomainUnstructured getInitializeInterior]
Output
0
$dom getPerimeterPointCount
This action gets the number of grid points on the perimeter of the entity. The first points of an unstructured domain are the perimeter points.
none
This action returns the number of perimeter points.
This example shows how to get the number of perimeter points for an unstructured domain. $dom(1) is referencing an existing domain.
Code
puts [$dom(1) getPerimeterPointCount]
Output
40
$dom getStructuredLink
This action gets the underlying structured domain this domain is linked to. A link is created via the pw::DomainStructured.triangulate command.
none
This action returns a pw::DomainStructured object if the domain is linked. If the domain is not linked to a structured domain, the result will be an empty string.
This example shows how to create an unstructured domain linked to a structured domain, and how to retrieve the structured domain from the unstructured domain.
Code
puts "Creating an unstructured domain linked to [$sdom getName]" set udom [$sdom triangulate -link] set ldom [$udom getStructuredLink] if {[string length $ldom] > 0} { puts "[$udom getName] is linked to [$ldom getName]" } else { puts "[$udom getName] is not linked to a structured domain" }
Output
Creating an unstructured domain linked to dom-1 dom-2 is linked to dom-1
$dom getTRexCellCount
This action gets the number of T-Rex cells in the domain generated by the last run of the solver. Note that there is no distinction between non-recombinable and recombinable anisotropic cells.
none
This action returns the number of anisotropic (T-Rex) cells.
This example shows how to get the number of T-Rex cells for an unstructured domain. $dom(1) is referencing an existing domain.
Code
puts [$dom(1) getTRexCellCount]
Output
82
$dom getTRexTriCellCount
This action gets the number of T-Rex triangular cells in the domain generated by the last run of the solver. Note that there is no distinction between non-recombinable and recombinable anisotropic cells.
none
This action returns the number of anisotropic (T-Rex) cells.
This example shows how to get the number of T-Rex cells for an unstructured domain. $dom(1) is referencing an existing domain.
Code
puts [$dom(1) getTRexTriCellCount]
Output
82
$dom getTRexQuadCellCount
This action gets the number of T-Rex quadrilateral cells in the domain generated by the last run of the solver. Note that there is no distinction between non-recombinable and recombinable anisotropic cells.
none
This action returns the number of anisotropic (T-Rex) cells.
This example shows how to get the number of T-Rex cells for an unstructured domain. $dom(1) is referencing an existing domain.
Code
puts [$dom(1) getTRexQuadCellCount]
Output
82
$dom getTRexFullLayerCount
This action gets the number of T-Rex full layers in the domain 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.
$dom getTRexTotalLayerCount
This action gets the number of T-Rex total layers in the domain 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.
$dom getTRexMatchConnectorCount ?-nodeCount nodeCountVar?
This action gets the number of match connectors emanating from the adjacent grid/wall BC conditions within this domain.
-nodeCount nodeCountVar | This optional parameter is a variable name to receive the count of nodes where connectors emanate from the adjacent grid/wall BC conditions within this domain. This can be greater than the number of connectors when both ends of a connector touch an adjacent grid/wall BC condition. |
This action returns the number of connectors.
$dom getTRexMatchInitialSpacing
This action gets the minimum, average, and maximum initial spacing of the match connectors connected to the adj grid/wall BCs of this domain.
none
This action returns a vector of the minimum, average, and maximum of the initial spacings. If there are no match connectors, 0.0 will be returned for each of these values
This example shows how to get the initial spacing on match connectors from an unstructured domain. $dom(1) is referencing an existing domain.
Code
puts [$dom(1) getTRexMatchInitialSpacing]
Output
[0.0100 0.0123 0.0200]
$dom getTRexMatchGrowthRate
This action gets the minimum, average, and maximum growth rates of the match connectors connected to the adj grid/wall BCs of this domain.
none
This action returns a vector of the minimum, average, and maximum of the growth rates. If there are no match connectors, 0.0 will be returned for each of these values
This example shows how to get the average growth rate on match connectors from an unstructured domain. $dom(1) is referencing an existing domain.
Code
puts [$dom(1) getTRexMatchGrowthRate]
Output
[1.0100 1.0123 1.0200]
$dom getTRexMatchLayerCount
This action gets the minimum, average, and maximum layer count of the match connectors connected to the adj grid/wall BCs of this domain.
none
This action returns a vector of the minimum, average, and maximum of the layer counts. If there are no match connectors, 0.0 will be returned for each of these values
This example shows how to get the average initial spacing on match connectors from an unstructured domain. $dom(1) is referencing an existing domain.
Code
puts [$dom(1) getTRexMatchLayerCount]
Output
[10.0 20.0 30.0]
$dom project ?-type proj_type? ?-direction direction? ?-center center? ?-axis point normal? ?-interior? ?dbentities?
This action projects this domain onto one or more database entities.
-type proj_type | This optional parameter is the string projection type to perform with options < ClosestPoint | Linear | SphericalIn | SphericalOut | CylindricalIn | CylindricalOut >. |
-direction direction | This optional parameter is the projection vector for linear projection. The default is determined by the entity and can be queried using pw::Domain.getDefaultProjectDirection. |
-center center | This optional parameter is the center point vector for spherical projection. The default is (0, 0, 0). |
-axis point normal | This optional parameter is the axis defined by a point vector and normal vector used by cylindrical projection. The default point is (0, 0, 0) and the default normal is (1, 0, 0). |
-interior | If this optional flag is present, only the interior of the entities are projected. |
dbentities | This optional parameter is a list of surface-like pw::DatabaseEntity to project onto. If none are given, project to any currently enabled, visible database surface-like entities. |
This action returns nothing.
pw::Domain.getDefaultProjectDirection
This example shows how to project a domain linearly along the Z axis onto the given quilt. $dom(1) and $qlt(1) are referencing an existing domain and quilt.
Code
$dom(1) project -type Linear -direction "0 0 1" $qlt(1)
$dom join domain
This action joins the given domain to this domain; for joining multiple domains construct a pw::FaceUnstructured object.
domain | This required parameter is the pw::Domain object to join to this domain. |
This action returns nothing.
This example shows how to join two unstructured domains. $dom(1) and $dom(2) are referencing existing domains.
Code
$dom(1) join $dom(2)
$dom triangulate ?method?
This action creates a new unstructured domain by triangulating the quads in this domain. The new domain is a copy whose attributes are the same as this domain, with the CellType and TRexCellType solver attributes set to TriangleQuad. It is an error to triangulate an unstructured domain that does not contain quad elements.
method | This optional parameter is the triangulation method with options < BestFit | Initialized >. The default is BestFit. |
This action returns a pw::DomainUnstructured object.
$dom flipOrientation
This action flips the orientation of this domain. A domain used in a baffle face can not be flipped.
none
This action returns nothing.
This example shows how to flip the orientation of an unstructured domain. $dom(1) is referencing an existing domain.
Code
$dom(1) flipOrientation
$dom alignOrientation domains
This action aligns the normal orientation of the given domains with this domain. If any domains in the given list are not topologically connected to this domain, they will be ignored. An error is raised if a domain in a baffle face is specified in the list of domains.
domains | This required parameter is a list of pw::DomainUnstructured objects to align orientations. |
This action returns nothing.
This example shows how to align the orientation of several unstructured domains with $dom(1). $dom(1), $dom(2) and $dom(3) are referencing existing domains.
Code
$dom(1) alignOrientation [list $dom(2) $dom(3)]
$dom getSolvedAlgorithm
This action gets the algorithm that was used when initializing the interior of the domain.
none
This action returns a string with possible values < Delaunay | AdvancingFront | AdvancingFrontOrtho | ThinSurfaceInterpolation | NotSolved >. See the unstructured solver attribute Algorithm for more information on the different algorithms. NotSolved indicates that the domain is uninitialized.
This example shows how to get the solved algoritm. $dom(1) is referencing an existing domain.
Code
$dom(1) getSolvedAlgorithm puts [$dom(1) getSolvedAlgorithm]
Output
Delaunay
$dom getSurfaceEdgeMinimumLength
This action gets the calculated minimum surface edge length based on triangluar area of the cells.
none
This action returns the minimum surface edge length.
This example shows how to get the minimum surface edge length for an unstructured domain. $dom(1) is referencing an existing domain.
Code
puts [$dom(1) getSurfaceEdgeMinimumLength]
Output
1.0344963221899095
$dom getSurfaceEdgeMaximumLength
This action gets the calculated maximum surface edge length based on triangluar area of the cells.
none
This action returns the maximum surface edge length.
This example shows how to get the maximum surface edge length for an unstructured domain. $dom(1) is referencing an existing domain.
Code
puts [$dom(1) getSurfaceEdgeMaximumLength]
Output
2.013040874595685
$dom getBoundaryEdgeMinimumLength
This action gets the minimum boundary edge length.
none
This action returns the minimum boundary edge length.
This example shows how to get the minimum boundary edge length for an unstructured domain. $dom(1) is referencing an existing domain.
Code
puts [$dom(1) getBoundaryEdgeMinimumLength]
Output
1.4729734060253794
$dom getBoundaryEdgeMaximumLength
This action gets the maximum boundary edge length.
none
This action returns the maximum boundary edge length.
This example shows how to get the maximum boundary edge length for an unstructured domain. $dom(1) is referencing an existing domain.
Code
puts [$dom(1) getBoundaryEdgeMaximumLength]
Output
1.4907229247565557
$dom setUnstructuredSolverAttribute att_name att_value
This action sets the named unstructured solver attribute.
att_name | This required parameter is the name string of the attribute to set. |
att_value | This required parameter is the string, integer or float value of the attribute to set. |
This action returns nothing.
This example shows how to set the unstructured solver attribute: maximum edge length. $dom(1) is referencing an existing domain.
Code
$dom(1) setUnstructuredSolverAttribute EdgeMaximumLength Boundary
$dom get/setUnstructuredSolverAttribute Algorithm < Delaunay | AdvancingFront | AdvancingFrontOrtho | ThinSurfaceInterpolation >.
This attribute is the algorithm to use when initializing the interior of the domain.
A string with options < Delaunay | AdvancingFront | AdvancingFrontOrtho | ThinSurfaceInterpolation >. Algorithms are differentiated in the manner in which they place interior grid points. The Delaunay method inserts points at the circumsphere centroid of existing triangles, later smoothing the position to improve cell quality. The AdvancingFront method inserts points adjacent to the (advancing) boundary at positions that form nearly equilateral triangles with the front edge. The AdvancingFrontOrtho method inserts grid point at positions normal to the front edge, generally resulting in two right angle triangles. The ThinSurfaceInterpolation algorithm uses a psuedo-structured approach to generating interior points and is best suited for roughly quadrilateral domains with similar dimensions on opposing sides.
The default value of this attribute is set using the current value of the default <Algorithm (Default)>.
<Algorithm (Default)>
This example shows how to set and get the unstructured solver Algorithm attribute. $dom(1) is referencing an existing domain.
Code
$dom(1) setUnstructuredSolverAttribute Algorithm Delaunay puts [$dom(1) getUnstructuredSolverAttribute Algorithm]
Output
Delaunay
$dom get/setUnstructuredSolverAttribute IsoCellType type
This attribute controls what type of cells a domain will contain in the isotropic region (all cells if T-Rex is not applied) after generation.
A string with one of the values < Triangle | TriangleQuad >. Triangle indicates that generated cells in the isotropic region (all cells when T-Rex is not applied) will be stored as triangles upon completion. TriangleQuad indicates that isotropic cells will be stored in a quad-dominant fashion, generally containing both triangle and quad cell types.
The default value of this attribute is set using the current value of the default IsoCellType (Default).
This example shows how to set and get the unstructured solver IsoCellType attribute. $dom(1) is referencing an existing domain.
Code
$dom(1) setUnstructuredSolverAttribute IsoCellType TriangleQuad puts [$dom(1) getUnstructuredSolverAttribute IsoCellType]
Output
TriangleQuad
$dom get/setUnstructuredSolverAttribute ShapeConstraint < constraint | db_list >
This attribute is the shape constraint of the unstructured domain.
A string with one of the values < Free | Database > or an explicit list of pw::DatabaseEntity objects. Database indicates that the constraint(s) will be derived from the domain’s pw::Edges (pw::Connectors).
The default value of this attribute is Free or Database, depending on the connectors used in constructing this domain.
This example shows how to set and get the unstructured solver ShapeConstraint attributes. $dom(1) is referencing an existing domain.
Code
$dom(1) setUnstructuredSolverAttribute ShapeConstraint Free puts [$dom(1) getUnstructuredSolverAttribute ShapeConstraint]
Output
Free
$dom get/setUnstructuredSolverAttribute ShapeProjection < method | normal >
This attribute is the shape projection method when constrained to database entities.
A string with options < Closest | Linear > or an explicit normal vector for linear projection. When Linear is specified the projection uses the domain’s default projection direction, which can be queried with pw::Domain.getDefaultProjectDirection.
The default value of this attribute is Closest.
pw::Domain.getDefaultProjectDirection
This example shows how to set and get the unstructured solver ShapeProjection attribute. $dom(1) is referencing an existing domain.
Code
$dom(1) setUnstructuredSolverAttribute ShapeProjection Linear puts [$dom(1) getUnstructuredSolverAttribute ShapeProjection]
Output
Linear
$dom get/setUnstructuredSolverAttribute EdgeMaximumLength value
This attribute is the maximum edge length of the domain.
A string with options < Automatic | Boundary | TRexBoundary | NotApplied > or a float in the range (0, infinity).
The default value of this attribute is set using the current value of the default EdgeMaximumLength (Default).
This example shows how to set and get the unstructured solver EdgeMaximumLength attribute. $dom(1) is referencing an existing domain.
Code
$dom(1) setUnstructuredSolverAttribute EdgeMaximumLength 2.5 puts [$dom(1) getUnstructuredSolverAttribute EdgeMaximumLength]
Output
2.5
$dom get/setUnstructuredSolverAttribute EdgeMinimumLength value
This attribute is the minimum edge length of the domain.
A string with options < Automatic | Boundary | TRexBoundary | NotApplied > or a float in the range (0, infinity).
The default value of this attribute is set using the current value of the default EdgeMinimumLength (Default).
This example shows how to set and get the unstructured solver EdgeMinimumLength attribute. $dom(1) is referencing an existing domain.
Code
$dom(1) setUnstructuredSolverAttribute EdgeMinimumLength Boundary puts [$dom(1) getUnstructuredSolverAttribute EdgeMinimumLength]
Output
Boundary
$dom get/setUnstructuredSolverAttribute NormalMaximumDeviation value
This attribute is the maximum angle of normal deviation of the domain.
A float in the range [0, 180), where 0 means do not restrict normal deviation.
The default value of this attribute is set using the current value of the default NormalMaximumDeviation (Default).
NormalMaximumDeviation (Default)
This example shows how to set and get the unstructured solver NormalMaximumDeviation attribute. $dom(1) is referencing an existing domain.
Code
$dom(1) setUnstructuredSolverAttribute NormalMaximumDeviation 10 puts [$dom(1) getUnstructuredSolverAttribute NormalMaximumDeviation]
Output
10.0
$dom get/setUnstructuredSolverAttribute SurfaceMaximumDeviation value
This attribute is the maximum distance of geometric deviation of the domain.
A float in the range [0, infinity), where 0 means do not restrict surface deviation.
The default value of this attribute is set using the current value of the default SurfaceMaximumDeviation (Default).
SurfaceMaximumDeviation (Default)
This example shows how to set and get the unstructured solver SurfaceMaximumDeviation attribute. $dom(1) is referencing an existing domain.
Code
$dom(1) setUnstructuredSolverAttribute SurfaceMaximumDeviation .01 puts [$dom(1) getUnstructuredSolverAttribute \ SurfaceMaximumDeviation]
Output
0.01
$dom get/setUnstructuredSolverAttribute QuadMaximumIncludedAngle value
This attribute is the maximum included angle in degrees at a corner of a quad in the domain.
A float in the range (90, 180).
The default value of this attribute is set using the current value of the default QuadMaximumIncludedAngle (Default), typically 174.0 degrees.
QuadMaximumIncludedAngle (Default)
This example shows how to set and get the unstructured solver QuadMaximumIncludedAngle attribute. $dom(1) is referencing an existing domain.
Code
$dom(1) setUnstructuredSolverAttribute QuadMaximumIncludedAngle 160 puts [$dom(1) getUnstructuredSolverAttribute \ QuadMaximumIncludedAngle]
Output
160.0
$dom get/setUnstructuredSolverAttribute QuadMaximumWarpAngle value
This attribute is the maximum warp (dihedral) angle in degrees between the two tris comprising a quad in the domain.
A float in the range (0, 90).
The default value of this attribute is set using the current value of the default QuadMaximumWarpAngle (Default).
QuadMaximumWarpAngle (Default)
This example shows how to set and get the unstructured solver QuadMaximumWarpAngle attribute. $dom(1) is referencing an existing domain.
Code
$dom(1) setUnstructuredSolverAttribute QuadMaximumWarpAngle 30 puts [$dom(1) getUnstructuredSolverAttribute QuadMaximumWarpAngle]
Output
30.0
$dom get/setUnstructuredSolverAttribute SwapCellsWithNoInteriorPoints value
This attribute is the flag which controls whether triangle cells should swap diagonals with a neighboring triangle cell if it contains no interior points. If this is set to true, the unstructured solver will attempt to swap diagonals of triangle cells in order to ensure at least one interior point, although this is not guaranteed for domains with a coarse interior or for cells without a neighboring triangle that has at least one interior point.
A boolean, where true means to swap cell edges for triangle cells that have no interior points.
The default value of this attribute is false.
$dom get/setUnstructuredSolverAttribute AlignCellsToSources value
This attribute is the flag which controls whether cells should be aligned to source curves. This only has an effect when the domain is constrained to database entities, and those same database entities have source curves constrained to them. Also, this only affects the isotropic cells and not the TRex cells.
A boolean, where true means to align cell edges to source curves.
The default value of this attribute is true.
$dom get/setUnstructuredSolverAttribute TRexMaximumLayers value
This attribute is the maximum number of TRex layers of the domain.
An integer in the range [0, infinity), where 0 means do not grow TRex layers.
The default value of this attribute is 0.
This example shows how to set and get the unstructured solver TRexMaximumLayers attribute. $dom(1) is referencing an existing domain.
Code
$dom(1) setUnstructuredSolverAttribute TRexMaximumLayers 20 puts [$dom(1) getUnstructuredSolverAttribute TRexMaximumLayers]
Output
20
$dom get/setUnstructuredSolverAttribute TRexFullLayers value
This attribute is the minimum number of fully structured TRex layers of the domain.
An integer in the range [0, infinity), where 0 means there is no minimum number of fully structured TRex layers.
The default value of this attribute is 0.
This example shows how to set and get the unstructured solver TRexFullLayers attribute. $dom(1) is referencing an existing domain.
Code
$dom(1) setUnstructuredSolverAttribute TRexFullLayers 10 puts [$dom(1) getUnstructuredSolverAttribute TRexFullLayers]
Output
10
$dom get/setUnstructuredSolverAttribute TRexGrowthRate value
This attribute is the growth rate of TRex layers for the domain.
A float in the range [1.0, infinity).
The default value of this attribute is 1.2.
This example shows how to set and get the unstructured solver TRexGrowthRate $dom(1) is referencing an existing domain.
Code
$dom(1) setUnstructuredSolverAttribute TRexGrowthRate 1.1 puts [$dom(1) getUnstructuredSolverAttribute TRexGrowthRate]
Output
1.1
$domain get/setUnstructuredSolverAttribute TRexGrowthProfile profile
This attribute specifies the growth rate for each anisotropic layer.
A list of float values indicating the growth rate to apply at each layer in the anisotropic region of the domain 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 domain, the last element is used as the growth rate for all subsequent layers.
The default value of this attribute is no growth profile, indicating that the scalar TRexGrowthRate value be used for all layer height calculations.
$dom 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.
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) or beyond (value> 1) true isotropy.
A float in the range (0.0, infinity).
The default value of this attribute is 1.0.
This example shows how to set and get the unstructured solver TRexIsotropicHeight attribute. $dom(1) is referencing an existing domain.
Code
$dom(1) setUnstructuredSolverAttribute TRexIsotropicHeight 1.1 puts [$dom(1) getUnstructuredSolverAttribute TRexIsotropicHeight]
Output
1.1
$dom get/setUnstructuredSolverAttribute TRexPushAttributes value
This attribute is the flag for pushing TRex attributes onto the connectors of this domain.
A boolean, where true means that TRex attributes (initial spacing and growth rate or profile) are pushed down onto the connectors.
The default value of this attribute is false.
This example shows how to set and get the unstructured solver TRexPushAttributes attribute. $dom(1) is referencing an existing domain.
Code
$dom(1) setUnstructuredSolverAttribute TRexPushAttributes true puts [$dom(1) getUnstructuredSolverAttribute TRexPushAttributes]
Output
1
$dom get/setUnstructuredSolverAttribute TRexSpacingSmoothing value
This attribute is the number of smoothing sweeps to apply to the initial spacing values of TRex layers of the domain.
An integer in the range [0, infinity), where 0 means no smoothing is applied to the initial spacing values.
The default value of this attribute is 3.
TRexSpacingSmoothing (Default)
This example shows how to set and get the unstructured solver TRexSpacingSmoothing attribute. $dom(1) is referencing an existing domain.
Code
$dom(1) setUnstructuredSolverAttribute TRexSpacingSmoothing 0 puts [$dom(1) getUnstructuredSolverAttribute TRexSpacingSmoothing]
Output
0
$dom get/setUnstructuredSolverAttribute TRexSpacingRelaxationFactor value
This attribute is the relaxation factor of smoothing sweeps to apply to the intial spacing values of TRex layers for the domain.
A float in the range [0.0, 1.0), where 0 means no smoothing is applied to the initial spacing values.
The default value of this attribute is 0.7.
TRexSpacingRelaxationFactor (Default)
This example shows how to set and get the unstructured solver TRexSpacingRelaxationFactor attribute. $dom(1) is referencing an existing domain.
Code
$dom(1) setUnstructuredSolverAttribute \ TRexSpacingRelaxationFactor .5 puts [$dom(1) getUnstructuredSolverAttribute \ TRexSpacingRelaxationFactor]
Output
0.5
$dom get/setUnstructuredSolverAttribute TRexCellType value
This attribute controls what type of cells a T-Rex generated domain will contain in the anisotropic region after generation.
A string with the options < Triangle | TriangleQuad >. Triangle indicates that generated cells in the anisotropic (T-Rex) region will be stored as triangles upon completion. TriangleQuad indicates that anisotropic cells will be stored in a quad-dominant fashion, generally containing both triangle and quad cell types.
The default value of this attribute is set using the current value of the default TRexCellType.
This example shows how to set and get the unstructured solver TRexCellType attribute. $dom(1) is referencing an existing domain.
Code
$dom(1) setUnstructuredSolverAttribute TRexCellType TriangleQuad puts [$dom(1) getUnstructuredSolverAttribute TRexCellType]
Output
TriangleQuad
This action creates a new unstructured domain object.
pw::DomainUnstructured create
This creates new unstructured domain objects on the given database entities.
pw::DomainUnstructured createOnDatabase ?-merge tolerance? ?-splitConnectors split_angle? ?-joinConnectors join_con_angle? ?-joinDomains join_dom_angle? ?-parametricConnectors mode? ?-reject rejectVar? entities
This action creates new unstructured domain objects from the given connectors.
pw::DomainUnstructured createFromConnectors ?-manifold? ?-solid? ?-reject rejectVar? connectors
This action, given a list of point values (XYZ or database- constrained) and at least one cell-type array, creates a new unstructured domain.
pw::DomainUnstructured createFromPoints ?-triangles triCellArray? ?-quadrilaterals quadCellArray? ?-splitAngle angle? ?-splitMultiloop? points
This action joins as many of the given unstructured domains together as possible.
pw::DomainUnstructured join ?-reject rejectVar? domains
This action checks if a list of edges would be valid for defining an unstructured domain.
pw::DomainUnstructured qualifyEdges edges
This action gets a list of connectors that will close an edge to be used for an unstructured domain.
pw::DomainUnstructured getAutoCompleteHint edge
This action gets a list of domains that are constrained to the given databases.
pw::DomainUnstructured getDomainsFromDatabase ?-exclusive? database
This default attribute controls what type of cells a domain will contain in the isotropic region (all cells if T-Rex is not applied) after generation.
pw::DomainUnstructured get/setDefault IsoCellType type
This default is the boundary decay factor of an unstructured domain when it is created.
pw::DomainUnstructured get/setDefault BoundaryDecay value
This default attribute contains what type of cells a T-Rex generated domain will contain after generation.
pw::DomainUnstructured get/setDefault TRexCellType type
This default is the maximum edge length of an unstructured domain when it is created.
pw::DomainUnstructured get/setDefault EdgeMaximumLength value
This default is the minimum edge length of an unstructured domain when it is created.
pw::DomainUnstructured get/setDefault EdgeMinimumLength value
This default is the maximum angle of normal deviation of an unstructured domain when it is created.
pw::DomainUnstructured get/setDefault NormalMaximumDeviation value
This default is the maximum distance of geometric deviation of an unstructured domain when it is created.
pw::DomainUnstructured get/setDefault SurfaceMaximumDeviation value
This default is the maximum included angle in degrees at a corner of a quad in an unstructured domain when it is created.
pw::DomainUnstructured get/setDefault QuadMaximumIncludedAngle value
This default is the maximum warp (dihedral) angle in degrees between the two tris comprising a quad in an unstructured domain when it is created.
pw::DomainUnstructured get/setDefault QuadMaximumWarpAngle value
This default is the maximum number of T-Rex layers of an unstructured domain when it is created.
pw::DomainUnstructured get/setDefault TRexMaximumLayers layers
This default is the minimum number of fully structured TRex layers of the domain.
pw::DomainUnstructured get/setDefault TRexFullLayers layers
This default is the growth rate of TRex layers of an unstructured domain when it is created.
pw::DomainUnstructured get/setDefault TRexGrowthRate growth_rate
This default is the scale factor to be applied to the local isotropic height at which T-Rex stops layer growth via deformation.
pw::DomainUnstructured get/setDefault TRexIsotropicHeight value
This default sets the option for pushing TRex attributes onto the connectors of domain when a new domain is created.
pw::DomainUnstructured get/setDefault TRexPushAttributes push
This default is the number of smoothing sweeps to apply to the initial spacing values of TRex layers of the domain.
pw::DomainUnstructured get/setDefault TRexSpacingSmoothing smooth
This default is the relaxation factor of smoothing sweeps to apply to the intial spacing values of TRex layers for the domain when it is created.
pw::DomainUnstructured get/setDefault TRexSpacingRelaxationFactor factor
This attribute indicates, if true the interior points are inserted when the domain is initialized or re-initialized; if false interior points will not be automatically generated.
pw::DomainUnstructured get/setInitializeInterior init
This action gets the number of grid points on the perimeter of the entity.
$dom getPerimeterPointCount
This action gets the underlying structured domain this domain is linked to.
$dom getStructuredLink
This action gets the number of T-Rex cells in the domain generated by the last run of the solver.
$dom getTRexCellCount
This action gets the number of T-Rex triangular cells in the domain generated by the last run of the solver.
$dom getTRexTriCellCount
This action gets the number of T-Rex quadrilateral cells in the domain generated by the last run of the solver.
$dom getTRexQuadCellCount
This action gets the number of T-Rex full layers in the domain generated by the last run of the solver.
$dom getTRexFullLayerCount
This action gets the number of T-Rex total layers in the domain generated by the last run of the solver.
$dom getTRexTotalLayerCount
This action gets the number of match connectors emanating from the adjacent grid/wall BC conditions within this domain.
$dom getTRexMatchConnectorCount ?-nodeCount nodeCountVar?
This action gets the minimum, average, and maximum initial spacing of the match connectors connected to the adj grid/wall BCs of this domain.
$dom getTRexMatchInitialSpacing
This action gets the minimum, average, and maximum growth rates of the match connectors connected to the adj grid/wall BCs of this domain.
$dom getTRexMatchGrowthRate
This action gets the minimum, average, and maximum layer count of the match connectors connected to the adj grid/wall BCs of this domain.
$dom getTRexMatchLayerCount
This action removes all of the domain’s edges.
$dom removeEdges ?-preserve?
This action projects this domain onto one or more database entities.
$dom project ?-type proj_type? ?-direction direction? ?-center center? ?-axis point normal? ?-interior? ?dbentities?
This action creates a new unstructured domain by triangulating the quads in this domain.
$dom triangulate ?method?
This action flips the orientation of this domain.
$dom flipOrientation
This action aligns the normal orientation of the given domains with this domain.
$dom alignOrientation domains
This action gets the algorithm that was used when initializing the interior of the domain.
$dom getSolvedAlgorithm
This action gets the calculated minimum surface edge length based on triangluar area of the cells.
$dom getSurfaceEdgeMinimumLength
This action gets the calculated maximum surface edge length based on triangluar area of the cells.
$dom getSurfaceEdgeMaximumLength
This action gets the minimum boundary edge length.
$dom getBoundaryEdgeMinimumLength
This action gets the maximum boundary edge length.
$dom getBoundaryEdgeMaximumLength
This action sets the named unstructured solver attribute.
$dom setUnstructuredSolverAttribute att_name att_value
This attribute is the algorithm to use when initializing the interior of the domain.
$dom get/setUnstructuredSolverAttribute Algorithm < Delaunay | AdvancingFront | AdvancingFrontOrtho | ThinSurfaceInterpolation >.
This attribute controls what type of cells a domain will contain in the isotropic region (all cells if T-Rex is not applied) after generation.
$dom get/setUnstructuredSolverAttribute IsoCellType type
This attribute is the shape constraint of the unstructured domain.
$dom get/setUnstructuredSolverAttribute ShapeConstraint < constraint | db_list >
This attribute is the shape projection method when constrained to database entities.
$dom get/setUnstructuredSolverAttribute ShapeProjection < method | normal >
This attribute is the maximum edge length of the domain.
$dom get/setUnstructuredSolverAttribute EdgeMaximumLength value
This attribute is the minimum edge length of the domain.
$dom get/setUnstructuredSolverAttribute EdgeMinimumLength value
This attribute is the maximum angle of normal deviation of the domain.
$dom get/setUnstructuredSolverAttribute NormalMaximumDeviation value
This attribute is the maximum distance of geometric deviation of the domain.
$dom get/setUnstructuredSolverAttribute SurfaceMaximumDeviation value
This attribute is the maximum included angle in degrees at a corner of a quad in the domain.
$dom get/setUnstructuredSolverAttribute QuadMaximumIncludedAngle value
This attribute is the maximum warp (dihedral) angle in degrees between the two tris comprising a quad in the domain.
$dom get/setUnstructuredSolverAttribute QuadMaximumWarpAngle value
This attribute is the flag which controls whether triangle cells should swap diagonals with a neighboring triangle cell if it contains no interior points.
$dom get/setUnstructuredSolverAttribute SwapCellsWithNoInteriorPoints value
This attribute is the flag which controls whether cells should be aligned to source curves.
$dom get/setUnstructuredSolverAttribute AlignCellsToSources value
This attribute is the maximum number of TRex layers of the domain.
$dom get/setUnstructuredSolverAttribute TRexMaximumLayers value
This attribute is the minimum number of fully structured TRex layers of the domain.
$dom get/setUnstructuredSolverAttribute TRexFullLayers value
This attribute is the growth rate of TRex layers for the domain.
$dom get/setUnstructuredSolverAttribute TRexGrowthRate value
This attribute specifies the growth rate for each anisotropic layer.
$domain get/setUnstructuredSolverAttribute TRexGrowthProfile profile
This attribute specifies the scale factor to be applied to the local isotropic height at which T-Rex stops layer growth via deformation.
$dom get/setUnstructuredSolverAttribute TRexIsotropicHeight value
This attribute is the flag for pushing TRex attributes onto the connectors of this domain.
$dom get/setUnstructuredSolverAttribute TRexPushAttributes value
This attribute is the number of smoothing sweeps to apply to the initial spacing values of TRex layers of the domain.
$dom get/setUnstructuredSolverAttribute TRexSpacingSmoothing value
This attribute is the relaxation factor of smoothing sweeps to apply to the intial spacing values of TRex layers for the domain.
$dom get/setUnstructuredSolverAttribute TRexSpacingRelaxationFactor value
This attribute controls what type of cells a T-Rex generated domain will contain in the anisotropic region after generation.
$dom get/setUnstructuredSolverAttribute TRexCellType value
This action creates a new edge object.
pw::Edge create
This action adds a connector to the end of this edge.
$edge addConnector connector
This action adds an edge to the domain.
$dom addEdge edge
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 action creates an unstructured domain by triangulating this domain.
$dom triangulate ?-link? ?-unbalanced option? ?method?
This action gets the default projection direction for this domain.
$dom getDefaultProjectDirection