Re: [deal.II] How to transform points on faces from unit cells to real cells?

2020-06-22 Thread Lex Lee
Doug, thanks for sharing me your ideas and the discussion. -Lex


On Monday, June 22, 2020 at 2:13:25 PM UTC-7, Doug Shi-Dong wrote:
>
> Agreed. Sorry for the confusion. Looked back at my code and it's probably 
> the most straightforward way.
>
> For some other unrelated reason I didn't want to use FEValues and directly 
> deal with the Mapping class.
>
> Doug
>
> On Monday, June 22, 2020 at 5:05:57 PM UTC-4, Simon Sticko wrote:
>>
>> Hi,
>>
>> Lex, given your previous question:
>>
>> https://groups.google.com/forum/#!topic/dealii/xghVE7Km78o
>>
>> If you are already using an FEFaceValues object with a dummy-quadrature 
>> (created from FiniteElement::get_unit_face_support_points())
>> then you can use one of the following functions on FEFaceValues to get 
>> the location of the support points in real space:
>>
>> quadrature_point()
>> get_quadrature_points()
>>
>> Best,
>> Simon
>>
>> On Monday, June 22, 2020 at 10:53:10 PM UTC+2, Lex Lee wrote:
>>>
>>> Hello Doug,
>>>
>>>
>>> Thanks for your help.
>>>
>>> However, I need to say, I just had done exactly what you described 
>>> before I posted this question.
>>>
>>> "FiniteElement::get_unit_face_support_points()” returns Points;
>>>
>>> “transform_unit_to_real_cell()” requires Point as input.
>>>
>>> The dimensions of points in cells is different from that on faces. 
>>> That’s one of the reasons why I posted this question.
>>>
>>>
>>> If I misunderstand you, please kindly let me know.
>>>
>>>
>>>
>>> Regards,
>>> Lex 
>>>
>>>
>>> On Jun 21, 2020, at 7:05 PM, Doug Shi-Dong  wrote:
>>>
>>> Hello Lex,
>>>
>>> transform_unit_to_real_cell() takes a point as unit cell's point an 
>>> input and returns the physical point location. Therefore, you can give the 
>>> unit face support points from the 
>>> FiniteElement::get_unit_face_support_points() (assuming your FiniteElement 
>>> has support points). And pass it to transform_unit_to_real_cell().
>>>
>>> Doug
>>>
>>> On Sunday, June 21, 2020 at 8:10:30 PM UTC-4, Lex Lee wrote:
>>>>
>>>> Hello Doug,
>>>>
>>>> Thanks for your kind help.
>>>>
>>>> I am trying to understand your suggestion in the original email.
>>>>
>>>> Are you suggesting me using the member function 
>>>> "transform_unit_to_real_cell()" to get all support points in a unit cell? 
>>>> In the step, sort out the face points I need? Am I correct?
>>>>
>>>>
>>>> Regards,
>>>>
>>>> Lex
>>>>
>>>> On Sunday, June 21, 2020 at 5:00:35 PM UTC-7, Doug Shi-Dong wrote:
>>>>>
>>>>> Hello Lex,
>>>>>
>>>>> You were close.
>>>>>
>>>>>
>>>>> https://www.dealii.org/current/doxygen/deal.II/classMapping.html#ae5df63553eb8ed170c3b90524853dd48
>>>>>
>>>>> The project_real_point_to_unit_point_on_face() is useful is you take a 
>>>>> "volume" point within the cell. Since you are mapping from unit to real, 
>>>>> you would always know whether your point is on the face or not.
>>>>>
>>>>> Therefore, transform_unit_to_real_cell() should do the trick. Unless 
>>>>> you somehow actually need to project a "volume" point, but projecting 
>>>>> within unit cell is easy, which you would then follow with 
>>>>> transform_unit_to_real_cell().
>>>>>
>>>>> Best regards,
>>>>>
>>>>> Doug
>>>>>
>>>>> On Saturday, June 20, 2020 at 8:16:22 PM UTC-4, Lex Lee wrote:
>>>>>>
>>>>>> Hello Deal.II Users,
>>>>>>
>>>>>>
>>>>>> I want to get the physical (geometry) coordinates for support points 
>>>>>> on cell faces. Also I know that there are such member functions that can 
>>>>>> me 
>>>>>> map points between reference and real cells in this link: 
>>>>>> https://www.dealii.org/current/doxygen/deal.II/classMapping.html . 
>>>>>>
>>>>>> However, via the link mentioned above, I only find a member function 
>>>>>> called project_real_point_to_uni

