Skip to content

FE API deprecation/changes #4077

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

Merged
merged 19 commits into from
Mar 3, 2025
Merged

FE API deprecation/changes #4077

merged 19 commits into from
Mar 3, 2025

Conversation

roystgnr
Copy link
Member

As with #4076, this is a fraction of the changes in #4074, split by subsystem into its own PR for easier testing and review.

@moosebuild
Copy link

moosebuild commented Feb 12, 2025

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

Coverage

21beba #4077 c0e4f9
Total Total +/- New
Rate 63.39% 63.22% -0.18% 67.18%
Hits 74078 74122 +44 350
Misses 42775 43125 +350 171

Diff coverage report

Full coverage report

Warnings

  • New new line coverage rate 67.18% is less than the suggested 90.0%

This comment will be updated on new commits.

Copy link
Member

@jwpeterson jwpeterson left a comment

Choose a reason for hiding this comment

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

I was going to try and test this update with our internal code, but at some point, my primary libmesh build got LIBMESH_ENABLE_DEPRECATED turned back on, so I doubt that will tell me too much. Does it matter whether this or #4076 gets merged first?

@roystgnr
Copy link
Member Author

In theory the two should be independent. In practice I'm already bracing for the rebase and the merge conflict fixes.

roystgnr added 19 commits March 3, 2025 09:30
John added the replacements for these in 2020; it's time to ease users
off the old versions.
For elements where n_dofs() depends on the specific element, we need to
pass in the specific element.
The latter has to be deprecated, since without an Elem we can't make it
work on polygons+polyhedra
We need to deprecate that, since it won't work on polygons+polyhedra
This should fix incompatibilities with polygons/polyhedra
And make the non-deprecated version compatible with runtime-topology
elements.
Putting this in FEInterface was kind of an unintuitive decision in the
first place, and now that we're adding runtime-dependent element
topology like Polygons we're going to *need* a physical Elem to work
with in those cases.
This should make it compatible with Polygon, etc.
This also makes one of the app options redundant
We're already beginning a big shakeup for user code so we might as well
pull the bandaid off quickly.
Ripping off all the bandaids at once
libmesh_deprecated() is sometimes necessary, when one possible input is
deprecated but another supported, but if *any* call to a method is
deprecated we can just get rid of it completely in
`--disable-deprecated` builds.
Generic explanations are a better idea here anyway
@roystgnr
Copy link
Member Author

roystgnr commented Mar 3, 2025

Huh; no conflicts to fix after all.

If this passes CI on the first try then I'll merge.

@roystgnr roystgnr merged commit e694972 into libMesh:devel Mar 3, 2025
22 checks passed
@roystgnr roystgnr deleted the fe_deprecation branch March 3, 2025 19:39
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.

3 participants