*getnodesinsidedomaintomark
Places the displayed nodes inside an element to the specified mark.
Syntax
*getnodesinsidedomaintomark nodes_mark element_id tolerance calcminlen
Type
HyperMesh Tcl Modify Command
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.
- calcminlen
- A flag to indicate if the calculation of minimum length should be exact. Can be either 0 or 1.
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
eval *createentity sets name=set1 ids=\{nodes [hm_getmark 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
}
}
eval *createentity sets name=PenetrationNodes ids=\{nodes [hm_getmark 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.
- 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.
- 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.