Got it, thank you for your help! I will go with the last suggestion using 
face_system_to_component_index() function and taking the inverse mapping. I 
didn't think about that, forgive me, I am quite new to dealii library.
Thank you again!
Il giorno venerdì 3 gennaio 2025 alle 17:44:54 UTC+1 Wolfgang Bangerth ha 
scritto:

> On 12/19/24 11:52, Sclah wrote:
> > Thank you for your help.Yes, I am using the same finite element for the 
> two 
> > variables.
> > I just checked and face_component_to_system_index() doesn't seem to 
> exist 
> > inside the library, will component_to_system_index() work just fine?
>
> Ah, that's a bummer. When you call
> cell->face(f)->get_dof_indices(face_dof_indices)
> you get a list of global DoF indices, say
> [12, 13, 14, 27, 28, 29]
> and you want to find out which of these corresponds to, say, an x-velocity 
> DoF. fe.system_to_component_index() can tell you that if the list was a 
> list 
> of DoF indices for the *cell*, but you have a list of DoF indices on the 
> *face*.
>
> Since there is no face_system_to_component_index(), you have two options:
> * You write a function FiniteElement::face_system_to_component_index(), 
> using 
> FiniteElement::system_to_component_index() as an example.
>
> * You find a way to translate from face to cell DoF indices, for example 
> to 
> know that the 14 above is the face DoF index for shape function 2 
> (starting 
> counting at zero) on the cell and that that is, say, shape function 8 on 
> the 
> cell. Then you can use FiniteElement::system_to_component_index(8) to 
> query 
> the properties of the 8th shape function. You can make that translation by 
> calling
> cell->get_dof_indices(cell_dof_indices)
> and then finding where each of the elements of face_dof_indices is located 
> in 
> cell_dof_indices.
>
> That said, looking this up just now, there *is* a function called 
> FiniteElement::face_system_to_component_index(). Why can't you use that? 
> There 
> is not one for the other direction, i.e., there is no 
> FiniteElement::face_component_to_system_index() but you only need things 
> in 
> one direction and can get the other direction as the inverse of that 
> mapping.
>
> Best
> W.
>
> -- 
> ------------------------------------------------------------------------
> Wolfgang Bangerth email: [email protected]
> www: http://www.math.colostate.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 [email protected].
To view this discussion visit 
https://groups.google.com/d/msgid/dealii/04a6a9f5-bba2-48cb-9bb6-79c7606c852an%40googlegroups.com.

Reply via email to