Manage Penetrations/Intersections

Check components or groups for element penetrations and intersections using the Penetration Check tool.

Penetration and intersection can be used individually or collectively. Penetration is defined as the overlap of the material thickness of shell elements, while intersection is defined as elements passing completely through one another.

  1. From the menu bar, click Tools > Penetration Check.
    Restriction: Only available in the Radioss, LS-DYNA, and PAM-CRASH user profiles.
    The Penetrations browser opens.
  2. Set up the Penetration Check and check for intersections/penetrations.
    1. In the Penetrations browser, click to invoke the collision setup widget.
    2. In the Check type field, select the type of collision to check.
    3. In the Entity type field, select the type of entity to be checked for intersections and/or penetrations.
    4. In the Selection field, select contacts (groups), components, or elements to check.
      Selecting one of more contacts will perform the penetration check according to the rules enforced by the solver. In any case, the penetrating elements will be found, and the results will display in the Penetration Browser. Results will be listed by pairs of components regardless of the entity type that was used to select penetration candidates.
    5. Use Minimum penetration depth to filter out penetrations with lower penetration depth values.
    6. Select a Thickness option.
      Restriction: Only available for Component checks.
      • Choose Component/Elements thickness to apply no adjustments as it uses the thickness value specified in a component’s property card for each element within that component.
      • Choose Thickness multiplier to multiply the selected entities' thickness by the value entered in the Thickness multiplier field for purposes of the penetration check. Fractional values are acceptable, but negative values are not.
      • Choose Uniform thickness to ignore the existing component's thickness, and instead uses the value entered in the Uniform Thickness field for all of the components in the model.
        Note: Use Uniform thickness as a workaround to the lack of thickness information in the default HyperMesh user profile, or when working with models that do not have a thickness specified.
    7. Select a Thickness > size option.
      Restriction: Only available for Component checks.
      • Ignore self-penetrations when thickness > elem size
      • Consider self-penetrations when thickenss > elem size
    8. To consider edge penetrations, select the Consider edge penetrations checkbox.
    9. Select a treatment algorithm for the boundary shell edge.
      • Choose Flat edges to consider external borders of the components flat.


        Figure 1. Flat Edges
      • Choose Rounded edges to extend external borders of the component by a cylinder having the diameter of the component thickness.


        Figure 2. Rounded Edges
    10. Click Check.
      Once the check is complete, the browser populates with detected intersections and/or penetrations.


      Figure 3.
  3. Review the penetrations/intersections using the view controls in the browser.


    Figure 4.
  4. Fix the penetrations/intersections.
    To fix Do this
    Manually
    1. Select groups/components to fix in the browser.
    2. Click on the collision toolbar. Additional tools display.


      Figure 5.
    3. Select the elements or nodes to move.
    4. Move and/or translate the selected elements/nodes.
    5. Click to recheck that the intersection/penetration no longer remains.
    Automatically
    1. Select groups/components to fix in the browser.
    2. Click on the collision toolbar.
    Tip:
    • If a component is intersecting with another, right-click on the component and select Find Matching Penetrating Component Pair from the context menu to find the same pair of components in the penetrations list. If the pair does not penetrate, a message will display.
    • To keep a specific component from changing when performing de-penetration fixes, right-click on that component and select Lock Component from the context menu. A red padlock displays on the component name in the browser to indicate that it has been locked. The nodes in a locked component cannot be moved by the Collision tool. To unlock, right-click a locked component and select Unlock Component from the context menu.


      Figure 6.
    • Sort the columns in the browser by clicking the column headings. For example, clicking the Violations heading sorts the parent components according to their number of violations. A small triangular arrow in the column heading indicates whether the components are sorted in ascending or descending order; repeated clicks toggle between these two options.

Penetration Check Browser

Overview of the Penetration Check Browser user interface.

Collision Toolbar

Option Description
Invokes the collision setup widget, which can be used to setup the Penetration Check and check for intersections/penetrations.
Reruns the collision check. This is recommended when you modify any attributes that control the collision check, or when a mesh modification has occurred.
Automatically attempts to fix the intersections/penetrations you have selected in the browser, based on the settings found in the Options dialog.

You can perform a fix on all of the intersections/penetrations listed in the browser, but it is highly recommended that all intersections are resolved before any automatic penetration fix is executed.

Enables you to manually fix intersections/penetrations. When selected, additional tools display in the browser that can be used to perform manual, rather than automatic, penetration fixes.
Exports the result of the collision run to a .txt or .csv file.

Nodes and nodes + element pairs are supported.

When multiple collisions are displayed in graphics area, click this button to identity the collision pairs in the collision browser after making a seletion in the graphics area.
Displays a node List for selected penetration that reports penetration depth (thickness minus residual distance), thickness, relative penetration, (penetration divided by thickness) and residual distance for all penetrating nodes.

