warp.fem.make_polynomial_space#

warp.fem.make_polynomial_space(
geo,
dtype=float,
dof_mapper=None,
degree=1,
element_basis=None,
discontinuous=False,
family=None,
)[source]#

Equips a geometry with a collocated, polynomial function space. Equivalent to successive calls to make_polynomial_basis_space() then make_collocated_function_space, make_covariant_function_space or make_contravariant_function_space.

Parameters:
  • geo (Geometry) – the Geometry on which to build the space

  • dtype (type) – value type the function space. If dof_mapper is provided, the value type from the DofMapper will be used instead.

  • dof_mapper (DofMapper | None) – mapping from node degrees of freedom to function values, defaults to Identity. Useful for reduced coordinates, e.g. SymmetricTensorMapper maps 2x2 (resp 3x3) symmetric tensors to 3 (resp 6) degrees of freedom.

  • degree (int) – polynomial degree of the per-element shape functions

  • discontinuous (bool) – if True, use Discontinuous Galerkin shape functions. Discontinuous is implied if degree is 0, i.e, piecewise-constant shape functions.

  • element_basis (ElementBasis | None) – type of basis function for the individual elements

  • family (Polynomial | None) – Polynomial family used to generate the shape function basis. If not provided, a reasonable basis is chosen.

Returns:

the constructed function space

Return type:

CollocatedFunctionSpace