Hi Miklos,
thanks, that’s probably what I’m looking for. It works if I just create a BDFM1 element on a 2d grid, and then say
U1 = FiniteElement('BDFM',triangle,2)
U1_broken = BrokenElement(U1)
However, the 3d code below which builds elements on an extruded mesh does not work. I’ve also tried to first create BrokenElement versions of U1 and V1, and then combine them, but that doesn’t work either.
Thanks,
Eike 
It has methods for assembling a UFL form, appling the locally assembled matrices to a vector, adding and multiplying locally assembled matrices and calculating the inverse (using dgels from LAPACK).
from firedrake import *
  
host_mesh = UnitIcosahedralSphereMesh(0)
mesh = ExtrudedMesh(host_mesh,layers=4,extrusion_type='radial')
  
U1 = FiniteElement('BDFM',triangle,2)
U2 = FiniteElement('DG',triangle,1)V0 = FiniteElement('CG',interval,2)
V1 = FiniteElement('DG',interval,1)
 
W2_elt = HDiv(OuterProductElement(U1,V1))+HDiv(OuterProductElement(U2,V0))
W2_broken_elt = BrokenElement(W2_elt)
W = FunctionSpace(mesh,W2_broken_elt)
WARNING: Creating an EnrichedElement,
         if you intended to create a MixedElement use '*' instead of '+'.
Traceback (most recent call last):
  File "brokenelement.py", line 14, in <module>
    W = FunctionSpace(mesh,W2_broken_elt)
  File "/Users/eikemueller/PostDocBath/EllipticSolvers/PyOP2/pyop2/caching.py", line 160, in __new__
    obj = make_obj()
  File "/Users/eikemueller/PostDocBath/EllipticSolvers/PyOP2/pyop2/caching.py", line 141, in make_obj
    obj.__init__(*args, **kwargs)
  File "/Users/eikemueller/PostDocBath/EllipticSolvers/firedrake/firedrake/functionspace.py", line 540, in __init__
    super(FunctionSpace, self).__init__(mesh, element, name, dim=1)
  File "/Users/eikemueller/PostDocBath/EllipticSolvers/firedrake/firedrake/functionspace.py", line 52, in __init__
    self.flattened_element = self.fiat_element.flattened_element()
AttributeError: Discontinuized instance has no attribute 'flattened_element'
--
Dr Eike Hermann Mueller
Lecturer in Scientific Computing
Department of Mathematical Sciences
University of Bath
Bath BA2 7AY, United Kingdom
+44 1225 38 5557
e.mueller@bath.ac.ukhttp://people.bath.ac.uk/em459/
 
  
    
  
  
    Hi,
    
    I'm not quite sure, but I think BrokenElement is probably what you
    need.
    BrokenElement keeps all the dofs and transformations and their
    meaning, but re-associates all dofs with the cell interior.
    
    Regards,
    Miklos
    
    
    
On 17/03/15 13:29, Eike Mueller wrote:
    
    
      
      Hi again,
      
        
          
            
              
                
                  Another slight problem is that we don't
                    have trace elements for quadrilaterals or tensor
                    product elements at the moment. Our approach to
                    trace spaces is also rather hacked up, we extract
                    the facet basis functions from an H(div) basis and
                    the tabulator returns DOFs by dotting the local
                    basis functions by the local normal.
                  
                 
               
             
           
        
        
        
        we would also need a discontinuous HDiv space, i.e. e.g.
          discontinuous versions of RT0 and BDFM1. How can I get those?
        
        
        Thanks,
        
        
        Eike
        
        
          
        
       
      
      
      
      
      _______________________________________________
firedrake mailing list
firedrake@imperial.ac.uk
https://mailman.ic.ac.uk/mailman/listinfo/firedrake
    
    
  
_______________________________________________
firedrake mailing list
firedrake@imperial.ac.ukhttps://mailman.ic.ac.uk/mailman/listinfo/firedrake