Skip to content
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

Make October 2024 news public #28954

Open
wants to merge 6 commits into
base: next
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
95 changes: 79 additions & 16 deletions modules/doc/content/newsletter/2024/2024_10.md
Original file line number Diff line number Diff line change
@@ -1,12 +1,63 @@
# MOOSE Newsletter (October 2024)

!alert! construction title=In Progress
This MOOSE Newsletter edition is in progress. Please check back in November 2024
for a complete description of all MOOSE changes.
!alert-end!

## MOOSE Improvements

### Standardization of Physics initialization

For all `Physics` classes deriving from `PhysicsBase`, the variable initialization behavior has been standardized.
Variables should be initialized using, in order of priority:

- user-specified initialization input parameters, which should always be obeyed
- from an exodus file, with the `initialize_variables_from_mesh_file` parameter, if no user specified values for a variable are requested
- from the checkpoint file specified to the `Problem` for the restart
- from the default value of the initialization parameters, if and only if none of the previous conditions apply

### Direct Nodeset generation

In MOOSE, we often forego the concepts of nodesets and sidesets to simply use the term "boundary", which refers
to one or the other depending on the objects at hand. For example, a Dirichlet boundary condition for a Lagrange variable
will use a nodeset for its boundary parameter, while a postprocessor computing the diffusive flux with a monomial variable
will use a sideset for its boundary parameter. As such, we focused our mesh generation effort to be able to easily create sidesets,
and the nodesets can be easily generated from these sidesets.

However, for the specific need of generating 1D nodesets within a 3D mesh, we needed to be able to generate nodesets directly.
The [ParsedGenerateNodeset.md] joins the roster of mesh generators for that purpose. It offers much of the flexibility of
the [ParsedGenerateSideset.md] and their design are very similar.

### Mesh conversion to all simplices (triangles and tets)
roystgnr marked this conversation as resolved.
Show resolved Hide resolved

The [ElementsToSimplicesConverter.md] was created as a mesh generator. An input mesh will be modified
to replace each non-simplex mesh element with a set of simplices
connecting the same nodes. Each quad is split into 2 triangles, each
pyramid into 2 tetrahedra, each prism into 3 tets, and each cube into
6 tets.

### Ability to set multiple time integrators
lindsayad marked this conversation as resolved.
Show resolved Hide resolved

For simulations using multiple variables/equations, there is now the option to use different time integration methods for each variable/equation.

### New tests scheduler for High Performance Computing
Copy link
Contributor

Choose a reason for hiding this comment

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

@loganharbour good enough?

Copy link
Member Author

Choose a reason for hiding this comment

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


A new scheduler was added to the MOOSE test suite to be able to leverage HPC platforms for
continuous integration.

## MOOSE Modules changes

### Navier Stokes: Skewness correction changes

The gradient of the pressure, both corrected and uncorrected, that are used in Rhie-Chow interpolation are now both
using skewness correction when skewness correction has been specified for the pressure variable.

Skewness-corrected gradients are now computed using the Least-Squares method rather than Green Gauss.
With these two modifications, oscillations on skewed meshes in simulations with volumetric body forces are no longer present.

## Thermal hydraulics: use of field variables on node elements for Junctions
cticenhour marked this conversation as resolved.
Show resolved Hide resolved

For cases with large numbers of Junctions, it was observed that performance was severely degraded.
This was explained by the use of scalar variables, which are intended to have a global coupling
to other fields. By instead using field variables on node elements, the expected coupling to
other variables is much reduced, and performance was greatly improved.

## libMesh-level Changes

