Skip to content

fix: MeshDoctor: only keep faces in generateFracture where the matrix is actually split#250

Merged
jafranc merged 4 commits intomainfrom
fix/bd713/cleanFace
May 5, 2026
Merged

fix: MeshDoctor: only keep faces in generateFracture where the matrix is actually split#250
jafranc merged 4 commits intomainfrom
fix/bd713/cleanFace

Conversation

@bd713
Copy link
Copy Markdown
Contributor

@bd713 bd713 commented May 1, 2026

Problem

When building fracture meshes, __generateFractureMesh does not remove from its list ALL faces that are located where the matrix is not actually split.
This leads to fault element with no opposite-side cell, which crashes GEOS downstream.

This can happen at fracture intersections (both adjacent cells land on the same side of another fracture's duplication) and fracture tips (no duplication at all on the face), see screenshot below.

Fix

A candidate face is now kept only if the split algorithm assigns different node copies to the face's two adjacent 3D cells for at least one verte. If every vertex resolves to the same copy in both cells, the face is discarded.

Illustration before/after for fracture tips

image

@bd713 bd713 self-assigned this May 1, 2026
@bd713 bd713 added the type: bug label May 1, 2026
@bd713 bd713 requested a review from jafranc May 1, 2026 21:19
@jafranc jafranc added test-geos-integration Triggers the testing of geosPythonPackages import and integration in GEOS CI labels May 4, 2026
if fractureInfo.faceCellId != []: # The fracture policy is 'internalSurfaces'
faceCellId: list[ int ] = []
for ns, fId in zip( fractureInfo.faceNodes, fractureInfo.faceCellId ):
if any( map( isNodeDuplicated.__getitem__, ns ) ):
Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

wasn't it exactly np.any( isNodeDuplicated[ns] ) ?

@jafranc jafranc merged commit 7a3d3bb into main May 5, 2026
56 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

flag: ready for review test-geos-integration Triggers the testing of geosPythonPackages import and integration in GEOS CI type: bug

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants