-
Notifications
You must be signed in to change notification settings - Fork 295
StaticCondensation can also be a DofMap #4140
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
Conversation
Job Coverage, step Generate coverage on f82ac57 wanted to post the following: Coverage
Warnings
This comment will be updated on new commits. |
9f452d4
to
496b3ef
Compare
bc6e1f3
to
8e26375
Compare
Also, set n components to 0 for DofObjects for the reduced "system"
Mat is a pointer so attempting to mark it as const accomplishes nothing. But we shouldn't penalize users working with a const PetscMatrix and refuse to provide them access to the raw Mat. We will assume that they have good intentions
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.
I think my only pointed concern here is the backwards-compatibility (and forwards-compatibility, I suppose; feel free to libmesh_experimental()
anything that you think is likely still in flux), but my biggest vague request is that we need to get much more documentation on this sometime. E.g. I can't follow vector_fe_ex9 - we're querying system.has_static_condensation()
, but I don't see anywhere we might be enabling static condensation in that example.
Static condensation is setup from the command line in |
I've restored the |
Cannot reproduce this single test failure on my ubuntu container so I'm going to say this is a bad test specification. Will relax the tolerancing comparisons in MOOSE |
Refs failure on libMesh/libmesh#4140 which I could not reproduce myself even in the same container. However, if I just ran this test with 2 procs then I got exodiffs
this should be ready for further review |
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.
If @jwpeterson isn't still on vacation or buried by more urgent things to catch up on, then I'd like to give him time to look at this too, but if he doesn't chime in by Monday I'd say let's merge this then.
To be honest, I haven't followed the design discussion here closely, so I'm going to defer to you guys' expertise. It's a little concerning to me that we are making So I guess my main request would be if you guys have any performance regression testing on CIVET, to keep an eye on that before/after this is merged just to get an idea of whether there is any overall performance loss. |
Will definitely monitor our stuff in MOOSE. Doing some libmesh benchmarking After this PR
Before this PR
So that looks the same to me |
Huh. That
IIRC the one application to worry about here is Relap-7 - at least I think that was the one commonly doing solves on a zillion Edge2 elements where the actual calculations per element were thin enough that every little bit of overhead showed up. A bunch of the micro-optimizations in things like |
@joshuahansel you'll need to help us monitor performance in THM. Perhaps we can setup some performance logging stuff for THM case(s) with what @loganharbour has been working on recently? |
Sounds good, lemme know whenever the capability is ready. |
Metrics are already being collected, although not used. See https://github.com/idaholab/moose/tree/next/modules/combined/performance for examples. Test spec is named "performance" instead of "tests" which are ran on master: https://civet.inl.gov/job/2938624/ |
My goal is to be able to do field splits on the statically condensed system. This should sit in draft since it has meaningful impacts like converting
DofMap
methods into virtuals until I have some useful demonstration of capability