sfepy.discrete.fem.facets module¶
Helper functions related to mesh facets and Lagrange FE approximation.
Line: ori - iter:
0 - iter0 1 - iter1
Triangle: ori - iter:
0 - iter21 1 - iter12 3 - iter02 4 - iter20 6 - iter10 7 - iter01
Possible couples:
1, 4, 7 <-> 0, 3, 6
Square: ori - iter:
0 - iter10x01y 7 - iter10y01x
11 - iter01y01x 30 - iter01x10y 33 - iter10x10y 52 - iter01y10x 56 - iter10y10x 63 - iter01x01y
Possible couples:
7, 33, 52, 63 <-> 0, 11, 30, 56
_quad_ori_groups:
i < j < k < l
all faces are permuted to
l — k | | | | i — j
ijkl
which is the same as
l — j | | | | i — k
ikjl
k — l | | | | i — j
ijlk
start at one vertex and go around clock-wise or anticlock-wise
-> 8 groups of 3 -> same face nodes order in ijkl (63), ikjl (59), ijlk (31) ilkj (11), iklj (15), iljk (43) jkli ( 7), jlki ( 3), kjli ( 6) kjil (56), jkil (57), ljik (48) lijk (52), likj (20), kijl (60) lkji ( 0), ljki ( 4), klji ( 1) klij (33), lkij (32), jlik (41) jilk (30), kilj (22), jikl (62)
- sfepy.discrete.fem.facets.build_orientation_map(n_fp)[source]¶
The keys are binary masks of the lexicographical ordering of facet vertices. A bit i set to one means v[i] < v[i+1].
The values are [original_order, permutation], where permutation can be used to sort facet vertices lexicographically. Hence permuted_facet = facet[permutation].