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: bange...@colostate.edu
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 dealii+unsubscr...@googlegroups.com.
To view this discussion visit
https://groups.google.com/d/msgid/dealii/6bb561ee-8317-493d-9a45-c5f09674c48f%40colostate.edu.