Re: [deal.II] Re: APPLY BOUNDARY CONDTION ON INTERNAL FACE

2020-10-13 Thread 孙翔
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 

On Tuesday, 13 October 2020 at 14:38:29 UTC-7 d.arnd...@gmail.com wrote:

> 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
>
> Am Di., 13. Okt. 2020 um 11:20 Uhr schrieb 孙翔 :
>
>> 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:
>>
>>> 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
>>>
>>>
>>> Am Mo., 12. Okt. 2020 um 09:21 Uhr schrieb Bruno Turcksin <
>>> bruno.t...@gmail.com>:
>>>
 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



 On Monday, October 12, 2020 at 2:10:15 AM UTC-4 shya...@gmail.com 
 wrote:

> 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
>
 -- 
 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
  
 
 .

>>> -- 
>> 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/a837e332-a242-45b9-b79b-a23a8f37deb0n%40googlegroups.com
>>  
>> 
>> .
>>
>

-- 
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/ea86e520-6fd6-4c8c-bd26-0e7b42b45768n%40googlegroups.com.


Re: [deal.II] Re: APPLY BOUNDARY CONDTION ON INTERNAL FACE

2020-10-13 Thread 孙翔
Hi, Bruno,

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

Best,

Xiang

On Tuesday, 13 October 2020 at 10:49:08 UTC-7 bruno.t...@gmail.com wrote:

> 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
>
> Le mar. 13 oct. 2020 à 11:02, 孙翔  a écrit :
> >
> >
> > 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
> > On Monday, 12 October 2020 at 06:21:03 UTC-7 bruno.t...@gmail.com wrote:
> >>
> >> 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
> >>
> >>
> >>
> >> On Monday, October 12, 2020 at 2:10:15 AM UTC-4 shya...@gmail.com 
> wrote:
> >>>
> >>> 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
> >
> > --
> > 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
> .
>

-- 
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/c6ceef9b-a1db-4aad-9dfa-3561be8e0534n%40googlegroups.com.


Re: [deal.II] Re: APPLY BOUNDARY CONDTION ON INTERNAL FACE

2020-10-13 Thread Daniel Arndt
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

Am Di., 13. Okt. 2020 um 11:20 Uhr schrieb 孙翔 :

> 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:
>
>> 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
>>
>>
>> Am Mo., 12. Okt. 2020 um 09:21 Uhr schrieb Bruno Turcksin <
>> bruno.t...@gmail.com>:
>>
>>> 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
>>>
>>>
>>>
>>> On Monday, October 12, 2020 at 2:10:15 AM UTC-4 shya...@gmail.com wrote:
>>>
 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

>>> --
>>> 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
>>> 
>>> .
>>>
>> --
> 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/a837e332-a242-45b9-b79b-a23a8f37deb0n%40googlegroups.com
> 
> .
>

-- 
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/CAOYDWb%2BVWhJtqWZ86T229jo0aUMnZgNqZDE9FDDCs5J_9dCj-A%40mail.gmail.com.


Re: [deal.II] Re: APPLY BOUNDARY CONDTION ON INTERNAL FACE

2020-10-13 Thread Bruno Turcksin
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

Le mar. 13 oct. 2020 à 11:02, 孙翔  a écrit :
>
>
> 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
> On Monday, 12 October 2020 at 06:21:03 UTC-7 bruno.t...@gmail.com wrote:
>>
>> 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
>>
>>
>>
>> On Monday, October 12, 2020 at 2:10:15 AM UTC-4 shya...@gmail.com wrote:
>>>
>>> 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
>
> --
> 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+unsubscr...@googlegroups.com.
> To view this discussion on the web visit 
> https://groups.google.com/d/msgid/dealii/dc0e5cab-64c7-4af7-b957-2a51f83ee5f4n%40googlegroups.com.

-- 
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/CAGVt9eP-obzx1%2B0rBq5c9GkP-taGXvPo8dQCRVOM7As%2BsroANw%40mail.gmail.com.


Re: [deal.II] Re: APPLY BOUNDARY CONDTION ON INTERNAL FACE

2020-10-13 Thread 孙翔
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:

> 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
>
>
> Am Mo., 12. Okt. 2020 um 09:21 Uhr schrieb Bruno Turcksin <
> bruno.t...@gmail.com>:
>
>> 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
>>
>>
>>
>> On Monday, October 12, 2020 at 2:10:15 AM UTC-4 shya...@gmail.com wrote:
>>
>>> 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
>>>
>> -- 
>> 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
>>  
>> 
>> .
>>
>

-- 
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/a837e332-a242-45b9-b79b-a23a8f37deb0n%40googlegroups.com.


Re: [deal.II] Re: APPLY BOUNDARY CONDTION ON INTERNAL FACE

2020-10-13 Thread 孙翔
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



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

> 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
>
>
> Am Mo., 12. Okt. 2020 um 09:21 Uhr schrieb Bruno Turcksin <
> bruno.t...@gmail.com>:
>
>> 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
>>
>>
>>
>> On Monday, October 12, 2020 at 2:10:15 AM UTC-4 shya...@gmail.com wrote:
>>
>>> 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
>>>
>> -- 
>> 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
>>  
>> 
>> .
>>
>

-- 
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/5cffd4a0-3c0a-4e84-977c-932a404e468an%40googlegroups.com.


Re: [deal.II] Re: APPLY BOUNDARY CONDTION ON INTERNAL FACE

2020-10-12 Thread Daniel Arndt
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


Am Mo., 12. Okt. 2020 um 09:21 Uhr schrieb Bruno Turcksin <
bruno.turck...@gmail.com>:

> 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
>
>
>
> On Monday, October 12, 2020 at 2:10:15 AM UTC-4 shya...@gmail.com wrote:
>
>> 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
>>
> --
> 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/3840f39f-e3ae-4d76-886b-c3658bcade13n%40googlegroups.com
> 
> .
>

-- 
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/CAOYDWbK9x9i0CjYxuAK2Hu3dKHULXz07%2BOHDLv8yLJ7uLLX1bQ%40mail.gmail.com.