In [2]:
from dolfin import *

In [3]:
mesh = UnitSquareMesh(2,2)
V = FunctionSpace?

In [ ]:
V = FunctionSpace

In [4]:
V = FunctionSpace

In [5]:
V = FunctionSpace(mesh,"N1curl",1)
Q = FunctionSpace(mesh,"CG",1)


DEBUG:UFL:No integrals left after transformation, returning empty form.
DEBUG:FFC:Reusing form from cache.
DEBUG:UFL:No integrals left after transformation, returning empty form.
DEBUG:FFC:Reusing form from cache.

In [6]:
n = FacetNormal(mesh)
t = as_vector((-n[1], n[0]))

In [7]:
u = TestFunction(V)
v = TrialFunction(V)

In [8]:
inner(v,t)*ds


Out[8]:
Form([Integral(Inner(Argument(FiniteElement('Nedelec 1st kind H(curl)', Domain(Cell('triangle', 2), 'triangle_multiverse', 2, 2), 1, None), -1), ListTensor(Product(IntValue(-1, (), (), {}), Indexed(FacetNormal(Cell('triangle', 2)), MultiIndex((FixedIndex(1),), {}))), Indexed(FacetNormal(Cell('triangle', 2)), MultiIndex((FixedIndex(0),), {})))), 'exterior_facet', 'everywhere', None, None)])

In [30]:
A = assemble((inner(u, t) * inner(v, t))('+') * dS  +  inner(u, t) * inner(v, t) * ds)


DEBUG:UFL:No integrals left after transformation, returning empty form.
DEBUG:UFL:No integrals left after transformation, returning empty form.
Calling FFC just-in-time (JIT) compiler, this may take some time.
Level 25:FFC:Calling FFC just-in-time (JIT) compiler, this may take some time.
INFO:FFC:Compiling form ffc_form_b50dbe294fe03342c67da6dc9f65128ecf8612ca

INFO:FFC:Compiler stage 1: Analyzing form(s)
INFO:FFC:-----------------------------------
INFO:FFC:  
INFO:FFC:  Name:                   ''
  Cell:                   <triangle cell in 2D>
  Topological dimension:  2
  Geometric dimension:    2
  Rank:                   2
  Number of coefficients: 0
  Arguments:              '[v_{-2}, v_{-1}]'
  Coefficients:           '[]'
  Argument names:         '[v0, v1]'
  Coefficient names:      '[]'
  Unique elements:        'N1curl1(?)'
  Unique sub elements:    'N1curl1(?)'
  Domains:                (Domain(Cell('triangle', 2), 'triangle_multiverse', 2, 2),
                          )
  Top level domains:      (Domain(Cell('triangle', 2), 'triangle_multiverse', 2, 2),
                          )
  
INFO:FFC:  Extracting monomial form representation from UFL form
DEBUG:FFC:  Monomial extraction failed: No handler defined for terminal FacetNormal.
DEBUG:FFC:  Estimated cost of tensor representation: -1
INFO:FFC:  representation:    auto --> quadrature
DEBUG:FFC:  Selecting quadrature degree based on total polynomial degree of integrand: 2
INFO:FFC:  quadrature_degree: auto --> 2
INFO:FFC:  quadrature_rule:   auto --> default
INFO:FFC:  Extracting monomial form representation from UFL form
DEBUG:FFC:  Monomial extraction failed: No handler defined for terminal FacetNormal.
DEBUG:FFC:  Estimated cost of tensor representation: -1
INFO:FFC:  representation:    auto --> quadrature
DEBUG:FFC:  Selecting quadrature degree based on total polynomial degree of integrand: 2
INFO:FFC:  quadrature_degree: auto --> 2
INFO:FFC:  quadrature_rule:   auto --> default
INFO:FFC:  
INFO:FFC:Compiler stage 1 finished in 0.0112801 seconds.

