@@ -412,9 +412,8 @@ def __init__(self, ref_el, degree):
412412 degree = self ._parse_degree (degree )
413413 flat_el = flatten_reference_cube (ref_el )
414414 dim = flat_el .get_spatial_dimension ()
415- if dim != 2 :
416- if dim != 3 :
417- raise Exception ("Trimmed Serendipity_k edge elements only valid for dimensions 2 and 3" )
415+ if dim not in {2 , 3 }:
416+ raise Exception ("Trimmed Serendipity_k edge elements only valid for dimensions 2 and 3" )
418417
419418 verts = flat_el .get_vertices ()
420419
@@ -448,14 +447,9 @@ def __init__(self, ref_el, degree):
448447 else :
449448 IL = ()
450449
451- Sminus_list = EL + FL
452- if dim == 3 :
453- Sminus_list = Sminus_list + IL
450+ Sminus_list = EL + FL + IL
454451
455- if dim == 2 :
456- self .basis = {(0 , 0 ): Array (Sminus_list )}
457- else :
458- self .basis = {(0 , 0 , 0 ): Array (Sminus_list )}
452+ self .basis = {(0 ,)* dim : Array (Sminus_list )}
459453 super ().__init__ (ref_el = ref_el , degree = degree , mapping = "covariant piola" )
460454
461455
@@ -484,5 +478,5 @@ def __init__(self, ref_el, degree):
484478
485479 Sminus_list = EL + FL
486480 Sminus_list = [[- a [1 ], a [0 ]] for a in Sminus_list ]
487- self .basis = {(0 , 0 ) : Array (Sminus_list )}
481+ self .basis = {(0 ,) * dim : Array (Sminus_list )}
488482 super ().__init__ (ref_el = ref_el , degree = degree , mapping = "contravariant piola" )
0 commit comments