parameters: (self,
                   mesh: Mesh,
                   element: typing.Union[ufl.FiniteElementBase, ElementMetaData],
                   cppV: typing.Optional[_cpp.fem.FunctionSpace] = None,
                   form_compiler_parameters: dict = {},
                   jit_parameters: dict = {})
docstring: Create a finite element function space.
docstring_summary: Create a finite element function space.
docstring_tokens: Create a finite element function space .
function: def __init__(self,
                   mesh: Mesh,
                   element: typing.Union[ufl.FiniteElementBase, ElementMetaData],
                   cppV: typing.Optional[_cpp.fem.FunctionSpace] = None,
                   form_compiler_parameters: dict = {},
                   jit_parameters: dict = {}):
          """Create a finite element function space."""
  
          # Create function space from a UFL element and existing cpp
          # FunctionSpace
          if cppV is not None:
              assert mesh is None
              ufl_domain = cppV.mesh.ufl_domain()
              super().__init__(ufl_domain, element)
              self._cpp_object = cppV
              return
  
          # Initialise the ufl.FunctionSpace
          if isinstance(element, ufl.FiniteElementBase):
              super().__init__(mesh.ufl_domain(), element)
          else:
              e = ElementMetaData(*element)
              ufl_element = ufl.FiniteElement(e.family, mesh.ufl_cell(), e.degree, form_degree=e.form_degree)
              super().__init__(mesh.ufl_domain(), ufl_element)
  
          # Compile dofmap and element and create DOLFIN objects
          (self._ufcx_element, self._ufcx_dofmap), module, code = jit.ffcx_jit(
              mesh.comm, self.ufl_element(), form_compiler_parameters=form_compiler_parameters,
              jit_parameters=jit_parameters)
  
          ffi = cffi.FFI()
          cpp_element = _cpp.fem.FiniteElement(ffi.cast("uintptr_t", ffi.addressof(self._ufcx_element)))
          cpp_dofmap = _cpp.fem.create_dofmap(mesh.comm, ffi.cast(
              "uintptr_t", ffi.addressof(self._ufcx_dofmap)), mesh.topology, cpp_element)
  
          # Initialize the cpp.FunctionSpace
          self._cpp_object = _cpp.fem.FunctionSpace(mesh, cpp_element, cpp_dofmap)
function_tokens: def __init__ ( self , mesh : Mesh , element : typing . Union [ ufl . FiniteElementBase , ElementMetaData ] , cppV : typing . Optional [ _cpp . fem . FunctionSpace ] = None , form_compiler_parameters : dict = { } , jit_parameters : dict = { } ) : # Create function space from a UFL element and existing cpp # FunctionSpace if cppV is not None : assert mesh is None ufl_domain = cppV . mesh . ufl_domain ( ) super ( ) . __init__ ( ufl_domain , element ) self . _cpp_object = cppV return # Initialise the ufl.FunctionSpace if isinstance ( element , ufl . FiniteElementBase ) : super ( ) . __init__ ( mesh . ufl_domain ( ) , element ) else : e = ElementMetaData ( * element ) ufl_element = ufl . FiniteElement ( e . family , mesh . ufl_cell ( ) , e . degree , form_degree = e . form_degree ) super ( ) . __init__ ( mesh . ufl_domain ( ) , ufl_element ) # Compile dofmap and element and create DOLFIN objects ( self . _ufcx_element , self . _ufcx_dofmap ) , module , code = jit . ffcx_jit ( mesh . comm , self . ufl_element ( ) , form_compiler_parameters = form_compiler_parameters , jit_parameters = jit_parameters ) ffi = cffi . FFI ( ) cpp_element = _cpp . fem . FiniteElement ( ffi . cast ( "uintptr_t" , ffi . addressof ( self . _ufcx_element ) ) ) cpp_dofmap = _cpp . fem . create_dofmap ( mesh . comm , ffi . cast ( "uintptr_t" , ffi . addressof ( self . _ufcx_dofmap ) ) , mesh . topology , cpp_element ) # Initialize the cpp.FunctionSpace self . _cpp_object = _cpp . fem . FunctionSpace ( mesh , cpp_element , cpp_dofmap )