INFO:FFC:Compiler stage 2: Computing intermediate representation
INFO:FFC:-------------------------------------------------------
INFO:FFC:  Computing representation of 1 elements
DEBUG:FFC:  Reusing element from cache
DEBUG:FFC:  Reusing element from cache
INFO:FFC:  Computing representation of 1 dofmaps
DEBUG:FFC:  Reusing element from cache
INFO:FFC:  Computing representation of integrals
INFO:FFC:  Computing quadrature representation
DEBUG:FFC:  Reusing element from cache
DEBUG:FFC:  Reusing element from cache
DEBUG:FFC:  Reusing element from cache
DEBUG:FFC:  Reusing element from cache
DEBUG:FFC:  
  QG-utils, psi_tables:
  {2: {FiniteElement('Nedelec 1st kind H(curl)', Domain(Cell('triangle', 2), 'triangle_multiverse', 2, 2), 1, None): {None: {0: {(0, 0): array([[[-0.21132486540518711, -0.78867513459481287],
          [0.78867513459481264, 0.21132486540518719]],
  
         [[0.21132486540518711, 0.78867513459481287],
          [0.21132486540518697, 0.78867513459481264]],
  
         [[0.78867513459481298, 0.21132486540518708],
          [0.78867513459481287, 0.21132486540518716]]], dtype=object)}, 1: {(0, 0): array([[[-0.21132486540518711, -0.78867513459481287],
          [-5.5511151231257827e-17, 5.5511151231257827e-17]],
  
         [[0.21132486540518711, 0.78867513459481287],
          [1.0, 0.99999999999999978]],
  
         [[0.78867513459481298, 0.21132486540518708],
          [-1.5265566588595902e-16, 2.7755575615628914e-17]]], dtype=object)}, 2: {(0, 0): array([[[5.5511151231257827e-17, 5.5511151231257827e-17],
          [0.21132486540518702, 0.78867513459481264]],
  
         [[-5.5511151231257827e-17, -5.5511151231257827e-17],
          [0.78867513459481287, 0.21132486540518708]],
  
         [[1.0000000000000002, 1.0000000000000002],
          [0.211324865405187, 0.78867513459481275]]], dtype=object)}}}}}
DEBUG:FFC:  
  QG-utils, psi_tables, flat_tables:
  {'FE0_f0_C1': array([[0.78867513459481264, 0.21132486540518697, 0.78867513459481287],
         [0.21132486540518719, 0.78867513459481264, 0.21132486540518716]], dtype=object), 'FE0_f0_C0': array([[-0.21132486540518711, 0.21132486540518711, 0.78867513459481298],
         [-0.78867513459481287, 0.78867513459481287, 0.21132486540518708]], dtype=object), 'FE0_f2_C1': array([[0.21132486540518702, 0.78867513459481287, 0.211324865405187],
         [0.78867513459481264, 0.21132486540518708, 0.78867513459481275]], dtype=object), 'FE0_f2_C0': array([[5.5511151231257827e-17, -5.5511151231257827e-17, 1.0000000000000002],
         [5.5511151231257827e-17, -5.5511151231257827e-17, 1.0000000000000002]], dtype=object), 'FE0_f1_C0': array([[-0.21132486540518711, 0.21132486540518711, 0.78867513459481298],
         [-0.78867513459481287, 0.78867513459481287, 0.21132486540518708]], dtype=object), 'FE0_f1_C1': array([[-5.5511151231257827e-17, 1.0, -1.5265566588595902e-16],
         [5.5511151231257827e-17, 0.99999999999999978, 2.7755575615628914e-17]], dtype=object)}
DEBUG:FFC:  
  tables: {'FE0_f0_C1': array([[0.78867513459481264, 0.21132486540518697, 0.78867513459481287],
         [0.21132486540518719, 0.78867513459481264, 0.21132486540518716]], dtype=object), 'FE0_f0_C0': array([[-0.21132486540518711, 0.21132486540518711, 0.78867513459481298],
         [-0.78867513459481287, 0.78867513459481287, 0.21132486540518708]], dtype=object), 'FE0_f2_C1': array([[0.21132486540518702, 0.78867513459481287, 0.211324865405187],
         [0.78867513459481264, 0.21132486540518708, 0.78867513459481275]], dtype=object), 'FE0_f2_C0': array([[5.5511151231257827e-17, -5.5511151231257827e-17, 1.0000000000000002],
         [5.5511151231257827e-17, -5.5511151231257827e-17, 1.0000000000000002]], dtype=object), 'FE0_f1_C1': array([[-5.5511151231257827e-17, 1.0, -1.5265566588595902e-16],
         [5.5511151231257827e-17, 0.99999999999999978, 2.7755575615628914e-17]], dtype=object)}