Re: [deal.II] How to transform points on faces from unit cells to real cells?

2020-06-22 Thread Lex Lee
Thousands of thanks, Simon, again you helped me a lot. -Lex

On Monday, June 22, 2020 at 2:05:57 PM UTC-7, Simon Sticko wrote:
>
> Hi,
>
> Lex, given your previous question:
>
> https://groups.google.com/forum/#!topic/dealii/xghVE7Km78o
>
> If you are already using an FEFaceValues object with a dummy-quadrature 
> (created from FiniteElement::get_unit_face_support_points())
> then you can use one of the following functions on FEFaceValues to get the 
> location of the support points in real space:
>
> quadrature_point()
> get_quadrature_points()
>
> Best,
> Simon
>
> On Monday, June 22, 2020 at 10:53:10 PM UTC+2, Lex Lee wrote:
>>
>> Hello Doug,
>>
>>
>> Thanks for your help.
>>
>> However, I need to say, I just had done exactly what you described before 
>> I posted this question.
>>
>> "FiniteElement::get_unit_face_support_points()” returns Points;
>>
>> “transform_unit_to_real_cell()” requires Point as input.
>>
>> The dimensions of points in cells is different from that on faces. That’s 
>> one of the reasons why I posted this question.
>>
>>
>> If I misunderstand you, please kindly let me know.
>>
>>
>>
>> Regards,
>> Lex 
>>
>>
>> On Jun 21, 2020, at 7:05 PM, Doug Shi-Dong  wrote:
>>
>> Hello Lex,
>>
>> transform_unit_to_real_cell() takes a point as unit cell's point an input 
>> and returns the physical point location. Therefore, you can give the unit 
>> face support points from the FiniteElement::get_unit_face_support_points() 
>> (assuming your FiniteElement has support points). And pass it to 
>> transform_unit_to_real_cell().
>>
>> Doug
>>
>> On Sunday, June 21, 2020 at 8:10:30 PM UTC-4, Lex Lee wrote:
>>>
>>> Hello Doug,
>>>
>>> Thanks for your kind help.
>>>
>>> I am trying to understand your suggestion in the original email.
>>>
>>> Are you suggesting me using the member function 
>>> "transform_unit_to_real_cell()" to get all support points in a unit cell? 
>>> In the step, sort out the face points I need? Am I correct?
>>>
>>>
>>> Regards,
>>>
>>> Lex
>>>
>>> On Sunday, June 21, 2020 at 5:00:35 PM UTC-7, Doug Shi-Dong wrote:
>>>>
>>>> Hello Lex,
>>>>
>>>> You were close.
>>>>
>>>>
>>>> https://www.dealii.org/current/doxygen/deal.II/classMapping.html#ae5df63553eb8ed170c3b90524853dd48
>>>>
>>>> The project_real_point_to_unit_point_on_face() is useful is you take a 
>>>> "volume" point within the cell. Since you are mapping from unit to real, 
>>>> you would always know whether your point is on the face or not.
>>>>
>>>> Therefore, transform_unit_to_real_cell() should do the trick. Unless 
>>>> you somehow actually need to project a "volume" point, but projecting 
>>>> within unit cell is easy, which you would then follow with 
>>>> transform_unit_to_real_cell().
>>>>
>>>> Best regards,
>>>>
>>>> Doug
>>>>
>>>> On Saturday, June 20, 2020 at 8:16:22 PM UTC-4, Lex Lee wrote:
>>>>>
>>>>> Hello Deal.II Users,
>>>>>
>>>>>
>>>>> I want to get the physical (geometry) coordinates for support points 
>>>>> on cell faces. Also I know that there are such member functions that can 
>>>>> me 
>>>>> map points between reference and real cells in this link: 
>>>>> https://www.dealii.org/current/doxygen/deal.II/classMapping.html . 
>>>>>
>>>>> However, via the link mentioned above, I only find a member function 
>>>>> called project_real_point_to_unit_point_on_face 
>>>>> <https://www.dealii.org/current/doxygen/deal.II/classMapping.html#a078f4e617fdb287e1dc7a5efa227b0ae>
>>>>>  (real 
>>>>> to unit) , no functions like project_unit_point_to_real_point_on_face 
>>>>> (unit to real).  
>>>>>
>>>>> Could someone kindly tell me how I can solve this problem?  
>>>>>
>>>>>
>>>>> Regards,
>>>>>
>>>>> Lex
>>>>>
>>>>
>> -- 
>> 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/uglzE4d4Flo/unsubscribe.
>> To unsubscribe from this group and all its topics, send an email to 
>> dea...@googlegroups.com.
>> To view this discussion on the web visit 
>> https://groups.google.com/d/msgid/dealii/fd8f078d-f0d4-4319-8977-a9a8e4672fb5o%40googlegroups.com
>>  
>> <https://groups.google.com/d/msgid/dealii/fd8f078d-f0d4-4319-8977-a9a8e4672fb5o%40googlegroups.com?utm_medium=email_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/71053a29-057d-4318-a31c-d418000d92ffo%40googlegroups.com.


