def feec_element(family, n, r, k):
    """Finite element exterior calculus notation
    n = topological dimension of domain
    r = polynomial order
    k = form_degree"""
    _feec_elements = {'P- Lambda': ((('P', r), ('DP', r - 1)), (('P', r), (
        'RTE', r), ('DP', r - 1)), (('P', r), ('N1E', r), ('N1F', r), ('DP',
        r - 1))), 'P Lambda': ((('P', r), ('DP', r)), (('P', r), ('BDME', r
        ), ('DP', r)), (('P', r), ('N2E', r), ('N2F', r), ('DP', r))),
        'Q- Lambda': ((('Q', r), ('DQ', r - 1)), (('Q', r), ('RTCE', r), (
        'DQ', r - 1)), (('Q', r), ('NCE', r), ('NCF', r), ('DQ', r - 1))),
        'S Lambda': ((('S', r), ('DPC', r)), (('S', r), ('BDMCE', r), (
        'DPC', r)), (('S', r), ('AAE', r), ('AAF', r), ('DPC', r)))}
    _feec_elements['P-'] = _feec_elements['P- Lambda']
    _feec_elements['P'] = _feec_elements['P Lambda']
    _feec_elements['Q-'] = _feec_elements['Q- Lambda']
    _feec_elements['S'] = _feec_elements['S Lambda']
    family, r = _feec_elements[family][n - 1][k]
    return family, r
