Source code for shamo.core.fem.tissue

"""Implement the `Tissue` class."""
from . import Group, Field


[docs]class Tissue(dict): """A FEM tissue. Parameters ---------- surf : dict [str, int or Iterable [int]] or shamo.fem.Group The surface physical group of the tissue. vol : dict [str, int or Iterable [int]] or shamo.fem.Group The volume physical group of the tissue. fields : dict [str, *] The fields defined in th tissue. """ def __init__(self, surf, vol, fields={}): super().__init__( { "surf": Group(**surf), "vol": Group(**vol), "fields": {n: Field(**f) for n, f in fields.items()}, } ) @property def surf(self): """Return the surface group of the tissue. Returns ------- shamo.fem.Group The surface group of the tissue. """ return self["surf"] @property def vol(self): """Return the volume group of the tissue. Returns ------- shamo.fem.Group The volume group of the tissue. """ return self["vol"] @property def fields(self): """Return the fields of the tissue. Returns ------- dict [str, shamo.fem.Field] The fields of the tissue. """ return self["fields"]