Re: [deal.II] How to transform points on faces from unit cells to real cells?

2020-06-22 Thread Lex Lee
Hello Doug,


Thanks for your help.

However, I need to say, I just had done exactly what you described before I 
posted this question.

"FiniteElement::get_unit_face_support_points()” returns Points;

“transform_unit_to_real_cell()” requires Point as input.

The dimensions of points in cells is different from that on faces. That’s one 
of the reasons why I posted this question.


If I misunderstand you, please kindly let me know.



Regards,
Lex 


> On Jun 21, 2020, at 7:05 PM, Doug Shi-Dong  wrote:
> 
> Hello Lex,
> 
> transform_unit_to_real_cell() takes a point as unit cell's point an input and 
> returns the physical point location. Therefore, you can give the unit face 
> support points from the FiniteElement::get_unit_face_support_points() 
> (assuming your FiniteElement has support points). And pass it to 
> transform_unit_to_real_cell().
> 
> Doug
> 
> On Sunday, June 21, 2020 at 8:10:30 PM UTC-4, Lex Lee wrote:
> Hello Doug,
> 
> Thanks for your kind help.
> 
> I am trying to understand your suggestion in the original email.
> 
> Are you suggesting me using the member function 
> "transform_unit_to_real_cell()" to get all support points in a unit cell? In 
> the step, sort out the face points I need? Am I correct?
> 
> 
> Regards,
> 
> Lex
> 
> On Sunday, June 21, 2020 at 5:00:35 PM UTC-7, Doug Shi-Dong wrote:
> Hello Lex,
> 
> You were close.
> 
> https://www.dealii.org/current/doxygen/deal.II/classMapping.html#ae5df63553eb8ed170c3b90524853dd48
>  
> <https://www.dealii.org/current/doxygen/deal.II/classMapping.html#ae5df63553eb8ed170c3b90524853dd48>
> 
> The project_real_point_to_unit_point_on_face() is useful is you take a 
> "volume" point within the cell. Since you are mapping from unit to real, you 
> would always know whether your point is on the face or not.
> 
> Therefore, transform_unit_to_real_cell() should do the trick. Unless you 
> somehow actually need to project a "volume" point, but projecting within unit 
> cell is easy, which you would then follow with transform_unit_to_real_cell().
> 
> Best regards,
> 
> Doug
> 
> On Saturday, June 20, 2020 at 8:16:22 PM UTC-4, Lex Lee wrote:
> Hello Deal.II Users,
> 
> 
> I want to get the physical (geometry) coordinates for support points on cell 
> faces. Also I know that there are such member functions that can me map 
> points between reference and real cells in this link: 
> https://www.dealii.org/current/doxygen/deal.II/classMapping.html 
> <https://www.dealii.org/current/doxygen/deal.II/classMapping.html> . 
> 
> However, via the link mentioned above, I only find a member function called 
> project_real_point_to_unit_point_on_face 
> <https://www.dealii.org/current/doxygen/deal.II/classMapping.html#a078f4e617fdb287e1dc7a5efa227b0ae>
>  (real to unit) , no functions like project_unit_point_to_real_point_on_face 
> (unit to real).  
> 
> Could someone kindly tell me how I can solve this problem?  
> 
> 
> Regards,
> 
> Lex
> 
> -- 
> The deal.II project is located at http://www.dealii.org/ 
> <http://www.dealii.org/>
> For mailing list/forum options, see 
> https://groups.google.com/d/forum/dealii?hl=en 
> <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/uglzE4d4Flo/unsubscribe 
> <https://groups.google.com/d/topic/dealii/uglzE4d4Flo/unsubscribe>.
> To unsubscribe from this group and all its topics, 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/fd8f078d-f0d4-4319-8977-a9a8e4672fb5o%40googlegroups.com
>  
> <https://groups.google.com/d/msgid/dealii/fd8f078d-f0d4-4319-8977-a9a8e4672fb5o%40googlegroups.com?utm_medium=email_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/6DAFD35C-FD5F-4E41-B879-4C902CAF6E3F%40gmail.com.


