MGConstrainedDoFs::initialize with no constrains

18 views
Skip to first unread message

Michał Wichrowski

unread,
Dec 28, 2020, 7:35:10 AM12/28/20
to deal.II User Group
Dear all,
I'm considering a multigrid method for the Stokes problem. I need to have an approximation of Schur complement at each level that is represented by a matrix-free operator.

 The problem is that in case of adaptive mesh refinement  MGConstrainedDoFs assumes zero boundary condition at refinement edges. In my case that behaviour is unwanted. I have looked through the implementation of MGConstrainedDoFs and it looks like it will require changing initialize() function by adding 1 additional parameter:

MGConstrainedDoFs::initialize ( const DoFHandler< dim, spacedim > & dof,
const MGLevelObject< IndexSet > & level_relevant_dofs = MGLevelObject<IndexSet>() 
const bool& set_zero_constrain_at_refinement_edge=true)

And adding if in line 331:
if(set_zero_constrain_at_refinement_edge)
  MGTools::extract_inner_interface_dofs(dof, refinement_edge_indices);

The other option to implement my MG preconditioner is to rewrite MGConstrainedDoFs together with all MG classes that rely on it.

Best,
Michał


Reply all
Reply to author
Forward
0 new messages