DEBUG:FFC:  
  name_map: {'FE0_f0_C0': ['FE0_f1_C0']}
DEBUG:FFC:  
  inv_name_map: {'FE0_f0_C1': 'FE0_f0_C1', 'FE0_f0_C0': 'FE0_f0_C0', 'FE0_f2_C1': 'FE0_f2_C1', 'FE0_f2_C0': 'FE0_f2_C0', 'FE0_f1_C0': 'FE0_f0_C0', 'FE0_f1_C1': 'FE0_f1_C1'}
DEBUG:FFC:  
  QG-utils, psi_tables, unique_tables:
  {'FE0_f0_C1': array([[0.78867513459481264, 0.21132486540518697, 0.78867513459481287],
         [0.21132486540518719, 0.78867513459481264, 0.21132486540518716]], dtype=object), 'FE0_f0_C0': array([[-0.21132486540518711, 0.21132486540518711, 0.78867513459481298],
         [-0.78867513459481287, 0.78867513459481287, 0.21132486540518708]], dtype=object), 'FE0_f2_C1': array([[0.21132486540518702, 0.78867513459481287, 0.211324865405187],
         [0.78867513459481264, 0.21132486540518708, 0.78867513459481275]], dtype=object), 'FE0_f2_C0': array([[0, 0, 1.0000000000000002],
         [0, 0, 1.0000000000000002]], dtype=object), 'FE0_f1_C1': array([[0, 1.0, 0],
         [0, 0.99999999999999978, 0]], dtype=object)}
DEBUG:FFC:  
  QG-utils, psi_tables, name_map:
  {'FE0_f0_C1': ('FE0_f0_C1', (), False, False), 'FE0_f0_C0': ('FE0_f0_C0', (), False, False), 'FE0_f2_C1': ('FE0_f2_C1', (), False, False), 'FE0_f2_C0': ('FE0_f2_C0', (), False, False), 'FE0_f1_C0': ('FE0_f0_C0', (), False, False), 'FE0_f1_C1': ('FE0_f1_C1', (), False, False)}
INFO:FFC:  Transforming exterior facet integral 0
DEBUG:FFC:  Reusing element from cache
DEBUG:FFC:  Reusing element from cache
DEBUG:FFC:  Reusing element from cache
DEBUG:FFC:  Reusing element from cache
DEBUG:FFC:  Reusing element from cache
DEBUG:FFC:  Reusing element from cache
DEBUG:FFC:  Reusing element from cache
DEBUG:FFC:  Reusing element from cache
INFO:FFC:  Transforming exterior facet integral 1
DEBUG:FFC:  Reusing element from cache
DEBUG:FFC:  Reusing element from cache
DEBUG:FFC:  Reusing element from cache
DEBUG:FFC:  Reusing element from cache
DEBUG:FFC:  Reusing element from cache
DEBUG:FFC:  Reusing element from cache
DEBUG:FFC:  Reusing element from cache
DEBUG:FFC:  Reusing element from cache
INFO:FFC:  Transforming exterior facet integral 2
DEBUG:FFC:  Reusing element from cache
DEBUG:FFC:  Reusing element from cache
DEBUG:FFC:  Reusing element from cache
DEBUG:FFC:  Reusing element from cache
DEBUG:FFC:  Reusing element from cache
DEBUG:FFC:  Reusing element from cache
DEBUG:FFC:  Reusing element from cache
DEBUG:FFC:  Reusing element from cache
INFO:FFC:  Computing quadrature representation
DEBUG:FFC:  Reusing element from cache
DEBUG:FFC:  Reusing element from cache
DEBUG:FFC:  Reusing element from cache
DEBUG:FFC:  Reusing element from cache
DEBUG:FFC:  
  QG-utils, psi_tables:
  {2: {FiniteElement('Nedelec 1st kind H(curl)', Domain(Cell('triangle', 2), 'triangle_multiverse', 2, 2), 1, None): {None: {0: {(0, 0): array([[[-0.21132486540518711, -0.78867513459481287],
          [0.78867513459481264, 0.21132486540518719]],
  
         [[0.21132486540518711, 0.78867513459481287],
          [0.21132486540518697, 0.78867513459481264]],
  
         [[0.78867513459481298, 0.21132486540518708],
          [0.78867513459481287, 0.21132486540518716]]], dtype=object)}, 1: {(0, 0): array([[[-0.21132486540518711, -0.78867513459481287],
          [-5.5511151231257827e-17, 5.5511151231257827e-17]],
  
         [[0.21132486540518711, 0.78867513459481287],
          [1.0, 0.99999999999999978]],
  
         [[0.78867513459481298, 0.21132486540518708],
          [-1.5265566588595902e-16, 2.7755575615628914e-17]]], dtype=object)}, 2: {(0, 0): array([[[5.5511151231257827e-17, 5.5511151231257827e-17],
          [0.21132486540518702, 0.78867513459481264]],
  
         [[-5.5511151231257827e-17, -5.5511151231257827e-17],
          [0.78867513459481287, 0.21132486540518708]],
  
         [[1.0000000000000002, 1.0000000000000002],
          [0.211324865405187, 0.78867513459481275]]], dtype=object)}}}}}
