Exemplo n.º 1
0
    def __init__(self, ref_el, degree):
        element = Lagrange(ref_el, degree)

        cell_dim = ref_el.get_dimension()
        assert cell_dim == max(element.entity_dofs().keys())
        cell_entity_dofs = element.entity_dofs()[cell_dim][0]
        if len(cell_entity_dofs) == 0:
            raise RuntimeError('Bubble element of degree %d has no dofs' %
                               degree)

        super(Bubble, self).__init__(element, indices=cell_entity_dofs)
Exemplo n.º 2
0
    def __init__(self, ref_el, degree, codim):
        element = Lagrange(ref_el, degree)

        cell_dim = ref_el.get_dimension()
        assert cell_dim == max(element.entity_dofs().keys())
        dofs = list(
            sorted(chain(*element.entity_dofs()[cell_dim - codim].values())))
        if len(dofs) == 0:
            raise RuntimeError(
                'Bubble element of degree %d and codimension %d has no dofs' %
                (degree, codim))

        super(CodimBubble, self).__init__(element, indices=dofs)