[deal.II] Re: How to transform points on faces from unit cells to real cells?

2020-06-21 Thread Lex Lee
Hello Doug,

Thanks for your kind help.

I am trying to understand your suggestion in the original email.

Are you suggesting me using the member function 
"transform_unit_to_real_cell()" to get all support points in a unit cell? 
In the step, sort out the face points I need? Am I correct?


Regards,

Lex

On Sunday, June 21, 2020 at 5:00:35 PM UTC-7, Doug Shi-Dong wrote:
>
> Hello Lex,
>
> You were close.
>
>
> https://www.dealii.org/current/doxygen/deal.II/classMapping.html#ae5df63553eb8ed170c3b90524853dd48
>
> The project_real_point_to_unit_point_on_face() is useful is you take a 
> "volume" point within the cell. Since you are mapping from unit to real, 
> you would always know whether your point is on the face or not.
>
> Therefore, transform_unit_to_real_cell() should do the trick. Unless you 
> somehow actually need to project a "volume" point, but projecting within 
> unit cell is easy, which you would then follow with 
> transform_unit_to_real_cell().
>
> Best regards,
>
> Doug
>
> On Saturday, June 20, 2020 at 8:16:22 PM UTC-4, Lex Lee wrote:
>>
>> Hello Deal.II Users,
>>
>>
>> I want to get the physical (geometry) coordinates for support points on 
>> cell faces. Also I know that there are such member functions that can me 
>> map points between reference and real cells in this link: 
>> https://www.dealii.org/current/doxygen/deal.II/classMapping.html . 
>>
>> However, via the link mentioned above, I only find a member function 
>> called project_real_point_to_unit_point_on_face 
>> <https://www.dealii.org/current/doxygen/deal.II/classMapping.html#a078f4e617fdb287e1dc7a5efa227b0ae>
>>  (real 
>> to unit) , no functions like project_unit_point_to_real_point_on_face 
>> (unit to real).  
>>
>> Could someone kindly tell me how I can solve this problem?  
>>
>>
>> Regards,
>>
>> Lex
>>
>

-- 
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/afddc2e8-69fe-4df5-913e-66829dab3195o%40googlegroups.com.


[deal.II] How to transform points on faces from unit cells to real cells?

2020-06-20 Thread Lex Lee
Hello Deal.II Users,


I want to get the physical (geometry) coordinates for support points on 
cell faces. Also I know that there are such member functions that can me 
map points between reference and real cells in this link: 
https://www.dealii.org/current/doxygen/deal.II/classMapping.html . 

However, via the link mentioned above, I only find a member function called 
project_real_point_to_unit_point_on_face 

 (real 
to unit) , no functions like project_unit_point_to_real_point_on_face (unit 
to real).  

Could someone kindly tell me how I can solve this problem?  


Regards,

Lex

-- 
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/49ae17a3-0baa-4b5e-bbde-d127eda40cabo%40googlegroups.com.


[deal.II] Re: How to get normal / tangential vectors at nodes, not at quadrature points?

2020-06-05 Thread Lex Lee
Brilliant! Thanks a lot. -Lei Li

