-
Notifications
You must be signed in to change notification settings - Fork 295
Adaptivity improvements #4184
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: devel
Are you sure you want to change the base?
Adaptivity improvements #4184
Conversation
1db4795
to
b57a129
Compare
458dc7b
to
e9bb873
Compare
e9bb873
to
c4e48be
Compare
MetaPhysicL failure again 😦 |
3d07782
to
24e132a
Compare
This ensures that if there is no mesh refinement before another call to project vectors that vector projection will work Refs attempt to `disable_refine_in_reinit` in idaholab/moose#30742
Because we do not use the SC dof map in any way for solution projection. And static condensation doesn't even make much sense without matrices
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 I'm happy with this, though I'd love for @jwpeterson to take a look too.
@@ -166,6 +189,32 @@ class StaticCondensationDofMap : public DofMapBase | |||
|
|||
/// Number of off-diagonal nonzeros per row in the reduced system | |||
std::vector<dof_id_type> _reduced_noz; | |||
|
|||
/// Set of local uncondensed degrees of freedom (numbered in the full system). This data member is | |||
/// used only during the reinit phase and is cleared at its conclusion |
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.
It looks like you're also using it in the constructor, but in each case wouldn't it make sense to have this be a local variable rather than a member variable? You'd need to pass it to add_uncondensed_dof()
as another argument, but then it's a little easier to follow program flow.
std::unordered_map<processor_id_type, std::unordered_set<dof_id_type>> _nonlocal_uncondensed_dofs; | ||
|
||
/// Used for temporary storage of uncondensed degrees of freedom active on an element | ||
std::vector<dof_id_type> _elem_uncondensed_dofs; |
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.
Likewise for these two. Though I admit we're now up to three more arguments, and my suggestion is getting less compelling, it just feels confusing to have temporary storage saved as members.
call to project vectors that vector projection will work. Refs [WIP] Don't do unnecessary refine in reinit idaholab/moose#30742