cashocs.geometry.measure.generate_measure#
- cashocs.geometry.measure.generate_measure(idx: list[int | str], measure: ufl.Measure) ufl.Measure | _EmptyMeasure [source]#
Generates a measure based on indices.
Generates a
ufl.MeasureSum
or_EmptyMeasure
object corresponding tomeasure
and the subdomains / boundaries specified in idx. This is a convenient shortcut to writingdx(1) + dx(2) + dx(3)
in case many measures are involved.- Parameters:
idx (list[int | str]) – A list of indices for the boundary / volume markers that define the (new) measure.
measure (ufl.Measure) – The corresponding UFL measure.
- Returns:
The corresponding sum of the measures or an empty measure.
- Return type:
ufl.Measure | _EmptyMeasure
Examples
Here, we create a wrapper for the surface measure on the top and bottom of the unit square:
import fenics import cashocs mesh, _, boundaries, dx, ds, _ = cashocs.regular_mesh(25) top_bottom_measure = cashocs.geometry.generate_measure([3,4], ds) fenics.assemble(1*top_bottom_measure)