Skip to content

Add Polygon/Polyhedron NSIDED/NFACED ExodusII output#4490

Open
ConnorOuellette wants to merge 5 commits into
libMesh:develfrom
ConnorOuellette:c0polyhedron-exodus-nfaced
Open

Add Polygon/Polyhedron NSIDED/NFACED ExodusII output#4490
ConnorOuellette wants to merge 5 commits into
libMesh:develfrom
ConnorOuellette:c0polyhedron-exodus-nfaced

Conversation

@ConnorOuellette

Copy link
Copy Markdown

Summary

This adds ExodusII output support for libMesh’s arbitrary polygon and polyhedron elements:

  • writes C0POLYGON elements as Exodus NSIDED blocks
  • writes C0POLYHEDRON elements as Exodus NFACED blocks
  • emits the associated face block, face-node connectivity, face counts, element-face connectivity, and element face counts needed for NFACED output

Notes

  • If using ParaView, the default IOSS Reader does not support polygonal/polyhedral input. Please use the Legacy Exodus Reader.
  • Fixed an error with build_cube() where corner nodes were scaled twice

@roystgnr roystgnr left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

I'd have split this into like 6 commits instead of 2 (re-bootstrap should be separate, tests could be separate, additional build_cube option should be separate), but the contents look mostly solid. That hardcoded block id (unless I'm just misunderstanding?) is the only thing that looks wrong.

Comment thread src/mesh/exodusII_io_helper.C Outdated
Comment on lines +90 to +91
int num_face_blk;
int num_face;

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

These additions look like The Right Way To Do It to me, but I'll want to give @jwpeterson time to chime in before merging; IIRC the ExodusHeaderInfo refactor was an addition of his for Akselos usage.

Comment thread src/mesh/exodusII_io_helper.C Outdated
Comment thread src/mesh/exodusII_io_helper.C
Comment thread src/mesh/mesh_generation.C
Comment thread src/mesh/mesh_generation.C Outdated
@ConnorOuellette ConnorOuellette requested a review from roystgnr July 13, 2026 22:02
@roystgnr

Copy link
Copy Markdown
Member

Looks like you turned on some auto-code-reformatting option in your editor? That works within MOOSE, so long as you're pointing clang-format to the MOOSE config file and you're using the right clang-format version, but libMesh doesn't use the same (or any clang-format config-describable) formatting standards, and auto-reformatting utterly wrecked your ff02c5c commit. I can't find the needle of the actual changes in the 4000-line haystack of the reformatting.

As a general safety rule, never git add some/file or git commit -a without git diff to look at the changes first to make sure you're not committing anything you didn't mean to. Even in repos like MOOSE where CI will block formatting changes, it's still easy to accidentally commit diagnostic code, accidentally put multiple distinct changesets into a single commit, etc.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants