Interior Product#

Besides Inner Product Mass Matrix and Exterior Derivative, the last key operation to deal with is the interior product. This involves applying a tangent vector field (which may be the result of lowering a 1-form) to a \(k\)-form. In the context of FEM solvers, the actual form of this operation that is interesting taking an inner product with a \((k - 1)\)-form weight. The mass matrix that is the result of doing so is computed using compute_kform_interior_product_matrix().

fdg.compute_kform_interior_product_matrix(smap: SpaceMap, order: int, left_bases: FunctionSpace, right_bases: FunctionSpace, vector_field_components: numpy.typing.NDArray[numpy.double], *, integration_registry: IntegrationRegistry = DEFAULT_INTEGRATION_REGISTRY, basis_registry: BasisRegistry = DEFAULT_BASIS_REGISTRY) numpy.typing.NDArray[numpy.double]#

Compute the mass matrix that is the result of interior product in an inner product.

Parameters:
  • smap (SpaceMap) – Mapping of the space in which this is to be computed.

  • order (int) – Order of the k-form for which this is to be done.

  • left_bases (FunctionSpace) – Function space of 0-forms used as test forms.

  • right_bases (FunctionSpace) – Function space of 0-forms used as trial forms.

  • vector_field_components (array) – Vector field components involved in the interior product.

  • int_registry (IntegrationRegistry, optional) – Registry to get the integration rules from.

  • basis_registry (BasisRegistry, optional) – Registry to get the basis from.

Returns:

Mass matrix for inner product of two k-forms, where the right one has the interior product with the vector field applied to it.

Return type:

array