Skip to content

Conversation

roystgnr
Copy link
Contributor

@roystgnr roystgnr commented Feb 6, 2025

Update libMesh submodule:

  • Bug fix: normals vectors at the sides of edge elements in 3D, which were previously hard-coded to return (-1,0,0) and (1,0,0) at points 0 and 1 respectively (the correct solution only for x-axis-aligned edges), are now correctly calculated for all edges in 2D/3D. Compatibility with this fix required a corresponding fix in one MOOSE application; developers of any applications not in MOOSE CI who use non-x-axis-aligned edge elements may wish to test their codes for result changes with this update.
  • Bug fix: H(curl) and H(div) element calculations are now correct on 2D elements embedded in 3D space and not parallel to the xy plane.
  • Bug fix: Some TIMPI communications of "packed-range" data (data with variable-size data types), when given enough input data (typically ~4MB by default) to split between multiple buffers and given an output iterator that requires correct incrementation, were not correctly preserving that iterator from one buffer to the next. This has been fixed.
  • Command line option --mpi-thread-type to manually choose between "single", "funneled", "serialized", and "multiple" MPI initialization threading options. Initialization still defaults to "funneled" (for maximum compatibility with older MPI implementations), but users of slate/strumpack may need to specify "multiple" for compatibility with those packages.
  • PetscMatrix support for hash-table-based matrices with newer PETSc versions. This will allow MOOSE much more flexibility in problems (e.g. contact) where a priori determination of matrix sparsity patterns is difficult.
  • Fixes for HYPRE_SetMemoryLocation in more complicated (e.g. field split) configurations
  • Removed contrib/boost, which was a version incompatible with C++17. libMesh codes (including MOOSE) which require boost now must have an external boost installation to use.
  • Support for and compiler flag selection for configuring libMesh with newer Intel compilers
  • MeshTools::n_connected_components() function to count the number of connected components in a mesh
  • Added operator[] for DenseVector. This is more consistent with other vector/map container types, and enables more compatibility with generic templated algorithms.
  • PetscMatrix::frobenius_norm() method, and refactoring of other norm calculations
  • Improvements and more options in calculator app
  • Improvements and bug fixes in reduced-basis code
  • New grad(div()) problem example code with Raviart-Thomas elements
  • Support for "packing" for Cap'n'Proto users
  • Bug fix in FParser optimized JIT output
  • Bug fix for corrupt time stamps in Exodus outputs with a single time step
  • Bug fixes in programmatic setting of PETSc preconditioners
  • Workarounds for older PETSc error-checking macros are now removed; raw PETSc code should use LibmeshPetscCall for error checking.
  • General cleanup in autoconf (./configure source) code
  • General refactoring in FEInterface

Edit: a force push also adds:

  • Fix for a multithreading error in applications where multiple threads are encountering elements with negative mapping Jacobians
  • Preconditioning option, to scale new raw degrees of freedom, when importing mesh constraint rows from a sparse matrix. This can greatly improve solver robustness on such constrained systems.
  • New transient_ex3 example application demonstrating a explicit DG/FV formulation of the 2D advection equation

@moosebuild
Copy link
Contributor

moosebuild commented Feb 6, 2025

Job Documentation, step Docs: sync website on 70fce7b wanted to post the following:

View the site here

This comment will be updated on new commits.

@moosebuild
Copy link
Contributor

moosebuild commented Feb 6, 2025

Job Coverage, step Generate coverage on 70fce7b wanted to post the following:

Framework coverage

e6f742 #29817 70fce7
Total Total +/- New
Rate 85.26% 85.27% +0.01% -
Hits 108548 108567 +19 0
Misses 18773 18754 -19 0

Diff coverage report

Full coverage report

Modules coverage

Coverage did not change

Full coverage reports

Reports

This comment will be updated on new commits.

@lindsayad
Copy link
Member

It looks like I may need to go through some apps and fix up the PETSc macros

@lindsayad
Copy link
Member

lindsayad added a commit to loganharbour/moose that referenced this pull request Feb 13, 2025
@roystgnr roystgnr force-pushed the libmesh_update_20250205 branch from 74b318c to 9622db6 Compare February 14, 2025 20:10
@lindsayad
Copy link
Member

I think that when https://github.inl.gov/ncrc/pronghorn/pull/1292 and idaholab/virtual_test_bed#520 are merged, then pronghorn devel (which currently has a subchannel module update that fixes the libmesh petsc call macros) can go to master, and then I believe we'll be all set to go for invalidating the failing app tests

@moosebuild
Copy link
Contributor

Job Documentation internal apps on 9622db6 : invalidated by @lindsayad

@moosebuild
Copy link
Contributor

Job Internal app tests on 9622db6 : invalidated by @lindsayad