On Friday, June 5, 2020 at 4:49:56 AM UTC-7, Simon Sticko wrote:
>
> Hi,
> I suspect that the condition you have would be easier to enforce weakly by 
> adding terms to the weak formulation, as is done in e.g. discontinuous 
> Galerkin.
>
> Nevertheless, if you still want the normals at the nodes you can create a 
> "dummy" quadrature which has the nodes on the face as quadrature points:
>
> const FiniteElement  = ... // some element 
>
> const Quadrature quadrature(fe.get_unit_face_support_points());
>
> You can then use this quadrature in FEFaceValues to get the normals. Here, 
> the weights of the dummy quadrature are inf, but if the normals are 
> everything you need that isn't a problem.
>
> Best,
> Simon
>
> On Thursday, June 4, 2020 at 8:09:08 PM UTC+2, Lex Lee wrote:
>>
>> Hello Deal.II Users,
>>
>>
>> I am working on setting a constraint: (V - v_s ) \cdot n =  \phi_f (v_f - 
>> v_s) \cdot n  on three vector variables at the interface with affine 
>> constraint class in Deal.II's library.
>>
>> (Where, V, v_s, and v_f are velocity vectors on two different domains,  
>> and they are coupled with each other at the interface; n is the normal 
>> vector; \phi_f is the volume fraction.)
>>
>>
>> I decided to constrain either V_x= -(...) / n_x  or  V_y= -(...) / n_y 
>> depending on the absolute values of n_x or n_y (n_x and n_y are the 
>> components at x, y directions of the normal vector n).
>>
>> Now, I have a problem with getting the normal vectors *at nodes *when 
>> playing with affine constraint within the fe_nothing and hp:finite element 
>> framework. The relevant function/class I have found in Deal.II's library 
>> all return the normal vector *at quadrature points,* not at nodes.
>>
>> Have you ever encountered a problem like this? Could you kindly share me 
>> your idea of handling this problem? Thousand of thanks. 
>>
>>
>> Best,
>>
>> Lei Li
>>
>>
>>

-- 
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/a2a816d5-2cf1-483f-a0c6-967992b10a20o%40googlegroups.com.


[deal.II] How to get normal / tangential vectors at nodes, not at quadrature points?

2020-06-04 Thread Lex Lee
Hello Deal.II Users,


I am working on setting a constraint: (V - v_s ) \cdot n =  \phi_f (v_f - 
v_s) \cdot n  on three vector variables at the interface with affine 
constraint class in Deal.II's library.

(Where, V, v_s, and v_f are velocity vectors on two different domains,  and 
they are coupled with each other at the interface; n is the normal vector; 
\phi_f is the volume fraction.)


I decided to constrain either V_x= -(...) / n_x  or  V_y= -(...) / n_y 
depending on the absolute values of n_x or n_y (n_x and n_y are the 
components at x, y directions of the normal vector n).

Now, I have a problem with getting the normal vectors *at nodes *when 
playing with affine constraint within the fe_nothing and hp:finite element 
framework. The relevant function/class I have found in Deal.II's library 
all return the normal vector *at quadrature points,* not at nodes.

Have you ever encountered a problem like this? Could you kindly share me 
your idea of handling this problem? Thousand of thanks. 


Best,

Lei Li


-- 
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/d0e78c60-d0d0-4748-8252-de28d7ef5a8co%40googlegroups.com.


[deal.II] How to simplify a 2D complex problem to a '1D-like' problem?

2020-04-24 Thread Lex Lee
Hello Deal.II Users,


I am using Deal.II to try to simplify/reduce my complex 2D problem to a 
1D-like problem, namely, let the component values at x-direction of all 
vectors be zero. (for example, V=[v_x,  v_y]' = [0, v_y]') . 
Moreover,  given that the governing equations, boundary conditions and 
geometry stay the same, operators like gradient or divergence applying on 
the variables will not alter the values at x-direction during the process. 
I tried, however, I have no idea how to make it in Deal.II. 

I hope you can kindly share your coding experience or give me some hints 
regarding this problem. Thanks.


Best,
Lex




-- 
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/cacdd8d7-a5f0-4a3b-89b6-f782b8a4cfd0%40googlegroups.com.


[deal.II] Debug to identify pairs of DoFs that are co-lated and correspond to the components.

2020-04-05 Thread Lex Lee
 

Hello all,


I designed a coupled Laplace problem to play with ConstraintMatrix for 
coupled components.  On face \Gamma_4 and \Gamma_2, I let u=0.5v-0.5, 
v=2u+1, respectively .

 


[image: Screen Shot 2020-04-05 at 4.14.41 PM.png]

