efem.py

Define the classes, methods and functions for Edge Finite Element Method (EFEM) of lowest order in tetrahedral meshes, namely, Nedelec elements.

petgem.efem.efem.compute_boundary_edges(edgesN, bfacesN)[source]

Compute boundary edges of a tetrahedral mesh.

Parameters:
  • elemsN (ndarray) – edges-nodes connectivity.
  • bfacesN (ndarray) – boundary-faces-nodes connectivity.
Returns:

boundary-edges connectivity.

Return type:

ndarray

petgem.efem.efem.compute_boundary_faces(elemsF, facesN)[source]

Compute boundary faces of a tetrahedral mesh.

Parameters:
  • elemsF (ndarray) – elements-face connectivity.
  • facesN (ndarray) – faces-nodes connectivity.
Returns:

boundary-faces connectivity.

Return type:

ndarray

petgem.efem.efem.compute_edges(elemsN)[source]

Compute edges of a 3D tetrahedral mesh.

Parameters:elemsN (ndarray) – elements-nodes connectivity.
Returns:element/edges connectivity and edges/nodes connectivity.
Return type:ndarray
petgem.efem.efem.compute_faces(elemsN)[source]

Compute the element’s faces of a 3D tetrahedral mesh.

Parameters:matrix (ndarray) – elements-nodes connectivity.
Returns:element/faces connectivity.
Return type:ndarray

Note

References:

Rognes, Marie E., Robert Cndarray. Kirby, and Anders Logg. “Efficient assembly of H(div) and H(curl) conforming finite elements.” SIAM Journal on Scientific Computing 31.6 (2009): 4130-4151.

petgem.efem.efem.unitary_test()[source]

Unitary test for efem.py script.