# sfepy.discrete.fem.geometry_element module

GeometryElement describes the geometric entities of a finite element mesh.

## Notes

- geometry_data: surface facets are assumed to be of the same kind for each geometry element - wedges or pyramides are not supported.

- the orientation is a tuple: (root1, vertices of direction vectors, swap from, swap to, root2, …)

class sfepy.discrete.fem.geometry_element.GeometryElement(name)

  The geometric entities of a finite element mesh.

  create_surface_facet()

    Create a GeometryElement instance corresponding to this instance surface facet.

  get_conn_permutations()

    Get all possible connectivity permutations corresponding to different spatial orientations of the geometry element.

  get_edges_per_face()

    Return the indices into self.edges per face.

  get_grid(n_nod)

    Get a grid of n_nod interpolation points, including the geometry element vertices. The number of points must correspond to a valid number of FE nodes for each geometry.

  get_interpolation_name()

    Get the name of corresponding linear interpolant.

  get_surface_entities()

    Return self.vertices in 1D, self.edges in 2D and self.faces in 3D.

sfepy.discrete.fem.geometry_element.create_geometry_elements(names=None)

  Utility function to create GeometryElement instances.

  Parameters:
    names str, optional

      The names of the entity, one of the keys in geometry_data dictionary. If None, all keys of geometry_data are used.

  Returns:
    gels dict

      The dictionary of geometry elements with names as keys.

sfepy.discrete.fem.geometry_element.setup_orientation(vecs_tuple)