Hi Chong,

There is not an easy way to do this in the library. Fundamentally, hanging node 
constraints are like continuity constraints across varying levels of 
h-refinement and setting up these continuity constraints will take both into 
account.

If you really want to disable those continuity constraints for the other FE 
type, I think the best approach would be to
1) determine the DoFs associated with those elements
2) create a new AffineConstraints object which does not have any lines 
corresponding to the DoFs listed in the previous step

You can do 2 with AffineConstraints::get_lines().

Best,
David Wells
________________________________
From: dealii@googlegroups.com <dealii@googlegroups.com> on behalf of chong liu 
<liuchong...@gmail.com>
Sent: Tuesday, May 4, 2021 12:06 PM
To: dealii@googlegroups.com <dealii@googlegroups.com>
Subject: [deal.II] Problem related to make_hanging_nodes_constraints in the hp 
cases


Dear all


I am trying to use the function of 
"make_hanging_node_constraints(hp::dofhandler, constraints)" to constraint 
hanging nodes when a local domain is refined. However, I came across a problem. 
I guess the problem is related to hp finite elements.


Background

The domain includes two different finite elements (hp_FE(fe_type_1, 
fe_type_2)), and one local region is refined (as shown in the figure).


I want to use the "make_hanging_node_constraints()" function to constrain the 
hanging nodes for fe_type_1 (shown as circles in the figure). However, I found 
that this function also constrains fe_type_2's degrees of freedom (dofs) 
adjacent to fe_type_1 cells (shown as triangles in the figure).


Question:

How can I only constrain the hanging nodes for fe_type_1?


I guess one possible solution is to remove the constrained fe_type_2's dofs 
from the AffineConstraints container. However, I did not find a function to do 
this.


I will be grateful for any help you can provide.


Sincerely,

Chong Liu

--
The deal.II project is located at http://www.dealii.org/
For mailing list/forum options, see 
https://groups.google.com/d/forum/dealii?hl=en
---
You received this message because you are subscribed to the Google Groups 
"deal.II User Group" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to 
dealii+unsubscr...@googlegroups.com<mailto:dealii+unsubscr...@googlegroups.com>.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/dealii/CAKCBbH84L6Y6fqy6gLcjdaoE1Cd5%2BWgtZbKzG5gn2-aGxb5_1g%40mail.gmail.com<https://groups.google.com/d/msgid/dealii/CAKCBbH84L6Y6fqy6gLcjdaoE1Cd5%2BWgtZbKzG5gn2-aGxb5_1g%40mail.gmail.com?utm_medium=email&utm_source=footer>.

-- 
The deal.II project is located at http://www.dealii.org/
For mailing list/forum options, see 
https://groups.google.com/d/forum/dealii?hl=en
--- 
You received this message because you are subscribed to the Google Groups 
"deal.II User Group" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to dealii+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/dealii/BN7PR03MB4356AAB4CB50B8D6867B3653ED569%40BN7PR03MB4356.namprd03.prod.outlook.com.

Reply via email to