-
Notifications
You must be signed in to change notification settings - Fork 1.1k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Libmesh update 20250304 #30042
Libmesh update 20250304 #30042
Conversation
Yeah, those runtime |
Job Documentation, step Docs: sync website on 077bbab wanted to post the following: View the site here This comment will be updated on new commits. |
Job Coverage, step Generate coverage on 077bbab wanted to post the following: Framework coverage
Modules coverageMutiple base shas were found when retrieving head reports: Full coverage reportsReports
Warnings
This comment will be updated on new commits. |
- Quadrature API changes. A few virtual `QBase` methods have had changed signatures, and some methods have been deprecated in favor of newer versions, requiring `Elem` inputs rather than mere `ElemType` inputs, to enable support for elements like arbitrary polygons and polyhedra where a single class can take on different topologies at run time. - `FE` and `FEInterface` API changes. Some methods have been deprecated in favor of newer versions, either in `Elem` or taking an `Elem` rather than an `ElemType` argument, also for runtime-topology compatibility. - Add APIs to control `System` name prefixing from C++, not just from the command line. This will enable fixes for a MOOSE bug with independent preconditioning of multiple nonlinear systems, affecting the optimization module. - Added an `integrate_slits` option to `JumpErrorEstimator`-based estimators - Added an `OverlapCoupling` ghosting functor, useful for integrating on slit meshes or between manifolds of overlapping meshes. - Bug fix: `DistributedMesh::add_point` now operates correctly when given a node id that was recently deleted from the mesh but has not yet been cleaned from the internal node container. - Bug fix: `Prism6::build_side_ptr()` now sets `subdomain_id()`; this fixes a failure in adaptive mesh refinement of Prism6 elements with subdomain-restricted variables. - Bug fix: methods which elevated mesh element order no longer renumber nodes and elements while doing so. This fixes potential iterator invalidations in some use cases, and it's more efficient. - Bug fix: when copying nodes and elements from a source mesh into a target `DistributedMesh` that is too small to use all its processors, the target mesh was left in an invalid state. This fixes errors triggered by certain mesh stitching operations. - Bug fix for range estimation bug in FParser optimizer - Minor FE code refactoring for more simplicity and readability - Minor optimization to some hash (and thus `unordered_map`) use cases - Cleaned up and commented code with high-precision floating-point constants Refs #0
9d5194c
to
f18838d
Compare
Already?! |
We needs it |
ETA on this? |
Hopefully this week, but definitely not soon at this rate. I'm still working through the upgrades for |
sporadic failure |
i ll try to patch this |
libMesh::FEInterface::inverse_map is now deprecated.
The former function is now deprecated as redundant
This is also a little faster, skipping an unnecessary test. This is *broken* if users try to use a sufficiently higher quadrature order on faces than on interiors for some reason, but in that use case the existing code was broken too. Fixing this without a performance regression in typical use cases is going to require a new libMesh API.
We need n_dofs() with an actual Elem if we want to be able to handle polyhedra where the result depends on more than just the ElemType
I'm not looking forward to this breaking when someone tries to get_xyz() or something, but I can't justify adding even a little more expense in an inner loop based on a hypothetical future possibility.
945292b
to
3f4285c
Compare
3f4285c
to
077bbab
Compare
Job Precheck, step Versioner verify on 077bbab wanted to post the following: Versioner templatesFound 16 templates, 0 failed Versioner versionsFound 10 packages, 2 changed, 0 failed
|
Job Modules parallel on 077bbab : invalidated by @roystgnr Kicking "Modules parallel" - "test:finite_volume/ins/turbulence/lid-driven.lid_driven_turb_capped/result_physics: Solve Did NOT Converge!" from a "distributed threads" step |
Job Coverage, step Verify coverage on 077bbab wanted to post the following: The following coverage requirement(s) failed:
|
The coverage errors here are the usual "Multiple base SHAs" issue |
Let's leave the final merge to @milljm |
@@ -863,3 +863,34 @@ fd5f7bc651f0d6a8e2d23e5d4c2c2dadca58aa0b: #29978 | |||
wasp: | |||
full_version: 2025.02.25_0 | |||
hash: 46ea1c0 | |||
9c3c8d833ce9c5d8fbb748dc6b870a075f4b2827: |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Noted that this is missing a ticket number comment while rebasing #29984. Will add in a commit in that PR for completeness.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This must be something missing in --build-template
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I thought the specific ticket number was something we should be adding manually after copy-pasting the versioner.py --summary
output into versioner_hashes.yaml
.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
You're right. I never scrolled that far in the wiki instructions 😆 I do think that this third step should also be somehow automated and included in --build-template
QBase
methods have hadchanged signatures, and some methods have been deprecated in favor
of newer versions, requiring
Elem
inputs rather than mereElemType
inputs, to enable support for elements like arbitrarypolygons and polyhedra where a single class can take on different
topologies at run time.
FE
andFEInterface
API changes. Some methods have beendeprecated in favor of newer versions, either in
Elem
or taking anElem
rather than anElemType
argument, also for runtime-topologycompatibility.
System
name prefixing from C++, not just fromthe command line. This will enable fixes for a MOOSE bug with
independent preconditioning of multiple nonlinear systems, affecting
the optimization module.
integrate_slits
option toJumpErrorEstimator
-basedestimators
OverlapCoupling
ghosting functor, useful for integratingon slit meshes or between manifolds of overlapping meshes.
DistributedMesh::add_point
now operates correctly whengiven a node id that was recently deleted from the mesh but has not
yet been cleaned from the internal node container.
Prism6::build_side_ptr()
now setssubdomain_id()
; thisfixes a failure in adaptive mesh refinement of Prism6 elements with
subdomain-restricted variables.
renumber nodes and elements while doing so. This fixes potential
iterator invalidations in some use cases, and it's more efficient.
target
DistributedMesh
that is too small to use all its processors,the target mesh was left in an invalid state. This fixes errors
triggered by certain mesh stitching operations.
unordered_map
) use casesconstants
@lindsayad was hoping to get one more libMesh PR squeezed into this, and we can wait for that before merging, but I want to get the API changes into CI right away and see what surprises may be in store.