APPLY BOUNDARY CONDTION ON INTERNAL FACE

51 views
Skip to first unread message

孙翔

unread,
Oct 12, 2020, 2:10:15 AM10/12/20
to deal.II User Group
Hi, I want to model injecting heat fluid into a tiny fracture which is inside a block. The fracture is modeled as an interface which is an internal face shared by two hex elements. Is it possible for us to apply the Dirichlet boundary condition on the interface? If not, how should I do it?  

Best,

Xiang

Bruno Turcksin

unread,
Oct 12, 2020, 9:21:03 AM10/12/20
to deal.II User Group
Xiang,

You cannot apply a boundary condition on an internal face. You need to use the AffineConstraint class to impose the constraints yourself. This is what we use internally to apply Dirichlet boundary condition.

Best,

Bruno

Daniel Arndt

unread,
Oct 12, 2020, 2:09:31 PM10/12/20
to dea...@googlegroups.com
Xiang,

Adding to Bruno's response: If the interface you want to apply Dirichlet boundary conditions to stays the same through the whole simulation, then treating the corresponding faces as disjoint while creating your mesh might be a better option.
Setting constraints yourself requires you to know how the degrees of freedom map to function values (which depends on the finite element you are using). FE_Q elements are nodal, though, so you can simply constrain the degrees of freedom to the desired function value at the corresponding support points.

Best,
Daniel


--
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/3840f39f-e3ae-4d76-886b-c3658bcade13n%40googlegroups.com.

孙翔

unread,
Oct 13, 2020, 11:01:59 AM10/13/20
to deal.II User Group

Hi, Bruno,

Thank you very much. Does the AffineConstraint force the value at the specified DOF? I need to how the node numbers map to the DOF, right? 

Best,

Xiang

孙翔

unread,
Oct 13, 2020, 11:17:37 AM10/13/20
to deal.II User Group
Hi, Daniel,

Thank you very much. So, if I want to disjoint the faces, how should I do using dealII or I need to disjoint them manually? If I manually disjoint them, should I duplicate the joint nodes and assign them with the new number, then assemble the adjacent element with the duplicated nodes? I am not sure if Grid_in can read it. 

Best,

Xiang



孙翔

unread,
Oct 13, 2020, 11:20:09 AM10/13/20
to deal.II User Group
Hi, Daniel,

Thank you very much. So, if I want to disjoint the faces, how should I do using dealII or I need to disjoint them manually? If I manually disjoint them, should I duplicate the joint nodes and assign them with the new number, then assemble the adjacent element with the duplicated nodes? Please see the attached figure. I am not sure if Grid_in can read it. 

Best,

Xiang

On Monday, 12 October 2020 at 11:09:31 UTC-7 d.arnd...@gmail.com wrote:
dealing_with_ele.jpg

Bruno Turcksin

unread,
Oct 13, 2020, 1:49:08 PM10/13/20
to dea...@googlegroups.com
Xiang,

Here is an example on how to do it:
https://github.com/geodynamics/aspect/blob/master/cookbooks/prescribed_velocity/prescribed_velocity.cc#L297-L303
As you can see, you need to know which dof you need to constrain

Best,

Bruno
> --
> 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 a topic in the Google Groups "deal.II User Group" group.
> To unsubscribe from this topic, visit https://groups.google.com/d/topic/dealii/hv0QjbGuxls/unsubscribe.
> To unsubscribe from this group and all its topics, send an email to dealii+un...@googlegroups.com.
> To view this discussion on the web visit https://groups.google.com/d/msgid/dealii/dc0e5cab-64c7-4af7-b957-2a51f83ee5f4n%40googlegroups.com.

Daniel Arndt

unread,
Oct 13, 2020, 5:38:29 PM10/13/20
to dea...@googlegroups.com
Xiang,

deal.II doesn't have functionality to create separate cells sharing a face but only to join them. Hence, whatever input you provide to Triangulation::create_triangulation() must have these faces already. GridIn should work for that if the faces are disjoint in the input file.

Best,
Daniel

孙翔

unread,
Oct 13, 2020, 6:51:40 PM10/13/20
to deal.II User Group
Hi, Bruno,

Thanks a lot. We will have a try based on the example you gave us. 

Best,

Xiang

孙翔

unread,
Oct 13, 2020, 6:57:27 PM10/13/20
to deal.II User Group
Hi, Daniel,

I see. Thank you very much. So, I think our method may be available as long as it can separate the face.  

Best,

Xiang 

Reply all
Reply to author
Forward
0 new messages