Our website uses cookies. By using the website you agree ot its use. More information can be found in our privacy policy.

Find and remove initial penetrations

Here you will learn how to find and remove crossed edges and initial penetrations in a LS-DYNA keyword model using LS-PREPOST 2.0 after 2005-11-05.

What is a penetration?

Crossed edges

The case where an edge of an element crosses another shell element mid surface, or face on a solid element, is not a penetration in a classical sense in LS-DYNA. But these mesh errors might lead to severe problems when running an analysis in LS-DYNA so it is very important that such modeling is avoided. Figure 1 shows a case where two shell element crosses each other. The contact thickness of the elements including the virtual contact cylinders on the edges of the shell is displayed. Crossed edges are shown in red color. This is not considered as a penetration.


Figure 1. Crossed edges

Node-edge penetration

All *CONTACT_AUTOMATIC contacts in LS-DYNA includes a virtual contact cylinder around each edge. A node can penetrate such virtual contact cylinder. This is considered as a penetration.


Figure 2: Node penetrating an shell edge

Edge-edge penetration

Some contact definitions in LS-DYNA, such as *CONTACT_GENERAL includes edge to edge contact. For these kind of contacts, the following images shows edge to edge penetrations.


Figure 3: Shell edge to edge penetration (and crossed edge situation)


Figure 4: Shell edge to edge penetration (but no crossed edges)

Node-surface penetration

If a node is within contact distance to a shell there is a penetration.


Figure 5: A node is penetrating a shell element

A node inside a solid element is also a penetration.


Figure 6: A node penetrating a solid element

Finding crossed edges in LS-PREPOST 2.0

The function to find and remove initial penetrations exist in panel 5, IniPene. The hood on the C2500 NCAC model will be used for demonstrating IniPene functions.


Figure 7: The hood of NCAC C2500 model

Check for crossed edges

The first thing to do is to ensure that no crossed edges exists. This is what is set as default action in the IniPene interface when entering the panel. Select the parts you wish to check for crossed edges and click "Check" at the bottom of the interface.


Figure 8: The IniPene interface

Even self intersecting parts will be detected in LS-PREPOST. 21 crossed edges are found on the two parts on the hood. The edges that cross other elements are highlighted, see image below. The highlighted crossed edge can be visually turned off by untoggle "Show: CE" (CE = crossed edges).


Figure 9: Crossed edges on C2500 hood

Remove crossed edges

To remove the crossed edges, toggle the "Flip Node" and pick the nodes that are on the wrong side, here nodes 84462 and node 84464 are shown to be on the wrong side.


Figure 10: Crossed edges on the front of the hood

When a node is picked in the "Flip Node" mode, it is moved to the other side of the closest visible element. It is moved in the direction of the closest point on the closest visible element and moved (t1+t2)/2. past the mid surface.


Figure 11: The two nodes at the front have been flipped to the opposite side.

Select all nodes that should be flipped to the opposite side and redo the crossed edge by Selecting Parts and click "Check", to ensure that all crossed edges are removed. The hood is now free from crossed edges.

Penetration check

In LS-PREPOST you can choose to check penetrations on selected parts by toggle the "Select Parts" OR you can check existing contact definitions in the keyword file by toggle the "*CONTACT_" and select the contact you wish to check from the list of contacts. Penetrations are checked for shell, beam and solid elements.

Penetration check by "Select Parts"

This option is useful if you not yet have created any contact definitions. Contact thickness for this check is taken from section card data unless the "Thickness" toggle is activated. If "Thickness" is toggled, all shell and beam elements will get the user-specified contact thickness, solid elements have zero thickness. The check that is performed follows the same rules as *CONTACT_GENERAL would do, i.e. it will check for node-to-surface, free_edge-to-free_edge and node to edge penetrations for all parts to all parts (including self contact).

Penetration chek by CONTACT

By selecting a contact from the list of defined contact in the model, the elements included in the contact are displayed and the check is performed by taking care of all parameters that affects the contact thickness (SST, MST, SFST, SFMT, SHLTHK, SLDTHK, SSTHK, OPTT, SFT, TH, TH_SF) and which nodes/elements is to be checked against penetration to which elements.

Penetration check on the hood of C2500 model

Selecting the two parts on the hood and activating the "Penetration" toggle displays penetrating nodes with white squares and arrows proportional to the penetrating distance. 25 node to surface and 12 edge to edge penetrations are reported together with the maximum penetration distance. Nodes on edge to edge penetrations are reported in the same way as a node to surface penetrations. The displayed penetrations can be visually turned off by untoggle "Show: Pen." (Pen. = Penetrations)


Figure 12: Penetrations on C2500 hood

Removing initial penetrations in LS-PREPOST

Penetrations can automatically be removed by moving the penetrating nodes in the direction away from the penetration. In LS-PREPOST you can move the penetrating nodes a percentage of the per node penetrating distance. The default is to move 100% of the penetration distance. This will move a node, such as the one shown in Figure 5, exactly out of penetration. No more no less.

But if two shell elements are parallel and penetrating, as shown in Figure 13, and nodes all penetrating nodes are moved 100% of the penetrating distance there will be a gap between the two elements. In this case, moving 50% of the penetration distance moves the nodes just out of penetration. To be sure that no gap remains after removing penetrations, use "Move 50% of pene." and let LS-PREPOST iterate until all penetrations are removed.


Figure 13: Two parallel shells penetrating each other

Any nodes can be prohibited to move during automatic fixing of penetrations in LS-PREPOST. This is done by toggle the "Lock Nodes" and select the nodes that you don't allow LS-PREPOST to move. These nodes will not be moved by LS-PREPOST. For the hood example, all nodes on the outer part is locked by toggle "Lock Nodes" and select the nodes By Part, pick the part, then click "Fix" and LS-PREPOST will move all penetrating nodes that are not locked out of penetration. The hood is now free from penetrations.

If a node is locked and penetrates another element, the nodes on the penetrated element are moved so that the locked node becomes free from penetration. For example, the penetrating node in Figure 14 is locked by the user, then all nodes on the lower elements are moved down out of penetration the same distance as the locked node would had been if it was not locked. This is the only case where non-penetrating nodes are moved.


Figure 14: A locked node penetrates a shell element