MOOSE Newsletter (August 2026)

buildconstruction:In Progress

This MOOSE Newsletter edition is in progress. Please check back in September 2026 for a complete description of all MOOSE changes.

MOOSE Improvements

Testing with -march

The Apptainer environments used for testing have been updated in idaholab/moose#33466 to build with -march=x86-64-v3. Previously, these environments did not explicitly specify -march, effectively targeting the baseline x86-64 architecture.

Because the updated compiler flags can produce numerical differences, gold files and test tolerances have been updated as needed to ensure that the MOOSE framework and module test suites continue to pass under the newer architecture target.

As a result, dependent applications that test using these containerized environments may also require regolding, refactoring, or adjustments to test tolerances.

New input brace expressions

  • ${enumerate <prefix> <first_index> <last_index>}: expands to the whitespace separated list appending each integer in the range to the prefix, e.g. ${enumerate foo 0 2} evaluates to foo0 foo1 foo2. Added in idaholab/moose#33511

  • ${repeat <name> <count>}: expands to the name repeated count times, separated by whitespace, e.g. ${repeat foo 3} evaluates to foo foo foo. Added in idaholab/moose#33536

MOOSE Bug Fixes

MOOSE Modules Changes

libMesh-level Changes

2026.08.18_0772c3d_0 Update

  • Added MeshTools::Modification::interpolate_surface() method, to reinterpolate nodes using a Surface specification

  • MeshModification operations (rotate(), translate(), redistribute(), scale()) now mark potentially-invalidated element data caches as unprepared

  • Fixed find_interior_parents() calculation on meshes with unprepared element-dimension caches

  • Fixed nodal output for SIDE_HIERARCHIC elements

  • Fixed edge adjacency calculations on C0Polyhedron elements

  • Fix for outdated global_boundary_ids cache when renumbering boundary ids

  • Fix and performance improvements for Adaptive Mesh Refinement/Coarsening projections including SCALAR variables

  • Fix for broadcast() in cases where a ReplicatedMesh has had elements deleted in a non-replicated way, via an improvement to ReplicatedMesh::update_parallel_id_counts() for this case

  • Added support to all_tri() for tetrahedralization of Pyramid5 and Pyramid14 elements

  • Enabled quadratic tetrahedralization of domains defined by curved Tri6/Tri7 boundary elements.

  • Improved element quality when using Tri7 elements to triangulate curved boundaries

  • Added parallel communication support for C0Polygon and C0Polyhedron elements

  • Added ExodusII and CheckpointIO support for C0Polygon and C0Polyhedron elements

  • Added element quality metrics for C0Polygon and C0Polyhedron elements

  • Added a subdomain name setter with option for marking synchronization as maintained and avoiding unnecessary mesh re-preparation, along with a facility for marking preparation status of subdomain name maps in parallel. The old subdomain_name() setter that returned a writable reference is now deprecated.

  • Added isfinite(), isinf(), and isnan() support for std::complex and for our vector and tensor types to libMesh::

  • Autodetection of compiler options to request IEEE754-precise calculations (e.g. eschewing Fused-Multiply-Add rounding); we now use these options for triangulation calculations for better reproducability between differing architectures.

  • Treat XYZ element type as elemental in ExodusII and Nemesis output

  • Refactoring of constant-monomial ("elemental") data in output

  • Printing of failed assertion expressions in general assertion failure cases

  • PerfLog logging of MeshModification::all_* methods

  • Additional all_rbb() unit test coverage, using quadratic Rational-Bernstein-Bezier sphere approximations

  • Fix for installed-example $CXXFLAGS handling with pkgconfig

PETSc-level Changes

Conda Package Updates

moose-tools 2026.08.19

  • Trigger rebuild; no package changes

moose-build 2026.08.19

  • Trigger rebuild; no package changes

moose-mpi 2026.08.19 [mpich,openmpi]

  • Trigger rebuild; no package changes

moose-libmesh-vtk 9.7.0_0 [mpich,openmpi]

  • Updated VTK from 9.6.2 to 9.7.0

moose-petsc 3.25.4_0 [mpich,openmpi]

moose-libmesh 2026.08.18_0772c3d_0 [mpich,openmpi]

moose-wasp 2026.08.13_ce25dcd_0

moose-pyhit 2026.08.19

  • Rebuild due to updated Conda package moose-wasp 2026.08.13_ce25dcd

moose-dev 2026.08.19 [mpich,openmpi]

  • Rebuild due to updated dependencies