View Controls

Button Action
Highlights all elements that caused penetrations or intersections when you select a component in the browser.
Makes all elements transparent (wireframe) except for the interacting elements of the component that you selected in the browser, which display in a solid color.
Displays a color gradient of the penetrating elements in the selected component, which indicates the severity (degree) of penetration for the interacting elements.

This mode is not available for intersections because their depth cannot be determined.

Displays a color gradient of relative penetrating elements.
Displays individual vectors for each penetrating element in the component that you select in the browser. These vectors indicate the direction and depth of penetration for both the selected component and its interacting components.

This mode is not available for intersections because their depth cannot be determined.

Fits the failed elements to the display.

In large models, this can be very helpful in finding and viewing small areas of minor penetration. Note that while this option is active, the view automatically fits to the penetrating elements of any component that you click in the browser. Click the option again to deactivate the fit mode.

Displays all elements, by unmasking all elements in the model, but not other masked entities such as model geometry.
Masks everything in the model except for components with penetrations or intersections. Note that this option only applies to components for which you have run the current penetration check; other components may be interacting, but if you have not run a check on them they do not appear as interacting, and they will be masked.
Masks everything in the model, including the interacting components, except for the specific elements that penetrate or intersect.


Masks everything in the model, including the interacting components, except for the specific elements and neighbors that penetrate or intersect.

Manual Fix Tools

Button Action
Select Elements By Tree. When enabled, clicking the lowest-level component in the browser selects all of its failed elements.
Select Elements Manually. When enabled, you can click each desired element belonging to the lowest-level component in the browser. This includes the ability to select non-failed elements or a sub-set of the failed elements.
Select Nodes By Tree. When enabled, clicking the lowest-level component in the browser selects all of the penetrating nodes in its failed elements. This differs from Select Elements By Tree in that individual nodes can be moved to fix a penetration, thus changing the shape of a failed element, instead of moving entire elements.
Select Nodes Manually. When enabled, you can click each desired node belonging to the lowest-level component in the browser. This includes the ability to select individual nodes of non-failed elements, or a sub-set of nodes belonging to the failed elements.
Determines the direction that you wish to manually move the selected nodes or elements. Click the small triangle, in the bottom corner, to select one of the following:
Move along the average normal of the selected elements, or related elements in the case of selected nodes.
Move along a fixed vector.
Move along the X axis.
Move along the Y axis.
Move along the Z axis.
Move along an already-existing vector entity in your model that you select.
Move along nodes in your model that you select to define the direction vector. If you pick two nodes, they define the direction. If you pick three nodes, the direction is the normal of the plane that these three nodes define (picking more than three nodes uses only the last three picked.)
Moves the selected nodes/elements by the negative amount specified in the numeric text box.
Moves the selected nodes/elements by the positive amount specified in the numeric text box.

Overview

The new Penetration Check tool in HyperMesh is designed to mimic the respective Finite Element solver on hand to the maximum extent possible. This way, identified initial penetrations are almost identical to those detected by the solvers themselves.

Most Finite Element solvers encounter two types of collisions: Penetrations and Intersections.

Penetrations

Penetrations themselves are broadly divided into two categories: Node to Segment and Edge to Edge penetrations. Most commercial Finite Element solvers offer interfaces that are Node to Segment only, or Edge to Edge only, or more often than not, a combination of Node to Segment and Edge to Edge.

Node to Segment Penetrations
A node to segment penetration is encountered when a slave node is spatially located within the thickness of a master segment:


Figure 7.

Such penetrations are usually reported by solvers as “node to surface” penetrations. During penetration checks, a slave node is a sphere with its diameter numerically equal to the maximum thickness of all slave segments it is attached to.

The "Gap" used for detection of penetration = (Slave node thickness / 2) + (Master segment thickness / 2)


Figure 8.
In order to accurately identify nodal penetrations at segment boundaries, like most commercial Finite Element solvers, the Penetration Check tool adds virtual cylinders to the edges of segment boundaries as shown below:


Figure 9.
Penetrations are also encountered when slave nodes impact virtual cylindrical edges of master segments:


Figure 10.
Some solvers report such penetrations separately as “node to edge,” while others bundle them together with “nodes to surface” penetrations.
Flat boundary shell edges treatment: During nodes to surface penetration checks, some modern contact interfaces provide parameters to disable the addition of virtual cylinders on free/boundary edges of shell elements (along free edges of shell components).
With this, it is possible to identify ‘true’ penetrations at free edges of shell components since the checks are now performed on geometries that accurately represent the physical model.
For such modern interfaces in the Penetration Check tool:
  • No virtual cylinders are added to the free/boundary edges of master shell elements.
  • For slave nodes of shell elements, the portion of the slave node spheres that lie outside the material of the shell elements are ignored.


    Figure 11.