@lindsayad
Copy link
Member

relap-7 and sockeye should be fixed now thanks to @joshuahansel. Looks like we need a rebase here

@roystgnr
Copy link
Contributor Author

I'll do the rebase in a sec.

@roystgnr
Copy link
Contributor Author

Well, I'll rebase the newsletter, anyway; simpler to just redo the other commits.

@roystgnr roystgnr force-pushed the libmesh_update_20250205 branch from 9622db6 to 26b9557 Compare February 19, 2025 03:30
@lindsayad
Copy link
Member

I added the other targets. Looks like we need another rebase

@milljm
Copy link
Contributor

milljm commented Feb 25, 2025

neat... you'll be one of the first to follow: https://github.com/idaholab/moose/wiki/Updating-packages

@lindsayad
Copy link
Member

Anyway we can wait to get libMesh/libmesh#4091 in here?

@loganharbour loganharbour force-pushed the libmesh_update_20250205 branch from c1c8fab to 70fce7b Compare March 3, 2025 15:41
@idaholab idaholab deleted a comment from moosebuild Mar 3, 2025
@idaholab idaholab deleted a comment from moosebuild Mar 3, 2025
@idaholab idaholab deleted a comment from moosebuild Mar 3, 2025
@idaholab idaholab deleted a comment from moosebuild Mar 3, 2025
@idaholab idaholab deleted a comment from moosebuild Mar 3, 2025
@idaholab idaholab deleted a comment from moosebuild Mar 3, 2025
@idaholab idaholab deleted a comment from moosebuild Mar 3, 2025
@loganharbour loganharbour requested a review from milljm March 3, 2025 15:43
@moosebuild
Copy link
Contributor

Job Precheck, step Versioner verify on 70fce7b wanted to post the following:

Versioner templates

Found 16 templates, 0 failed

Versioner versions

Found 10 packages, 2 changed, 0 failed

package status hash to hash version to version
libmesh CHANGE OK b8b3d69 dabc922 2024.12.02=mpich_1 2025.02.25=mpich_0
moose-dev CHANGE OK 834b239 fcaa73c 2025.02.27=mpich 2025.03.03=mpich

Copy link
Contributor

@milljm milljm left a comment

Choose a reason for hiding this comment

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

bump looks good to me! 👍

@lindsayad
Copy link
Member

I don't understand why the openmpi tests are taking so long. Can we just merge this bad boy?

@roystgnr
Copy link
Contributor Author

roystgnr commented Mar 4, 2025

2 crashes with stack traces in PetscInitialize, one timeout just starting a test.

My vote is for "just merge this bad boy" - I could make a long list of all the things I could have theoretically broken with the dozen odd major changes in this update, but "PetscInitialize, but only with OpenMPI" would not be on it.

It's disappointing to see OpenMPI so flaky, though. Way back when I used to switch between OpenMPI and MPICH frequently, well, neither of them was perfect, but OpenMPI was always the more reliable of the two.

@lindsayad
Copy link
Member

I would still like to remove the openmpi target, at least on PRs. The sum of time developers have spent wondering about false positives has to at least be on the order of hours at this point

@lindsayad
Copy link
Member

I don't think I've seen a PR test green without invalidation in months and openmpi is usually the culprit

@roystgnr
Copy link
Contributor Author

roystgnr commented Mar 4, 2025

I like the OpenMPI target as a "sanity check" for weird MPI-looking failures in MPICH, but it really should be going yellow on failure, not red.

What's the verdict for this case, though? Merge despite OpenMPI, or invalidate and cross our fingers?

@roystgnr
Copy link
Contributor Author

roystgnr commented Mar 4, 2025

Ah, wait, never mind, we're still branch locked.

@lindsayad lindsayad merged commit 26004f9 into idaholab:next Mar 4, 2025
98 of 99 checks passed
@roystgnr roystgnr deleted the libmesh_update_20250205 branch March 4, 2025 21:09
kyriv1980 pushed a commit to loganharbour/moose that referenced this pull request Mar 4, 2025
GiudGiud pushed a commit to loganharbour/moose that referenced this pull request Mar 8, 2025
loganharbour pushed a commit to loganharbour/moose that referenced this pull request Mar 10, 2025
loganharbour pushed a commit to loganharbour/moose that referenced this pull request Mar 10, 2025
loganharbour pushed a commit to loganharbour/moose that referenced this pull request Mar 10, 2025
loganharbour pushed a commit to loganharbour/moose that referenced this pull request Mar 10, 2025
tophmatthews pushed a commit to tophmatthews/moose that referenced this pull request Mar 21, 2025
bdhuddleston pushed a commit to bdhuddleston/moose that referenced this pull request May 22, 2025
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.

5 participants