hm_collisiongetconfig

Returns flags to be used for configuration of the collision detection.

Syntax

hm_collisiongetconfig keyword1 ?keyword2? ... ?keywordN?

Type

HyperMesh Tcl Query Command

Description

Converts keywords into a numerical value for the configuration of the collision detection module. The returned value is used for the config argument to hm_collisioninit or *collisioncheck2_temp.

One or more keywords can be provided. Valid keywords are:

Inputs

The following inputs are applicable to hm_collisioninit and *collisioncheck2_temp:
intersect_planar
If listed, consider coplanar facets which are partially/fully overlapping, within a given tolerance defined by hm_collisoininit, as intersected.
If not listed, do not consider these planar intersections (default for opcode engine). This is ignored by the collirad engine.
penetrat_min_overlap
If listed, consider only penetrations between two facets if they have an overlap greater than a given tolerance defined by hm_collisioninit (not compatible with the collirad engine).
If not listed, such penetrations are even reported if a node of one of the facets penetrates exactly onto the edge of the other facet (default).
This is ignored if any of the options edge_penetration, midside_nodes or split_quads are used in hm_collisionentitycreate.
The following inputs are applicable to hm_collisioninit only:
collirad
If listed, switches to the collirad collision detection engine, which is mainly based on Radioss algorithms, and provides an automatic fix.
If not listed, the default opcode collision detection engine is used, which supports some additional options, but does not support an automatic fix.
The following inputs are applicable to *collisioncheck2_temp only:
constant_gap
If listed, the thickness argument of *collisioncheck2_temp is used as a constant/uniform thickness. This is equivalent to passing thickness_type 0 to hm_collisionentitycreate.
If not listed, the thickness argument of *collisioncheck2_temp is used as a multiplier for the element thickness when using the collirad engine, or ignored when using the opcode engine
edge2edge
If listed, edge-to-edge penetrations are considered. This is equivalent to the edge_penetration flag in hm_collisionentitycreate.
If not listed, only node-to-surface penetrations are considered.
flat_boundary_shell_edge
If listed, configures the collirad penetration check to flatten the secondary nodes and main edges along shell external boundaries.
This is ignored for the opcode engine.
intersections
If listed, intersections are checked.
intersections_no_edge_on_face
If listed, configures the collirad intersection check to not report facet edges lying flush on facet faces as intersections.
This is ignored for the opcode engine.
neighborhood
If listed, configures the collirad penetration check to ignore penetrations of neighboring elements due to thicknesses being greater than element sizes. This corresponds to using the Iremgap 2 option in Radioss contact interfaces.
This is also equivalent to adding 100 to thickness_type for hm_collisionentitycreate.
If not listed, such undesired penetrations may be reported, but the check is faster.
This is ignored for the opcode engine.
penetrations
If listed, penetrations are checked.
restrict_segment_gaps_to_element_sizes
If listed, configures the collirad penetration check to restrict main and secondary thicknesses to the minimum of element sizes.
This is equivalent to adding 1000 to the thickness_type argument for hm_collisionentitycreate. This option overrides the option thick_reduction if both are listed. This is ignored for the opcode engine.
self
If listed, include self checks in *collisioncheck2_temp. This is equivalent to the self_check flag in hm_collisioncheck.
If not listed, self checks are not included (not compatible with the colirad engine).
thick_reduction
If listed, configures the collirad penetration check to restrict the thicknesses of the elements to 40% of their size each. This also avoids undesired penetrations of neighboring elements due to thicknesses being greater than element sizes. This corresponds to the behavior of some Radioss contacts.
This is equivalent to adding 200 to the thickness_type argument for hm_collisionentitycreate.
Ignored for the opcode engine.

Example

To configure the collision detection for planar intersections:

set config [hm_collisiongetconfig intersect_planar]
hm_collisioninit $config

Errors

Incorrect usage results in a Tcl error. To detect errors, you can use the catch command:
if { [ catch {command_name...} ] } {
   # Handle error
}

Version History

14.0

2017.1 - Updated the option descriptions to indicate their support for the opcode vs. collirad engines, and the hm_collisioninit and *collisioncheck2_temp commands. Added constant_gap, edge2edge, intersections, neighborhood, penetrations, self and thick_reduction options for *collisioncheck2_temp.

2019 - Added the option flat_boundary_shell_edge.

2020 - Added the option restrict_segment_gaps_to_element_sizes.

2021.2 - Added the option intersections_no_edge_on_face.