Note: A slave node sphere should not be attached to more than two free/boundary shell edges. If attached to more than two, the slave node sphere will be retained fully.
Edge to Edge Penetrations
Edge to edge penetrations are those that occur when two distinct virtual edge cylinders of segments (that do not share a common node) interfere with each other.


Figure 12.
Most solvers identify and report such penetrations distinctly as "Edge to Edge" penetrations.
Special Use Case
Self-penetrations due to extremely thick segments. Some interfaces contain segments with large thicknesses (when compared to segment edge lengths). Depending on the type of penetration check performed, you might encounter penetrations within the same component.
In a node to surface check, the slave node sphere of one element penetrates the virtual cylinder of the neighboring master segment.


Figure 13.
In an edge to edge check, two virtual cylinders on opposite edges of the same segment penetrate each other.


Figure 14.
Some solvers offer one or both of the following remedies to deal with the above issues when they are encountered during Node to Surface checks:
  • Ignore penetrations within the neighborhood of a slave node. Penetrations between a slave node and master segments in its immediate neighborhood within the same component are ignored. In Radioss, this method can be activated for /INTER/TYPE7 type interfaces by setting 'IREM_GAP = 2'. This method, if activated in the Penetration Check tool, will impose significant computation overhead, thereby impacting the performance of the tool.
  • Reduce thickness of master segments by a specified factor. This can be seen in LS-DYNA single surface contacts, where the thickness is reduced to 40% of the minimum edge length of the segment.

Intersections

Intersections are formed when an edge of an element crosses the mid surfaces/faces of other shell elements/solid elements, respectively.


Figure 15.

Intersection checks are not a function of solver parameters and are, therefore, user-profile agnostic.

Intersections are not reported by most solvers. However, their presence will lead to severe issues during analyses, and should therefore be avoided at all costs.

Components and Groups (Contacts) Checks

The Penetration Check tool is useful for checking components for the Radioss, LS-DYNA, and PAM-CRASH user profiles.

Perform a Penetration Check

In this task you will learn how to perform a penetration check using the Penetration Check tool.

Before performing the following steps, make sure you are in HyperMesh Desktop, and that you have a model file open.
Note: The Penetration Check tool is only available within the Radioss, LS-DYNA, or PAM-CRASH user profiles.
  1. To display the Penetrations Browser, select Tools > Penetration Check from the main menu.
    The Penetrations Browser displays. The Entity Editor displays beneath it. If you do not see the Entity Editor, you can display it using the Invoke Penetration Check Setup Widget button ().
  2. In the Entity Type field, select Components.
    The Entity Editor will display as in the following image:


    Figure 16.
  3. Set each value in the editor according to the following options:
    Check type
    Can be set to Intersections, Penetrations, or Intersections and penetrations.
    Entity type
    Can be set to Groups (Contacts) or Components, or elements.
    Selection
    Set this to the selection of components to check for collisions.
    Thickness option
    Applicable to penetration checks only. Specifies the gap within which penetrations should be detected. Available options are:
    • Component Thickness: (Master element or component thickness / 2) + (Slave element or component thickness / 2)
    • Thickness Multiplier: (User specified multiplication factor) * ((Master element or component thickness / 2) + (Slave element or component thickness / 2))
    • Uniform Thickness: value specified by user
    Thickness > size option
    Applicable to "Node to Surface" penetration checks only. Specifies what should be done with penetrations between slave nodes and master segments with extremely large thickness values. Available options are:
    • Ignore self-penetrations when thickness > element size. Ignores penetrations within the neighborhood of a slave node.
    • Consider self-penetrations when thickness > element size. Reports all detected penetrations including those within the same component.
    Consider edge penetrations
    Applicable to penetration checks only. If this option is checked, a combined "Node to Surface" and "Edge to Edge" penetration chick is performed. If unchecked (which is the default), only a "Node to Surface" check is performed.
    Note: Reported results will not distinguish between "Node to Surface" and "Edge to Edge" penetrations. They are reported as one generic penetrating slave node.
    Boundary shell edge treatment
    Applicable to "Node to Surface" penetration checks only. Specifies whether the free/boundary edges of shell elements must be flattened. Available options are:
    • Flat edges: flattens the free/boundary edges of shell elements so that the detected penetration results honor the true geometry of the model.
    • Rounded edges: retains virtual cylinders at the free/boundary edges of master shell elements, and also retains fully spherical free/boundary shell edge slave nodes.
    Note: Reported penetration results match most solver results to a greater degree than when edges are flattened.
    Thickness multiplier
    Applicable to Groups (Contacts) penetrations checks only. This is an optional multiplication factor that can be applied to the contact gap as it is computed.

