Skip to content

MeshTools::all_rbb() to generate IGA rational quadratic meshes#4442

Merged
roystgnr merged 33 commits into
libMesh:develfrom
roystgnr:nurbs_generation
May 26, 2026
Merged

MeshTools::all_rbb() to generate IGA rational quadratic meshes#4442
roystgnr merged 33 commits into
libMesh:develfrom
roystgnr:nurbs_generation

Conversation

@roystgnr
Copy link
Copy Markdown
Member

This needs proper test coverage before merging but I've been letting it sit in a separate branch for too long and I want to at least make sure it's not interfering with any CI builds.

This takes an interpolated quadratic Lagrange mesh and turns it into an
IGA (Rational Bezier-Bernstein) mapped mesh, assuming that all curves
are intended to be circular/cylindrical/spherical.
1D on the X axis is pointless, but 1D meshes embedded in 2D or 3D space
may still benefit from perfect circles.
@moosebuild
Copy link
Copy Markdown

moosebuild commented Apr 23, 2026

Job Coverage, step Generate coverage on 032e98a wanted to post the following:

Coverage

7e15ac #4442 032e98
Total Total +/- New
Rate 65.54% 65.61% +0.07% 100.00%
Hits 78457 78619 +162 120
Misses 41256 41211 -45 0

Diff coverage report

Full coverage report

This comment will be updated on new commits.

roystgnr added 2 commits May 19, 2026 10:49
I was about to stop capturing it, to fix an unused var warning, but this
is better.
@roystgnr roystgnr marked this pull request as ready for review May 20, 2026 14:14
Comment thread tests/mesh/all_rbb.C
Comment thread tests/mesh/all_rbb.C
Comment thread tests/mesh/all_rbb.C Outdated
Comment thread src/mesh/mesh_modification.C Outdated
Comment thread src/mesh/mesh_modification.C Outdated
Comment thread src/mesh/mesh_modification.C Outdated
roystgnr added 7 commits May 22, 2026 09:57
Thanks to Guillaume for catching these
This is still a hack I'm working on replacing, but now it's a *slightly
faster* hack!
Just because it's trivial doesn't definitely mean it's not broken!
Even a p=1 face can have a different volume if the vertex weights differ
and the face is embedded in 3D with non-coplanar vertices.
I'm not sure when we'll try using RBB polygons, but if we started now
we actually wouldn't need the specialization for this one.
roystgnr added 3 commits May 22, 2026 20:09
The R part is working but I didn't realize we'd never implemented the BB
part, and that'll be a separate PR.
I was trying to be clever with my if statements but I was missing out on
all sorts of complications; the code was fine but the tests weren't even
close.
Comment thread src/mesh/mesh_modification.C
Comment thread src/mesh/mesh_modification.C Outdated
@GiudGiud
Copy link
Copy Markdown
Contributor

btw I can't resolve threads with this level of permissions either

roystgnr and others added 4 commits May 26, 2026 09:19
Comment thread src/mesh/mesh_modification.C
@roystgnr roystgnr enabled auto-merge May 26, 2026 20:35
@roystgnr roystgnr merged commit c711c6a into libMesh:devel May 26, 2026
22 of 23 checks passed
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.

3 participants