-
Notifications
You must be signed in to change notification settings - Fork 1.2k
Update MFEM and PETSc #31906
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
base: next
Are you sure you want to change the base?
Update MFEM and PETSc #31906
Conversation
|
Job Documentation, step Docs: sync website on 06fbdc0 wanted to post the following: View the site here This comment will be updated on new commits. |
|
Job Coverage, step Generate coverage on 2dec510 wanted to post the following: Framework coverageCoverage did not change Modules coverageCoverage did not change Full coverage reportsReports
This comment will be updated on new commits. |
|
@roystgnr need any updates from libmesh? |
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.
- Please edit the PR comment to include context about the updates, and reference the PR number in the commit that bumps the packages. See #31650 (comment) for an example of the PR comment and fe70eed of the package bump comment
- Include a summary of the bumps in the comment in versioner_hashes.yaml
|
Another aside - on package updates, we add all recipes from next and devel |
|
For https://civet.inl.gov/job/3382174/ and https://civet.inl.gov/job/3382157/: if additional submodules are needed, they must be cloned in the fetch and branch step. internet is not available outside of that step. |
|
@loganharbour - We could definitely use updates from libMesh. Probably won't have a hash ready for you until late tonight, though. We need to get libMesh/libmesh#4324 in first (one of the most useful updates broke one of our devel->master tests). |
db074e2 to
2dec510
Compare
Summary of changes:
- A long-deprecated behavior has been removed: code initializing data
using an `FE` object now *must* prerequest all data it will later
access; it can no longer prerequest nothing and rely on libMesh to
interpret that as a potential need for everything.
- A large number of long-deprecated APIs have been removed:
- The `DofObject::set_unique_id()` overload that returns a reference
is gone; use the overload that takes an argument instead.
- `Elem::centroid()` is gone. Code that requires an accurate
approximation of ths should be using `Elem::true_centroid()`
instead; code that requires a non-centroidal but
quick-to-calculate internal point should be using
`Elem::vertex_average()` instead.
- `Elem::which_node_am_i()` is gone. Use `Elem::local_side_node()`
instead.
- The `BoundaryInfo::build_*_list()` overloads that fill vector
arguments are gone. Use the overloads that return vectors
instead, or use the `multimap` getters.
- `CondensedEigenSystem` no longer supports direct access to raw
`condensed_matrix_A` and `condensed_matrix_B` pointers; use e.g.
`get_condensed_matrix_A()` instead.
- The `MeshFunction::init()` overload taking a tree build type is
gone. Use the other `init()` overload instead.
- The poorly named `EquationSystems::get_solution()` is gone. Use
`EquationSystems::build_elemental_solution_vector() for elemental
data instead.
- `System::read_legacy_data()` is gone. Use libMesh .xda files that
postdate 2007, and show your pre-2007 libMesh .xda files to Roy to
amuse and delight him.
- The old `libmesh/mesh_inserter_iterator.h` header is gone. Rely
on `Node` and `Elem` unpacking specializations to insert
communicated objects into a target `UnstructuredMesh`.
- The `libmesh_make_unique` macro is gone. Use `std::make_unique`
directly.
- The old `libmesh/auto_ptr.h` header and macro is gone. Use
`std::unique_ptr`.
- `Utility::iota()` and `Utility::is_sorted()` are gone. Use
`std::iota()` and `std::is_sorted()`
- `DynaIO::clear_spline_nodes()` is gone. Use
`MeshTools::clear_spline_nodes()` instead.
- `DifferentiableSystem::swap_physics()` is gone. Use `push_physics()` and
`pop_physics()` instead.
- `DifferentiableSystem::init_qoi()` is gone. Override
`DifferentiableQoI::init_qoi_count()` in `DifferentiableQoI`
subclasses instead.
- `RBParameterized::get_parameter_names()` and an
`RBEvaluation::eval_output_dual_norm()` overload have been
removed. Use `get_parameters_map()` or the remaining
`eval_output_dual_norm()` overload.
- libMesh now throws `DegenerateMap` exceptions when encountering
singularities while evaluating geometric element mappings or
factoring dense matrices, not `LogicError` exceptions, which are
reserved for errors in logic. Code catching these exceptions should
use the new type, or for compatibility with old libMesh can catch
`std::exception & e` and examine `e.what()` to determine the exception
details.
- MetaPhysicL code can now run on accelerator/GPU devices, using Kokkos
- `VariationalSmoother` now supports meshes with tetrahedral elements.
- `VariationalSmoother` now supports fine-grained user-controlled
verbosity, and emits better error messages in cases where a smoother
optimization solve fails.
- Added `SparseMatrix::print_coreform_hdf5`, to create CSR-structured
matrix data in HDF5 files in the Coreform format.
- `LaplaceMeshSmoother` now has API signatures to match
`VariationalSmoother`.
- `Elem::size_vertex_average_normal()` now supports `Edge3` (and in
theory `Edge4`) elements
- Added `ExodusII_IO::set_unique_ids_from_maps()` to set `unique_id()`
rather than `id()` from Exodus file numbering. This can be useful
for efficiency when loading very sparse numberings into a
`ReplicatedMesh`.
- Added `libmesh_assert_valid_point_locator()` method to verify
`PointLocator` consistency when debugging with potentially-changed
meshes
- Bug fixes:
- The VariationalSmoother is now calculating target elements
properly; this gives better-smoothed results for meshes with
triangle, prism, and pyramid elements.
- libMesh no longer triggers deprecation warnings with PETSc 3.24
and newer versions
- libMesh no longer triggers compiler warnings from NVidia HPC SDK
compilers
- Add ExodusII::set_max_name_length() to reduce truncation of long
identifier strings in ExodusII files
refs idaholab#31906
2dec510 to
06fbdc0
Compare
| @@ -1 +1 @@ | |||
| Subproject commit 910736a3a20aded528c3ba99371ce65980dc8e2c | |||
| Subproject commit 001b6e1ae8f06b37ea005c3ce763f3fe2da4ead7 | |||
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.
Caution! This contains a submodule update
|
Job Precheck, step Versioner verify on 06fbdc0 wanted to post the following: Versioner templatesFound 14 templates, 0 failed Versioner influential filesFound 58 influential files, 9 changed, 0 added, 0 removed
Versioner versionsFound 9 packages, 3 changed, 0 failed
|
|
Job Test, step Results summary on 06fbdc0 wanted to post the following: Framework test summaryCompared against aea74f0 in job civet.inl.gov/job/3385248. No change Modules test summaryCompared against aea74f0 in job civet.inl.gov/job/3385248. No change |
Reason/Impact
Unblocks #31250 and #31525. Fixes memory deallocation bug in GPU builds of SuperLU_DIST.
Design
Update MFEM submodule, and PETSc submodule to version 3.24.1, to include fixes contributed upstream.