DEBUG:FFC:  
  QG-utils, psi_tables, flat_tables:
  {'FE0_f0_C1': array([[0.78867513459481264, 0.21132486540518697, 0.78867513459481287],
         [0.21132486540518719, 0.78867513459481264, 0.21132486540518716]], dtype=object), 'FE0_f0_C0': array([[-0.21132486540518711, 0.21132486540518711, 0.78867513459481298],
         [-0.78867513459481287, 0.78867513459481287, 0.21132486540518708]], dtype=object), 'FE0_f2_C1': array([[0.21132486540518702, 0.78867513459481287, 0.211324865405187],
         [0.78867513459481264, 0.21132486540518708, 0.78867513459481275]], dtype=object), 'FE0_f2_C0': array([[5.5511151231257827e-17, -5.5511151231257827e-17, 1.0000000000000002],
         [5.5511151231257827e-17, -5.5511151231257827e-17, 1.0000000000000002]], dtype=object), 'FE0_f1_C0': array([[-0.21132486540518711, 0.21132486540518711, 0.78867513459481298],
         [-0.78867513459481287, 0.78867513459481287, 0.21132486540518708]], dtype=object), 'FE0_f1_C1': array([[-5.5511151231257827e-17, 1.0, -1.5265566588595902e-16],
         [5.5511151231257827e-17, 0.99999999999999978, 2.7755575615628914e-17]], dtype=object)}
DEBUG:FFC:  
  tables: {'FE0_f0_C1': array([[0.78867513459481264, 0.21132486540518697, 0.78867513459481287],
         [0.21132486540518719, 0.78867513459481264, 0.21132486540518716]], dtype=object), 'FE0_f0_C0': array([[-0.21132486540518711, 0.21132486540518711, 0.78867513459481298],
         [-0.78867513459481287, 0.78867513459481287, 0.21132486540518708]], dtype=object), 'FE0_f2_C1': array([[0.21132486540518702, 0.78867513459481287, 0.211324865405187],
         [0.78867513459481264, 0.21132486540518708, 0.78867513459481275]], dtype=object), 'FE0_f2_C0': array([[5.5511151231257827e-17, -5.5511151231257827e-17, 1.0000000000000002],
         [5.5511151231257827e-17, -5.5511151231257827e-17, 1.0000000000000002]], dtype=object), 'FE0_f1_C1': array([[-5.5511151231257827e-17, 1.0, -1.5265566588595902e-16],
         [5.5511151231257827e-17, 0.99999999999999978, 2.7755575615628914e-17]], dtype=object)}
DEBUG:FFC:  
  name_map: {'FE0_f0_C0': ['FE0_f1_C0']}