moose-pprof 2026.07.09_b9395ee_0

moose-seacas 2025.10.14_5

  • Trigger rebuild; no package changes

moose-tools 2026.08.23

  • Trigger rebuild; no package changes

moose-build 2026.08.23

  • Trigger rebuild; no package changes

moose-mpi 2026.08.23 [mpich,openmpi]

  • Trigger rebuild; no package changes

moose-libmesh-vtk 9.7.0_1 [mpich,openmpi]

  • Trigger rebuild; no package changes

moose-petsc 3.25.4_1 [mpich,openmpi]

  • Trigger rebuild; no package changes

moose-libmesh 2026.08.18_0772c3d_1 [mpich,openmpi]

  • Trigger rebuild; no package changes

moose-wasp 2026.08.13_ce25dcd_1

  • Trigger rebuild; no package changes

moose-pyhit 2026.08.23

  • Trigger rebuild; no package changes

moose-dev 2026.08.23 [mpich,openmpi]

  • Trigger rebuild; no package changes

Apptainer Package Updates

moose-mpi:2026.08.19

  • Added support for building from Ubuntu-based images

  • Updated all base packages

  • Updated variants: - rocky8_gcc: Rocky 8 base with GCC 13.1.1, MPICH 5.0.1, OpenMPI 5.0.10 - rocky8_oneapi: Rocky 8 base with GCC 13.3.1, Intel OneAPI 2026.1.1, MPICH 4.3.2 - rocky9_gcc: Rocky 9 base with GCC 13.1.1, MPICH 4.3.2, OpenMPI 5.0.10 - ubuntu24_clang: Ubuntu 24.04 base with Clang 22.1.8, GCC 14.2.0, MPICH 5.0.1, OpenMPI 5.0.10 - ubuntu24_cuda_gcc: Ubuntu 24.04 base with Cuda 13.3.0, GCC 14.2.0, MPICH 5.0.1, OpenMPI 5.0.10 - ubuntu24_gcc (default): Ubuntu 24.04 base with GCC 14.2.0, MPICH 5.0.1, OpenMPI 5.0.10 - ubuntu24_gccmin: Ubuntu 24.04 base with GCC 9.5.0, MPICH 5.0.1

moose-petsc:3.25.4_0

  • Updated petsc from 3.25.2 to 3.25.4

  • Added MARCH and MTUNE definition template options for building with -march and -mtune - -march is set to x86-64-v3 by default for all PETSc builds

moose-libmesh:2026.08.18_0772c3d_0

  • Updated VTK from 9.6.2 to 9.7.0

  • Updated VTK configure to be more consistent with the configure in Conda moose-libmesh-vtk

  • Updated libmesh from ab36c00 to 0772c3d

  • Added MARCH and MTUNE definition template options for building with -march and -mtune - -march is set to x86-64-v3 by default for all VTK and libMesh builds - As MOOSE inherits its build flags from libMesh, this implies the same default for all MOOSE application builds

moose-dev 2026.08.19

  • Updated wasp from d8777a8 to ce25dcd

  • Updated pytorch from 2.12.0 to 2.13.0

  • Updated python from 3.14.6 to 3.14.7

  • Updated code-server from 4.123.0 to 4.132.0

  • Updated mfem from b7ac196 to a7dbea1

  • Install python package nvidia-ml-py

  • Added MARCH and MTUNE definition template options for building with -march and -mtune - -march is set to x86-64-v3 by default for building WASP, libtorch, NEML2, conduit, and MFEM - As MOOSE inherits its build flags from libMesh, this implies the same default for all MOOSE application builds

moose-mpi:2026.08.23

  • Update all base containers

  • Build valgrind with --enable-lto=yes

moose-petsc:3.25.4_1

  • Add OPTFLAGS generator variable to override OPTFLAGS

  • Build ubuntu24-gcc-mpich-valgrind-x86_64 variant for valgrind with OPTFLAGS="-O1 -g -march=x86-64"

moose-libmesh:2026.08.18_0772c3d_0

  • Add OPTFLAGS generator variable to override OPTFLAGS

  • Build ubuntu24-gcc-mpich-valgrind-x86_64 variant for valgrind with OPTFLAGS="-O1 -g -march=x86-64"

moose-dev 2026.08.23

  • Add OPTFLAGS generator variable to override OPTFLAGS

  • Build ubuntu24-gcc-mpich-valgrind-x86_64 variant for valgrind with OPTFLAGS="-O1 -g -march=x86-64"