From 1410415ec768e2a1ec1faccd12ca0d4de163bd76 Mon Sep 17 00:00:00 2001 From: Casey Icenhour Date: Mon, 28 Oct 2024 14:19:38 -0600 Subject: [PATCH 1/6] Make October 2024 news public Add November 2024 template Refs #11447 --- modules/doc/content/newsletter/2024/2024_10.md | 5 ----- modules/doc/content/newsletter/2024/2024_11.md | 16 ++++++++++++++++ modules/doc/content/newsletter/index.md | 1 + 3 files changed, 17 insertions(+), 5 deletions(-) create mode 100644 modules/doc/content/newsletter/2024/2024_11.md diff --git a/modules/doc/content/newsletter/2024/2024_10.md b/modules/doc/content/newsletter/2024/2024_10.md index 089cc339e1c7..cc9e195ace90 100644 --- a/modules/doc/content/newsletter/2024/2024_10.md +++ b/modules/doc/content/newsletter/2024/2024_10.md @@ -1,10 +1,5 @@ # 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 ### New System: Convergence diff --git a/modules/doc/content/newsletter/2024/2024_11.md b/modules/doc/content/newsletter/2024/2024_11.md new file mode 100644 index 000000000000..792cc46d6408 --- /dev/null +++ b/modules/doc/content/newsletter/2024/2024_11.md @@ -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 diff --git a/modules/doc/content/newsletter/index.md b/modules/doc/content/newsletter/index.md index 44986a092710..491cf19c3d83 100644 --- a/modules/doc/content/newsletter/index.md +++ b/modules/doc/content/newsletter/index.md @@ -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) From eb12f13c1ea732c130ddfaadc1232ce6ca526958 Mon Sep 17 00:00:00 2001 From: Casey Icenhour Date: Mon, 28 Oct 2024 14:22:25 -0600 Subject: [PATCH 2/6] Various adjustments to October 2024 news --- modules/doc/content/newsletter/2024/2024_10.md | 15 +++++++-------- 1 file changed, 7 insertions(+), 8 deletions(-) diff --git a/modules/doc/content/newsletter/2024/2024_10.md b/modules/doc/content/newsletter/2024/2024_10.md index cc9e195ace90..8d59d203dd03 100644 --- a/modules/doc/content/newsletter/2024/2024_10.md +++ b/modules/doc/content/newsletter/2024/2024_10.md @@ -22,20 +22,20 @@ should be executed on the new `execute_on` option, `NONLINEAR_CONVERGENCE`. 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 @@ -45,7 +45,6 @@ should be executed on the new `execute_on` option, `NONLINEAR_CONVERGENCE`. - Improvements and fixes in Reduced Basis code, particularly the Empirical Interpolation Method classes. - ## PETSc-level Changes ## Bug Fixes and Minor Enhancements @@ -53,9 +52,9 @@ should be executed on the new `execute_on` option, `NONLINEAR_CONVERGENCE`. ## 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. + MOOSE dependencies, or other MOOSE-based applications. From 17e82b86ab10a82dff30b146794743c16341b16c Mon Sep 17 00:00:00 2001 From: Guillaume Giudicelli Date: Wed, 30 Oct 2024 20:04:56 -0600 Subject: [PATCH 3/6] Add Guillaume's contribution for October --- .../doc/content/newsletter/2024/2024_10.md | 38 +++++++++++++++++++ 1 file changed, 38 insertions(+) diff --git a/modules/doc/content/newsletter/2024/2024_10.md b/modules/doc/content/newsletter/2024/2024_10.md index 8d59d203dd03..44f9dc59c2e8 100644 --- a/modules/doc/content/newsletter/2024/2024_10.md +++ b/modules/doc/content/newsletter/2024/2024_10.md @@ -12,6 +12,38 @@ to add new capability is [PostprocessorConvergence.md], which allows a post-proc to be compared to a tolerance to determine convergence. This post-processor should be executed on the new `execute_on` option, `NONLINEAR_CONVERGENCE`. +### 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. + +## 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. + ## libMesh-level Changes ### `2024.10.17` Update @@ -49,6 +81,12 @@ should be executed on the new `execute_on` option, `NONLINEAR_CONVERGENCE`. ## 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. + ## Conda Package Changes - `moose-mpi`, our lowest level package, has been updated to allow users wishing to From 87908e99c6ee9bd6eb8f84ca75b6057440cec651 Mon Sep 17 00:00:00 2001 From: Guillaume Giudicelli Date: Sat, 2 Nov 2024 16:16:09 -0600 Subject: [PATCH 4/6] Add other team member's contributions for October --- .../doc/content/newsletter/2024/2024_10.md | 34 +++++++++++++++++++ 1 file changed, 34 insertions(+) diff --git a/modules/doc/content/newsletter/2024/2024_10.md b/modules/doc/content/newsletter/2024/2024_10.md index 44f9dc59c2e8..02ee953bdb90 100644 --- a/modules/doc/content/newsletter/2024/2024_10.md +++ b/modules/doc/content/newsletter/2024/2024_10.md @@ -34,6 +34,24 @@ However, for the specific need of generating 1D nodesets within a 3D mesh, we ne 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) + +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 + +For simulations using multiple equations, notably in the context of solving multiple nonlinear +systems, there is now the option to use different time integration methods for each equation. + +### New tests scheduler for High Performance Computing + +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 @@ -44,6 +62,13 @@ using skewness correction when skewness correction has been specified for the pr 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 + +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 @@ -86,6 +111,15 @@ With these two modifications, oscillations on skewed meshes in simulations with - 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 From 19d58fc8653b46d62ad71b4c0a6a53571e053f59 Mon Sep 17 00:00:00 2001 From: Casey Icenhour Date: Mon, 4 Nov 2024 09:39:04 -0700 Subject: [PATCH 5/6] Remove empty section in October news --- modules/doc/content/newsletter/2024/2024_10.md | 2 -- 1 file changed, 2 deletions(-) diff --git a/modules/doc/content/newsletter/2024/2024_10.md b/modules/doc/content/newsletter/2024/2024_10.md index 02ee953bdb90..eaf61ff02b80 100644 --- a/modules/doc/content/newsletter/2024/2024_10.md +++ b/modules/doc/content/newsletter/2024/2024_10.md @@ -102,8 +102,6 @@ other variables is much reduced, and performance was greatly improved. - 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. From c473f57d9ec11cc436b9b75efdd51169d5c3328f Mon Sep 17 00:00:00 2001 From: Alex Lindsay Date: Mon, 4 Nov 2024 10:37:53 -0800 Subject: [PATCH 6/6] Multiple time integrators works for monolithic system --- modules/doc/content/newsletter/2024/2024_10.md | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/modules/doc/content/newsletter/2024/2024_10.md b/modules/doc/content/newsletter/2024/2024_10.md index eaf61ff02b80..a9be39680640 100644 --- a/modules/doc/content/newsletter/2024/2024_10.md +++ b/modules/doc/content/newsletter/2024/2024_10.md @@ -44,8 +44,7 @@ pyramid into 2 tetrahedra, each prism into 3 tets, and each cube into ### Ability to set multiple time integrators -For simulations using multiple equations, notably in the context of solving multiple nonlinear -systems, there is now the option to use different time integration methods for each equation. +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