DEBUG:FFC:  
  inv_name_map: {'FE0_f0_C1': 'FE0_f0_C1', 'FE0_f0_C0': 'FE0_f0_C0', 'FE0_f2_C1': 'FE0_f2_C1', 'FE0_f2_C0': 'FE0_f2_C0', 'FE0_f1_C0': 'FE0_f0_C0', 'FE0_f1_C1': 'FE0_f1_C1'}
DEBUG:FFC:  
  QG-utils, psi_tables, unique_tables:
  {'FE0_f0_C1': array([[0.78867513459481264, 0.21132486540518697, 0.78867513459481287],
         [0.21132486540518719, 0.78867513459481264, 0.21132486540518716]], dtype=object), 'FE0_f0_C0': array([[-0.21132486540518711, 0.21132486540518711, 0.78867513459481298],
         [-0.78867513459481287, 0.78867513459481287, 0.21132486540518708]], dtype=object), 'FE0_f2_C1': array([[0.21132486540518702, 0.78867513459481287, 0.211324865405187],
         [0.78867513459481264, 0.21132486540518708, 0.78867513459481275]], dtype=object), 'FE0_f2_C0': array([[0, 0, 1.0000000000000002],
         [0, 0, 1.0000000000000002]], dtype=object), 'FE0_f1_C1': array([[0, 1.0, 0],
         [0, 0.99999999999999978, 0]], dtype=object)}
DEBUG:FFC:  
  QG-utils, psi_tables, name_map:
  {'FE0_f0_C1': ('FE0_f0_C1', (), False, False), 'FE0_f0_C0': ('FE0_f0_C0', (), False, False), 'FE0_f2_C1': ('FE0_f2_C1', (), False, False), 'FE0_f2_C0': ('FE0_f2_C0', (), False, False), 'FE0_f1_C0': ('FE0_f0_C0', (), False, False), 'FE0_f1_C1': ('FE0_f1_C1', (), False, False)}
INFO:FFC:  Transforming interior facet integral (0, 0)
DEBUG:FFC:  Reusing element from cache
DEBUG:FFC:  Reusing element from cache
DEBUG:FFC:  Reusing element from cache
DEBUG:FFC:  Reusing element from cache
DEBUG:FFC:  Reusing element from cache
DEBUG:FFC:  Reusing element from cache
DEBUG:FFC:  Reusing element from cache
DEBUG:FFC:  Reusing element from cache
INFO:FFC:  Transforming interior facet integral (0, 1)
DEBUG:FFC:  Reusing element from cache
DEBUG:FFC:  Reusing element from cache
DEBUG:FFC:  Reusing element from cache
DEBUG:FFC:  Reusing element from cache
DEBUG:FFC:  Reusing element from cache
DEBUG:FFC:  Reusing element from cache
DEBUG:FFC:  Reusing element from cache
DEBUG:FFC:  Reusing element from cache
INFO:FFC:  Transforming interior facet integral (0, 2)
DEBUG:FFC:  Reusing element from cache
DEBUG:FFC:  Reusing element from cache
DEBUG:FFC:  Reusing element from cache
DEBUG:FFC:  Reusing element from cache
DEBUG:FFC:  Reusing element from cache
DEBUG:FFC:  Reusing element from cache
DEBUG:FFC:  Reusing element from cache
DEBUG:FFC:  Reusing element from cache
INFO:FFC:  Transforming interior facet integral (1, 0)
DEBUG:FFC:  Reusing element from cache
DEBUG:FFC:  Reusing element from cache
DEBUG:FFC:  Reusing element from cache
DEBUG:FFC:  Reusing element from cache
DEBUG:FFC:  Reusing element from cache
DEBUG:FFC:  Reusing element from cache
DEBUG:FFC:  Reusing element from cache
DEBUG:FFC:  Reusing element from cache
INFO:FFC:  Transforming interior facet integral (1, 1)
DEBUG:FFC:  Reusing element from cache
DEBUG:FFC:  Reusing element from cache
DEBUG:FFC:  Reusing element from cache
DEBUG:FFC:  Reusing element from cache
DEBUG:FFC:  Reusing element from cache
DEBUG:FFC:  Reusing element from cache
DEBUG:FFC:  Reusing element from cache
DEBUG:FFC:  Reusing element from cache
INFO:FFC:  Transforming interior facet integral (1, 2)
DEBUG:FFC:  Reusing element from cache
DEBUG:FFC:  Reusing element from cache
DEBUG:FFC:  Reusing element from cache
DEBUG:FFC:  Reusing element from cache
DEBUG:FFC:  Reusing element from cache
DEBUG:FFC:  Reusing element from cache
DEBUG:FFC:  Reusing element from cache
DEBUG:FFC:  Reusing element from cache
INFO:FFC:  Transforming interior facet integral (2, 0)
DEBUG:FFC:  Reusing element from cache
DEBUG:FFC:  Reusing element from cache
DEBUG:FFC:  Reusing element from cache
DEBUG:FFC:  Reusing element from cache
DEBUG:FFC:  Reusing element from cache
DEBUG:FFC:  Reusing element from cache
DEBUG:FFC:  Reusing element from cache
DEBUG:FFC:  Reusing element from cache
INFO:FFC:  Transforming interior facet integral (2, 1)
DEBUG:FFC:  Reusing element from cache
DEBUG:FFC:  Reusing element from cache
DEBUG:FFC:  Reusing element from cache
DEBUG:FFC:  Reusing element from cache
DEBUG:FFC:  Reusing element from cache
DEBUG:FFC:  Reusing element from cache
DEBUG:FFC:  Reusing element from cache
DEBUG:FFC:  Reusing element from cache
INFO:FFC:  Transforming interior facet integral (2, 2)
DEBUG:FFC:  Reusing element from cache
DEBUG:FFC:  Reusing element from cache
DEBUG:FFC:  Reusing element from cache
DEBUG:FFC:  Reusing element from cache
DEBUG:FFC:  Reusing element from cache
DEBUG:FFC:  Reusing element from cache
DEBUG:FFC:  Reusing element from cache
DEBUG:FFC:  Reusing element from cache
INFO:FFC:  Computing representation of forms
INFO:FFC:  
INFO:FFC:Compiler stage 2 finished in 0.067163 seconds.

