On 07/04/2016 08:52 AM, Ce Qin wrote:
Dear all,
I am now solving a problem using adaptive finite element method. The boundary
condition is Dirichlet condition. When the cells on boundary are locally
refined, the hanging node constraints are conflicting with inhomogeneous
constraints.
In Constraints on degrees of freedom
<https://urldefense.proofpoint.com/v2/url?u=https-3A__www.dealii.org_8.4.1_doxygen_deal.II_group-5F-5Fconstraints.html&d=CwMFaQ&c=ODFT-G5SujMiGrKuoJJjVg&r=bn1clvQAiDQrfAC4yKbN0PlSr7RWRs-U3WJ0zRBB2qM&m=1SpqN_97meGfz2Xl2-E8Tbg0or5hD9WqUYXEKaSyPYc&s=g6gaCUE0kHiyFVTtZYEm3loEhpwmQKH7FkZCX1J1OIE&e=>,
section
Dealing with conflicting constraints, it says:
If you want the hanging node constraints to win, then first build these
through the DoFTools::make_hanging_node_constraints()
<https://urldefense.proofpoint.com/v2/url?u=https-3A__www.dealii.org_8.4.1_doxygen_deal.II_group-5F-5Fconstraints.html-23ga3eaa31a679484e80c193e74e8a967dc8&d=CwMFaQ&c=ODFT-G5SujMiGrKuoJJjVg&r=bn1clvQAiDQrfAC4yKbN0PlSr7RWRs-U3WJ0zRBB2qM&m=1SpqN_97meGfz2Xl2-E8Tbg0or5hD9WqUYXEKaSyPYc&s=6UnsFr5iWSlrA4aiDNvfPd3uy0hbIygrP-fKWn6-mXQ&e=>
function.
Then interpolate the boundary values using
VectorTools::interpolate_boundary_values()
<https://urldefense.proofpoint.com/v2/url?u=https-3A__www.dealii.org_8.4.1_doxygen_deal.II_namespaceVectorTools.html-23af6f700f193e9d5b52e9efe55e9b872d5&d=CwMFaQ&c=ODFT-G5SujMiGrKuoJJjVg&r=bn1clvQAiDQrfAC4yKbN0PlSr7RWRs-U3WJ0zRBB2qM&m=1SpqN_97meGfz2Xl2-E8Tbg0or5hD9WqUYXEKaSyPYc&s=5xj02EL9VScyZ6Q87iec6SjedHT33BYhVXmFNT8hVGY&e=>
into
the same ConstraintMatrix
<https://urldefense.proofpoint.com/v2/url?u=https-3A__www.dealii.org_8.4.1_doxygen_deal.II_classConstraintMatrix.html&d=CwMFaQ&c=ODFT-G5SujMiGrKuoJJjVg&r=bn1clvQAiDQrfAC4yKbN0PlSr7RWRs-U3WJ0zRBB2qM&m=1SpqN_97meGfz2Xl2-E8Tbg0or5hD9WqUYXEKaSyPYc&s=QtUsjdtvZhO54EaZyqL2V2RDq87D7HIdGqo1DKLz2Zc&e=>
object.
If the latter function encounters a boundary node that already is
constrained, it will simply ignore the boundary values at this node and
leave the constraint untouched.
But in documentation of VectorTools::project_boundary_values_curl_conforming
<https://urldefense.proofpoint.com/v2/url?u=https-3A__www.dealii.org_8.4.1_doxygen_deal.II_group-5F-5Fconstraints.html-23ga1c6685360c01c9c46eeb7575e8ef68ac&d=CwMFaQ&c=ODFT-G5SujMiGrKuoJJjVg&r=bn1clvQAiDQrfAC4yKbN0PlSr7RWRs-U3WJ0zRBB2qM&m=1SpqN_97meGfz2Xl2-E8Tbg0or5hD9WqUYXEKaSyPYc&s=bQl5C_-vKhJvAZZDD0NqBMW3JuklcaGy-9YSrXjdwuk&e=>,
it says:
If the ConstraintMatrix
<https://urldefense.proofpoint.com/v2/url?u=https-3A__www.dealii.org_8.4.1_doxygen_deal.II_classConstraintMatrix.html&d=CwMFaQ&c=ODFT-G5SujMiGrKuoJJjVg&r=bn1clvQAiDQrfAC4yKbN0PlSr7RWRs-U3WJ0zRBB2qM&m=1SpqN_97meGfz2Xl2-E8Tbg0or5hD9WqUYXEKaSyPYc&s=QtUsjdtvZhO54EaZyqL2V2RDq87D7HIdGqo1DKLz2Zc&e=>|constraints|
contained
values or other constraints before, the new ones are added or the old ones
overwritten, if a node of the boundary part to be used was already in the
list of constraints. This is handled by using inhomogeneous constraints.
Please note that when combining adaptive meshes and this kind of
constraints, the Dirichlet conditions should be set first, and then
completed by hanging node constraints, in order to make sure that the
discretization remains consistent. See the discussion on conflicting
constraints in the module on Constraints on degrees of freedom
<https://urldefense.proofpoint.com/v2/url?u=https-3A__www.dealii.org_8.4.1_doxygen_deal.II_group-5F-5Fconstraints.html&d=CwMFaQ&c=ODFT-G5SujMiGrKuoJJjVg&r=bn1clvQAiDQrfAC4yKbN0PlSr7RWRs-U3WJ0zRBB2qM&m=1SpqN_97meGfz2Xl2-E8Tbg0or5hD9WqUYXEKaSyPYc&s=g6gaCUE0kHiyFVTtZYEm3loEhpwmQKH7FkZCX1J1OIE&e=>.
I was totally confused. Which one is right?
It seems to me that both of these texts describe what the functions do. But
they do different things. I think the first one does the correct thing whereas
the second may not. Want to fix this in the code and the documentation?
Best
W.
--
------------------------------------------------------------------------
Wolfgang Bangerth email: bange...@math.tamu.edu
www: http://www.math.tamu.edu/~bangerth/
--
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.
For more options, visit https://groups.google.com/d/optout.