Both u and v use the same finite element: FE_Q<*dim*>(1), 1, and 
'block_component (2, 0)' is used to store the relevant scalar values. 


Below is the pieces of incompleted codes for my trying to identify pairs of 
DoFs that are coupled and correspond to u and v components. 


However, this part doesn't work. 


Could you kindly help me check some lines? Thanks!






*for* (*const* *auto*  : dof_handler.active_cell_iterators())

  {

  *for* (*unsigned* *int* face_number = 0; face_number < GeometryInfo<
*dim*>::faces_per_cell; ++face_number)

  {

  *if* (cell->face(face_number)->at_boundary() &&

  ( cell->face(face_number)->boundary_id() == 4 ) )

  {


  std::vector<*unsigned* *int*> local_face_dof_indices (fe.dofs_per_face
);

  //unsigned int n_nodes=fe.dofs_per_face/2.0;//n_node=1 dofs=u,v

  {

  cell->face(face_number)->get_dof_indices (local_face_dof_indices);

  std::vector<*unsigned* *int*> u_i(fe.dofs_per_face),v_i(fe.
dofs_per_face);

  *unsigned* *int* component;

  {

  *for* (*unsigned* *int* i=0; ihttp://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/1d7faba0-ae5b-428a-8b40-4701551732cc%40googlegroups.com.


[deal.II] How to set up constraints for several different variables at the boundary?

2020-03-27 Thread Lex Lee
Hello all, 


In order to handle the constraint : (v-v_s) \times n=\phi (v_f -v_s) \times 
n at the boundary in my research problem, I designed the following test 
problem to play with ConstraintsMatrix in deal.ii.
 (n is the normal vector, and v, v_s, v_f are the velocities of three 
phases. They and their test functions satisfy the constraints mentioned 
above at the boundary)

Back to the designed problem below. My question is how to set up 
constraints on both u and v at the boundary form Gamma_1 to Gamma_4 in the 
picture? Can someone give me some hints? 

Many thanks in advance.

[image: elohllkbicdofljg.png]



Best,

Lex

-- 
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/de4e6d16-2b4a-4833-9113-ff0689d070cf%40googlegroups.com.


Re: [deal.II] How to Make Test Functions Satisfy Certain Constraints

2020-02-17 Thread Lex Lee
Yeah, Daniel, thank you for your kind reply. However, I don't think 
tutorial 1-6 will be helpful/useful to me.

On Monday, February 17, 2020 at 7:04:38 AM UTC-8, Daniel Arndt wrote:
>
> Lex,
>
> Just look at the first six tutorials at 
> https://www.dealii.org/current/doxygen/deal.II/Tutorial.html.
>
> Best,
> Daniel
>
> Am So., 16. Feb. 2020 um 23:45 Uhr schrieb Lex Lee  >:
>
>> Hello all,
>>
>>
>> To numerically solve the governing equations I am studying now, I notice 
>> that the chosen three test functions should satisfy one of the boundary 
>> conditions. Namely, I need to set constraints for the test functions when 
>> developing the codes. I am wondering if I can do it in deal.ii. If so, can 
>> anyone give me some hints, I mean, study/reading material? 
>>
>>
>> Best,
>>
>> Lex Lee
>>
>> -- 
>> 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 dea...@googlegroups.com .
>> To view this discussion on the web visit 
>> https://groups.google.com/d/msgid/dealii/40fa19df-509d-4b78-a98c-db24ab1b2c66%40googlegroups.com
>>  
>> <https://groups.google.com/d/msgid/dealii/40fa19df-509d-4b78-a98c-db24ab1b2c66%40googlegroups.com?utm_medium=email_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/c7c4f83c-7a90-4975-bef8-f7141b713423%40googlegroups.com.


[deal.II] How to Make Test Functions Satisfy Certain Constraints

2020-02-16 Thread Lex Lee
Hello all,


To numerically solve the governing equations I am studying now, I notice 
that the chosen three test functions should satisfy one of the boundary 
conditions. Namely, I need to set constraints for the test functions when 
developing the codes. I am wondering if I can do it in deal.ii. If so, can 
anyone give me some hints, I mean, study/reading material? 


Best,

Lex Lee

-- 
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/40fa19df-509d-4b78-a98c-db24ab1b2c66%40googlegroups.com.