INFO:FFC:Compiler stage 3: Optimizing intermediate representation
INFO:FFC:--------------------------------------------------------
INFO:FFC:  Skipping optimizations, add -O to optimize
INFO:FFC:  
INFO:FFC:Compiler stage 3 finished in 0.0010519 seconds.

INFO:FFC:Compiler stage 4: Generating code
INFO:FFC:---------------------------------
INFO:FFC:  Generating code for 1 element(s)
DEBUG:FFC:  Removing unused variable: tmp2
DEBUG:FFC:  Removing unused variable: tmp1
DEBUG:FFC:  Removing unused variable: tmp7
DEBUG:FFC:  Removing unused variable: tmp6
DEBUG:FFC:  Removing unused variable: tmp5
DEBUG:FFC:  Removing unused variable: tt
DEBUG:FFC:  Removing unused variable: ss
DEBUG:FFC:  Removing unused variable: rr
DEBUG:FFC:  Removing unused variable: tmp2
DEBUG:FFC:  Removing unused variable: tmp1
DEBUG:FFC:  Removing unused variable: tmp7
DEBUG:FFC:  Removing unused variable: tmp6
DEBUG:FFC:  Removing unused variable: tmp5
DEBUG:FFC:  Removing unused variable: tt
DEBUG:FFC:  Removing unused variable: ss
DEBUG:FFC:  Removing unused variable: rr
DEBUG:FFC:  Removing unused variable: tmp2
DEBUG:FFC:  Removing unused variable: tmp1
DEBUG:FFC:  Removing unused variable: tmp7
DEBUG:FFC:  Removing unused variable: tmp6
DEBUG:FFC:  Removing unused variable: tmp5
DEBUG:FFC:  Removing unused variable: tt
DEBUG:FFC:  Removing unused variable: ss
DEBUG:FFC:  Removing unused variable: rr
DEBUG:FFC:  Removing unused variable: tmp2
DEBUG:FFC:  Removing unused variable: tmp1
DEBUG:FFC:  Removing unused variable: tmp7
DEBUG:FFC:  Removing unused variable: tmp6
DEBUG:FFC:  Removing unused variable: tmp5
DEBUG:FFC:  Removing unused variable: tt
DEBUG:FFC:  Removing unused variable: ss
DEBUG:FFC:  Removing unused variable: rr
DEBUG:FFC:  Removing unused variable: tmp2
DEBUG:FFC:  Removing unused variable: tmp1
DEBUG:FFC:  Removing unused variable: tmp7
DEBUG:FFC:  Removing unused variable: tmp6
DEBUG:FFC:  Removing unused variable: tmp5
DEBUG:FFC:  Removing unused variable: tt
DEBUG:FFC:  Removing unused variable: ss
DEBUG:FFC:  Removing unused variable: rr
DEBUG:FFC:  Removing unused variable: tmp2
DEBUG:FFC:  Removing unused variable: tmp1
DEBUG:FFC:  Removing unused variable: tmp7
DEBUG:FFC:  Removing unused variable: tmp6
DEBUG:FFC:  Removing unused variable: tmp5
DEBUG:FFC:  Removing unused variable: tt
DEBUG:FFC:  Removing unused variable: ss
DEBUG:FFC:  Removing unused variable: rr
INFO:FFC:  Generating code for 1 dofmap(s)
INFO:FFC:  Generating code for integrals
DEBUG:FFC:  Removing unused variable: circumradius
DEBUG:FFC:  Removing unused variable: v0v1
DEBUG:FFC:  Removing unused variable: v0v2
DEBUG:FFC:  Removing unused variable: v1v2
DEBUG:FFC:  Removing unused variable: volume
DEBUG:FFC:  Removing unused variable: facet_area
INFO:FFC:  Exterior facet 0, number of operations to compute tensor: 432
INFO:FFC:  Exterior facet 1, number of operations to compute tensor: 432
INFO:FFC:  Exterior facet 2, number of operations to compute tensor: 432
DEBUG:FFC:  Removing unused variable: circumradius_1
DEBUG:FFC:  Removing unused variable: v0v1_1
DEBUG:FFC:  Removing unused variable: v0v2_1
DEBUG:FFC:  Removing unused variable: v1v2_1
DEBUG:FFC:  Removing unused variable: circumradius_0
DEBUG:FFC:  Removing unused variable: v0v1_0
DEBUG:FFC:  Removing unused variable: v0v2_0
DEBUG:FFC:  Removing unused variable: v1v2_0
DEBUG:FFC:  Removing unused variable: volume_1
DEBUG:FFC:  Removing unused variable: volume_0
DEBUG:FFC:  Removing unused variable: facet_area
DEBUG:FFC:  Removing unused variable: n_11
DEBUG:FFC:  Removing unused variable: n_10
INFO:FFC:  Interior facets (0, 0), number of operations to compute tensor: 432
INFO:FFC:  Interior facets (0, 1), number of operations to compute tensor: 432
INFO:FFC:  Interior facets (0, 2), number of operations to compute tensor: 432
INFO:FFC:  Interior facets (1, 0), number of operations to compute tensor: 432
INFO:FFC:  Interior facets (1, 1), number of operations to compute tensor: 432
INFO:FFC:  Interior facets (1, 2), number of operations to compute tensor: 432
INFO:FFC:  Interior facets (2, 0), number of operations to compute tensor: 432
INFO:FFC:  Interior facets (2, 1), number of operations to compute tensor: 432
INFO:FFC:  Interior facets (2, 2), number of operations to compute tensor: 432
INFO:FFC:  Generating code for forms
INFO:FFC:  
INFO:FFC:Compiler stage 4 finished in 0.0577099 seconds.

INFO:FFC:Compiler stage 4.1 finished in 1.90735e-06 seconds.

INFO:FFC:Compiler stage 5: Formatting code
INFO:FFC:---------------------------------
INFO:FFC:  Output written to ./ffc_form_b50dbe294fe03342c67da6dc9f65128ecf8612ca.h.
INFO:FFC:  
INFO:FFC:Compiler stage 5 finished in 0.00136781 seconds.

INFO:FFC:FFC finished in 0.14015 seconds.
DEBUG:FFC:Compiling and linking Python extension module, this may take some time.

In [35]:
A.size(0)


Out[35]:
16