*getnodesinsidedomaintomark

Places the displayed nodes inside an element to the specified mark.

Syntax

*getnodesinsidedomaintomark nodes_mark element_id tolerance calcminlen

Type

HyperMesh Tcl Modify

Description

Places the displayed nodes inside an element to the specified mark.

Inputs

nodes_mark
The mark to which the nodes must be placed. Must be 1 or 2.
element_id
The element ID within which the nodes are to be found. Can only be a 2D or 3D element.
tolerance
Out-of-plane tolerance value, which should be between 0 and 1.
For more information, see Comment 1.
calcminlen
A flag to indicate if the calculation of minimum length should be exact. Can be either 0 or 1.
For more information, see Comment 2.

Example

To find the nodes inside an element of ID 101 and place them in an entity set:
*createmark(nodes,1) 
*getnodesinsidedomaintomark(1,101,0.001,0)
*entitysetcreate(set1,nodes,1)
Note: The first command above (*createmark) clears all the nodes from the specified mark.
This is an example of the usage of the command in Tcl. The following code finds nodes inside each and every displayed hexa8 element in a model and then creates an entity set containing all those nodes.
*createmark elements 1 displayed
*createmark nodes 1
set elemlist [hm_getmark elems 1]
foreach elem $elemlist {
  set config [hm_getvalue elements id=$elem dataname=config]
  if { $config == 208 } {
*getnodesinsidedomaintomark 1 $elem 0.001 0
  }
}
*entitysetcreate "PenetrationNodes" nodes 1
For 2D elements, the tolerance value helps in capturing nodes that are close to, but lie outside the plane of the element. In the case of 3D elements, this value is applied in turn to each face of the element to capture out-of-plane nodes.
Note: In these types of situations, you may either have to adjust the tolerance values to get the desired nodes, or manually add/remove nodes, as necessary.
  1. The calcminlen flag is used to determine if there are nodes very close to the edge of a solid element, and almost collinear to it. In most cases, setting this value to 0 should be adequate. Setting the value to 1 slows down the execution of the command.
  2. If this command is used while working on a large model, or if this command is being called repeatedly in a macro, it is highly recommended to turn off the display of portions of the model that are known to be completely outside of the domain (element) where the nodes are needed. Since this command works on the displayed nodes and elements of the model, the speed of the command is greatly increased.