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

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

sfepy.discrete.fem.facets.get_facet_dof_permutations(n_fp, order)[source]

Prepare DOF permutation vector for each possible facet orientation.

sfepy.discrete.fem.facets.iter0(num)[source]
sfepy.discrete.fem.facets.iter01(num)[source]
sfepy.discrete.fem.facets.iter01x01y(num)[source]
sfepy.discrete.fem.facets.iter01x10y(num)[source]
sfepy.discrete.fem.facets.iter01y01x(num)[source]
sfepy.discrete.fem.facets.iter01y10x(num)[source]
sfepy.discrete.fem.facets.iter02(num)[source]
sfepy.discrete.fem.facets.iter1(num)[source]
sfepy.discrete.fem.facets.iter10(num)[source]
sfepy.discrete.fem.facets.iter10x01y(num)[source]
sfepy.discrete.fem.facets.iter10x10y(num)[source]
sfepy.discrete.fem.facets.iter10y01x(num)[source]
sfepy.discrete.fem.facets.iter10y10x(num)[source]
sfepy.discrete.fem.facets.iter12(num)[source]
sfepy.discrete.fem.facets.iter20(num)[source]
sfepy.discrete.fem.facets.iter21(num)[source]
sfepy.discrete.fem.facets.make_line_matrix(order)[source]
sfepy.discrete.fem.facets.make_square_matrix(order)[source]
sfepy.discrete.fem.facets.make_triangle_matrix(order)[source]