### `2024.10.17` Update
Expand All @@ -17,20 +68,20 @@ for a complete description of all MOOSE changes.
creating high-quality volume meshes from arbitrary STL files is
still a work in progress.
- Support for higher-order (up to quintic) vector-valued FE bases in
the Nédélec (first kind) and Ravier-Thomas FE families.
the Nédélec (first kind) and Raviart-Thomas FE families.
- Better handling for odd IsoGeometric Analysis extraction operators,
and better error handling for broken IGA operators.
- Better unit test coverage for NodeElem; fixes to NodeElem
methods which should be no-op but instead threw errors.
- Unit test coverage for fifth-order `MONOMIAL` elements. So far
new tests have not uncovered any problems, but based on user
reports of convergence issues we recommend limiting `MONOMIAL`
reports of convergence issues, we recommend limiting `MONOMIAL`
variables to fourth-order.
- Fixes for condensed eigensolve support after mesh reinit
- Fixes for condensed eigensolve support after mesh reinit.
- Fixes for caching of FE data on sides of meshes with non-uniform
p-refinement levels
p-refinement levels.
- Minor fixes for compiler complaints from `nvc++` and
`clang++ -fsanitize`
`clang++ -fsanitize`.
- Properly register `--keep-cout` and `--drop-cerr` warnings with
PETSc to avoid "options you set that were not used" false positives.
- Better error messages when tetrahedralizing a non-watertight input
Expand All @@ -40,17 +91,29 @@ for a complete description of all MOOSE changes.
- Improvements and fixes in Reduced Basis code, particularly the
Empirical Interpolation Method classes.


## PETSc-level Changes

## Bug Fixes and Minor Enhancements

- The [GenericFunctorTimeDerivativeMaterial.md] was added to be able to create time-derivative functor material properties of other functors.
- The [ParsedAux.md] can now directly leverage Real and ADReal-valued material properties, without first converting them to auxiliary variables.
- Block-restriction of indicators in adaptivity is now fully supported. Previously only markers could be block restricted, while indicators had to
cover the whole domain.
- The [Coupleable.md] interface now supports an additional routine for retrieving the time derivative of nodal and DoF values with automatic differentiation.
- A diagnostics for "waterproofness" of sidesets, e.g. covering the entire external boundary of the mesh, was added to the [MeshDiagnosticsGenerator.md].
- A new execution flag `NONLINEAR_CONVERGENCE` was added for executing objects right before evaluating the residual in nonlinear iterations and assessing convergence.
- A new `timeIntegral()` routine was added to Functions to compute the integral from time `t1` to `t2` at point `p`. The routine must be implemented for every Function requiring it.
- A `FunctorMaterial` was added to compute the time derivatives of other functors. This facilitates the creation of complex expressions directly from the input file.
- The [AverageVariableChange.md] postprocessor was added to compute the change over time steps of a variable. This is part of a larger effort to provide greater flexibility in setting convergence criteria.
- `FluidProperties` can now return exceptions when a `NaN` is encountered, using the [NaNInterface.md]. Previously, only ignoring, returning an error or a warning were possible.
- The [JSONFileReader.md] was templated to be able to read JSON files with leaves of strings rather than Reals.
- Verification and validation document lists can now be placed in the top level of `[Tests]` specifications.
- The [SideFVFluxBCIntegral.md] was added to be able to postprocess the fluxes of a `FVFluxBC` directly rather than re-implementing the flux computation in a postprocessor.

## Conda Package Changes

- `moose-mpi`, our lowest level package, has been updated to allow users wishing to
build their own PETSc, libMesh, WASP to do so without needing to install any
build their own PETSc, libMesh, and WASP to do so without needing to install any
additional Conda packages.
- HDF5 has been downgraded to solve issue: [Floating Point Exception, #28350](https://github.com/idaholab/moose/issues/28350)
- The minimum MacOS build SDK has been bumped to MacOS Big Sur (11.3). Users of
MacOS versions older than this may run into issues building and running MOOSE,
MOOSE dependencies, or other MOOSE-based applications.
MacOS versions older than this may run into issues building and running MOOSE,
MOOSE dependencies, or other MOOSE-based applications.
16 changes: 16 additions & 0 deletions modules/doc/content/newsletter/2024/2024_11.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
# MOOSE Newsletter (November 2024)

!alert! construction title=In Progress
This MOOSE Newsletter edition is in progress. Please check back in December 2024
for a complete description of all MOOSE changes.
!alert-end!

## MOOSE Improvements

## libMesh-level Changes

## PETSc-level Changes

## Bug Fixes and Minor Enhancements

## Conda Package Changes
1 change: 1 addition & 0 deletions modules/doc/content/newsletter/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@ monthly to the [MOOSE discussion forum](contact_us.md) as well as provided below

## 2024

- [October, 2024](2024_10.md)
- [September, 2024](2024_09.md)
- [August, 2024](2024_08.md)
- [July, 2024](2024_07.md)
Expand Down