Supported Solver Contacts and Parameters

In this section you will find contact and parameter information for the LS-DYNA, PAM-CRASH, and Radioss solver cards.

LS-DYNA Solver Contacts

Table 1.
Group Type Node to Surface Edge to Edge N2S Treatment when thickness > edge length
SINGLE_SURFACE Yes No Optional, 40% of minimum edge length
AUTOMATIC_GENERAL Yes Yes Optional, 40% of minimum edge length
NODES_TO_SURFACE Yes No None
SURFACE_TO_SURFACE Yes No None
SINGLE_EDGE No Yes N/A

PAM-CRASH Solver Contacts

Table 2.
Group Type Node to Surface Edge to Edge N2S Treatment when thickness > edge length
CNTAC Type 33 Yes No Ignore neighborhood penetrations
CNTAC Type 34 Yes No Ignore neighborhood penetrations
CNTAC Type 36 Yes No Ignore neighborhood penetrations
CNTAC Type 37 Yes Yes Ignore neighborhood penetrations
CNTAC Type 43 Yes Yes Ignore neighborhood penetrations
CNTAC Type 46 Yes Yes Ignore neighborhood penetrations

Radioss Solver Contacts

Table 3.
Group Type Node to Surface Edge to Edge N2S Treatment when thickness > edge length
/INTER/TYPE7 Yes No Optional, ignore neighborhood penetrations
/INTER/TYPE11 No Yes N/A
/INTER/TYPE19 Yes Yes N/A
/INTER/TYPE24 Yes Yes N/A

LS-DYNA Solver Parameters

Table 4.
Entity Solver Parameters
*CONTROL_CONTACT TH, TH_SF, SSTHK
*CONTROL_SHELL CNTCO
*CONTACT SST, SFST, MST, SFMT, SLDTHK, SOFT, THKOPT, SHLTHK, SHLEDG, SRNDE, MSTYP, SSTYP
*PART OPTT, SFT
*SECTION_SHELL T1, NLOC
*ELEMENT_SHELL THIC1, THIC2, THIC3, THIC4, OFFSET

PAM-CRASH Solver Parameters

Table 5.
Entity Solver Parameters
CNTAC / Hcont, ITPRT
PART / TCONT, H
SHELL / H
TSHEL / H

Radioss Solver Parameters

Table 6.
Entity Solver Parameters
/DEFAULT/INTER/TYPE7 IGap, IRem_Gap
/DEFAULT/INTER/TYPE11 IGap
/DEFAULT/INTER/TYPE19 IGap
/DEFAULT/INTER/TYPE24 IPen0, Inacti
/INTER/TYPE7 IGap, GapMin, GapMax, FScaleGap, IRem_Gap, %Mesh_Size
/INTER/TYPE11 IGap, GapMin
/INTER/TYPE19 IGap, GapMin, GapMax, FScaleGap
/INTER/TYPE24 IPen0, Grnod_Ids, GapMax_S, GapMax_M, PenMax, Inacti
/PART Thick
/PROP Thick
/SHELL Thick
/SH3N Thick

Node List for Selected Penetrations

After performing penetration checks, detailed information regarding penetrating slave nodes can be viewed in the node list for selected penetrations.

You can view the node list by clicking the Node list for selected penetrations button on the Penetration Check browser toolbar (). The node list looks similar to the following image:


Figure 17.
The list contains information on all penetrating slave nodes from the Components Pair(s)/Group(s) selected in the Penetrations Check browser. The five columns in the table contain the following information:
Node ID
IDs of the penetrating slave nodes.
Pene. Depth
The maximum penetration depth for each slave node listed.
Thickness
The gap (or thickness) value corresponding to the maximum of all penetration depths for each slave node listed.
Rel. Pene
The relative penetration value for each slave node listed. Relative Penetration = Penetration Depth / Thickness.
Res. Dist
The residual distance (or physical distance) between the mid-plane of the master segment and the center of the slave node sphere.
If a slave node impacts multiple segments (from a "Node to Surface" check) and/or belongs to an edge that impacts multiple edges (from an "Edge to Edge" check):
  • The slave node is listed only once (despite multiple penetrations of multiple entities)
  • The information listed against it corresponds to the maximum of all its penetration depths
If a more comprehensive report of each and every impact of a given slave node is required, such a report can be written out to a plain-text file by clicking on the List of Node-Elem Pairs in TXT Format button in the Penetration Check browser toolbar.


Figure 18.

Note that the plain-text report does not distinguish between Node to Surface and Edge to Edge penetrations. In both cases, the report provides pairs of slave nodes and their impacted master elements. For solid master elements, indices of impacted faces are also included.