2. Repair T-Junctions at Shell Intersection

What a T-junction looks like in a shell mesh

A T-junction occurs when the edge of one shell element terminates on the interior of another element's edge rather than at a shared node. In HyperMesh this shows up as a node sitting on a mid-edge position of a neighbouring element, with no coincident node on that neighbour. The two surfaces are geometrically touching, but topologically they are disconnected: the terminating edge contributes a free edge, and the through-edge carries a node that the adjacent element does not share. Loads and boundary conditions will not transfer across that seam, and a solver run will either report a singularity or silently produce a non-conformal result.

This is distinct from a plain free edge. A free edge is a boundary of the model; a T-junction is an internal discontinuity that should not exist. The diagnostic therefore has to answer two questions: where do shell edges meet mid-element, and which of those meetings are legitimate (a modelled boundary) versus a defect (an unintended T-junction)?

Detecting the T-junction set

Work from the edge topology rather than from visual inspection. The reliable sequence in HyperMesh is:

  1. Run Edges (or Find Edges) with the free-edge display enabled to collect all edges that have only one attached element.
  2. For each free edge, check whether its endpoints lie on the interior of another element's edge. A node that is shared by two elements but sits mid-edge on a third is the signature of a T-junction.
  3. Use Nodes > Find with a small tolerance to list nodes that are coincident with, or within tolerance of, an element edge but not connected to it. This separates true T-junctions from nodes that are merely close.

Two practical checks make the result trustworthy. First, confirm the tolerance is smaller than the shortest legitimate element edge, otherwise you will merge across intended gaps. Second, verify the node count on the through-edge: a T-junction adds one node to that edge without splitting the element, so the element still has its original node count while the terminating edge has an extra free node.

Before repairing, save the model state or work on a copy. Equivalence and split operations are topology changes and are not always trivially reversible on a large mesh.

Choosing between equivalence and split

There are two legitimate repair strategies, and the correct choice depends on whether the through-element can accept a node at the junction position.

Equivalence (merge) path. If the terminating edge's end node can be merged onto a node that already exists on the through-edge, use Tool > Edges > Equivalence (or Nodes > Equivalence) with a tolerance just above the measured gap. This is the cheapest fix and preserves element count. It only works when the through-edge already has a node at the junction location; if it does not, equivalence will either fail or pull the node to the nearest existing node and distort the element.

Split path. When the through-edge has no node at the junction, split the through-element at the junction position so a shared node is created. In HyperMesh this is done with Tool > Edges > Split (or the Split panel on the element), selecting the through-element and the junction node as the split point. The element is divided, the new node is shared with the terminating edge, and the seam becomes conformal. This changes element count and local quality, so re-run the quality check afterwards.

T-Junction: detect, classify, repair Defect: edge ends mid-element junction node through-edge, no node here Does through-edge have a node at junction? Yes → Equivalence No → Split element Conformal result shared node no free edge at seam Verification after repair 1. Re-run Edges: the seam must no longer appear as a free edge. 2. Check node count on the through-edge: split adds one shared node; equivalence adds none. 3. Re-run quality check (Jacobian, aspect ratio) on elements touched by the split. 4. Confirm no coincident-but-unmerged nodes remain within tolerance.

Worked example: a bracket flange meeting a web

Consider a simplified bracket: a horizontal flange shell and a vertical web shell that meet along a line. The flange mesh has an edge that terminates at a node sitting on the interior of a web element edge. The measured gap between the terminating node and the nearest web node is 0.4 mm; the shortest legitimate element edge in the model is 6 mm.

Set the equivalence tolerance to 0.5 mm — above the 0.4 mm gap, well below the 6 mm minimum edge. Run Nodes > Equivalence. If the web edge already carries a node within 0.5 mm of the junction, the merge succeeds and the seam becomes conformal. If it does not, equivalence will report no match or will pull the node to a distant node and distort the web element; in that case, undo and switch to the split path: select the web element, choose the junction node as the split point, and split. The web element is divided, the junction node is now shared, and the flange edge is no longer free.

After either repair, re-run the edge check. The seam should disappear from the free-edge set. Then re-run the quality check on the elements adjacent to the junction: a split can introduce a small element or a skewed corner, and a merge can shift a node slightly. Flag any element whose Jacobian or aspect ratio falls outside the criterion set before accepting the repair.

Failure symptoms and how to read them

SymptomLikely causeAction
Equivalence reports no matchNo node on the through-edge within toleranceUse the split path instead
Element distorts after mergeTolerance too large; node pulled to a distant nodeUndo, reduce tolerance, re-check gap
Seam still shows as free edgeSplit point not on the through-edge, or wrong element selectedRe-select the through-element and junction node
New coincident nodes appearSplit created a node that duplicates an existing oneRun equivalence on the new node pair
Quality flags after splitSplit produced a thin or skewed elementRemesh locally or adjust split position
Do not run a global equivalence with a large tolerance to "fix" T-junctions. It will merge legitimate gaps elsewhere in the model and collapse intended clearances. Repair T-junctions locally, one seam at a time, and verify each repair before moving on.

Quick reference for the repair decision

  • Node exists on through-edge within tolerance → equivalence, tolerance just above measured gap.
  • No node on through-edge → split the through-element at the junction node.
  • After any repair → re-run edge check, confirm seam is no longer free, re-run quality check on touched elements.
  • Tolerance rule → always smaller than the shortest legitimate element edge in the region.

The repair is complete when the seam no longer appears in the free-edge set, the junction node is shared by both shells, and the adjacent elements still pass the quality criteria. Anything short of that is an unresolved T-junction that will surface again at solve time.