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
Question:
How can I only constrain the hanging nodes for fe_type_1?
Dear Bruno
Thank you for your reply.
I think I did not express my problem well. To be clear, I used the FE_Enriched for assigning these two finite elements and combined them using FE_System:
FE_Enriched<dim> fe_type_1(FE_Q<dim (1), FE_Nothing<dim>(1,true), nullptr);
FE_Enriched<dim> fe_type_2(FE_Q<dim (1), FE_Q<dim>(1), enriched_function);
FESystem<dim> hp_FE(fe_type_1, fe_type_2).
I would like to use fe_type_2 with an enriched_function to approximate the local behavior of materials. The local behavior can be captured by the extra dofs created by fe_type_2 ( note that fe_type_1 just generates the standard dofs since the FE_Nothing is used). However, I found that the extra dofs are constrained when I used the make_hanging_nodes_constraints() function. The reason why I used this function is the local refinement.
My questions are
(1) Is there a way to keep the extra dofs introduced by fe_type_2 unconstrained when applying the make_hanging_nodes_constraints() function?
(2) If the extra dofs require to constrain when the make_hanging_nodes_constraints() function is utilized, can I remove these extra dofs from the AffineConstraints container generated by the function?
Hope I express my problems clearly. Thank you for any suggestions.
Best wishes,
Chong
--
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+un...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/dealii/f29a2020-7916-4d74-b9ed-aae271a5479fn%40googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/dealii/048f45bc-05d6-4f85-a789-455b86841573n%40googlegroups.com.