In [1]:
from dolfin import *
import numpy as np
import scipy.sparse as sp
import numpy
import matplotlib.pylab as plt
import scipy.io
from scipy2Trilinos import scipy_csr_matrix2CrsMatrix
from PyTrilinos import Epetra, ML, AztecOO, Teuchos
from dolfin import *
import petsc4py, sys
petsc4py.init(sys.argv)
from petsc4py import PETSc
import matplotlib.pylab as plt
import PETScIO as IO
import numpy as np
import scipy.sparse as sparse
import CheckPetsc4py as CP
import scipy.sparse.linalg as sparselin
import scipy as sp
import time
In [2]:
nn = 2**2
mesh = RectangleMesh(0, 0, 1, 1, nn, nn,'left')
order = 1
Magnetic = FunctionSpace(mesh, "N1curl", order)
Lagrange = FunctionSpace(mesh, "CG", order)
# L= FunctionSpace(mesh, "DG", order-1)
parameters['linear_algebra_backend'] = 'uBLAS'
b0 = Expression(("x[1]*x[1]*(x[1]-1)","x[0]*x[0]*(x[0]-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 [3]:
(u) = TrialFunction(Magnetic)
(v) = TestFunction(Magnetic)
(p) = TrialFunction(Lagrange)
(q) = TestFunction(Lagrange)
a = inner(curl(u),curl(v))*dx + inner(u,v)*dx
l = inner(grad(p),grad(q))*dx+inner(p,q)*dx
# u0 = Expression(("sin(2*pi*x[1])*cos(2*pi*x[0])","-sin(2*pi*x[0])*cos(2*pi*x[1])"))
# f = 8*pow(pi,2)*u0+c*u0
CurlCurl = Expression(("-6*x[1]+2","-6*x[0]+2"))+b0
f = CurlCurl
L1 = inner(v, f)*dx
In [4]:
def boundary(x, on_boundary):
return on_boundary
bc = DirichletBC(Magnetic,b0, boundary)
Mass = assemble(inner(u,v)*dx)
bc.apply(Mass)
Acurl,b = assemble_system(a,L1,bc)
Anode = assemble(l)
DEBUG:UFL:No integrals left after transformation, returning empty form.
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: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_34cfbe43aa7a7b19c52f0cee2d6fbcfb0c338975
INFO:FFC:Compiler stage 1: Analyzing form(s)
INFO:FFC:-----------------------------------
INFO:FFC:
INFO:FFC: Name: ''
Geometric dimension: 2
Rank: 2
Arguments: '[v_0, v_1]'
Argument names: '[v0, v1]'
Number of coefficients: 0
Coefficients: '[]'
Coefficient names: '[]'
Unique elements: 'N1curl1(?)'
Unique sub elements: 'N1curl1(?)'
INFO:FFC: Extracting monomial form representation from UFL form
INFO:FFC: Transforming monomial form to reference element
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
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
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: Estimated cost of tensor representation: 4
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.0356131 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: Reusing element from cache
DEBUG:FFC:
QG-utils, psi_tables:
{3: {VectorElement('Lagrange', Domain(Cell('triangle', 2), label='dolfin_mesh_with_id_0', data='<data with id 0>'), 1, dim=2, quad_scheme=None): {None: {None: {(0, 1): array([[[ -1.00000000e+00, -1.00000000e+00, -1.00000000e+00],
[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]],
[[ 0.00000000e+00, 1.11022302e-16, 1.11022302e-16],
[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]],
[[ 1.00000000e+00, 1.00000000e+00, 1.00000000e+00],
[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]],
[[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
[ -1.00000000e+00, -1.00000000e+00, -1.00000000e+00]],
[[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
[ 0.00000000e+00, 1.11022302e-16, 1.11022302e-16]],
[[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
[ 1.00000000e+00, 1.00000000e+00, 1.00000000e+00]]]), (1, 0): array([[[-1., -1., -1.],
[ 0., 0., 0.]],
[[ 1., 1., 1.],
[ 0., 0., 0.]],
[[ 0., 0., 0.],
[ 0., 0., 0.]],
[[ 0., 0., 0.],
[-1., -1., -1.]],
[[ 0., 0., 0.],
[ 1., 1., 1.]],
[[ 0., 0., 0.],
[ 0., 0., 0.]]]), (0, 0): array([[[ 0.66666667, 0.16666667, 0.16666667],
[ 0. , 0. , 0. ]],
[[ 0.16666667, 0.16666667, 0.66666667],
[ 0. , 0. , 0. ]],
[[ 0.16666667, 0.66666667, 0.16666667],
[ 0. , 0. , 0. ]],
[[ 0. , 0. , 0. ],
[ 0.66666667, 0.16666667, 0.16666667]],
[[ 0. , 0. , 0. ],
[ 0.16666667, 0.16666667, 0.66666667]],
[[ 0. , 0. , 0. ],
[ 0.16666667, 0.66666667, 0.16666667]]])}}}, FiniteElement('Nedelec 1st kind H(curl)', Domain(Cell('triangle', 2), label='dolfin_mesh_with_id_0', data='<data with id 0>'), 1, quad_scheme=None): {None: {None: {(0, 1): array([[[-1.0, -1.0, -1.0],
[2.2204460492503131e-16, 2.2204460492503131e-16,
2.2204460492503131e-16]],
[[1.0, 1.0, 1.0],
[-2.7755575615628914e-16, -3.3306690738754696e-16,
-3.3306690738754696e-16]],
[[-1.0000000000000002, -1.0000000000000002, -1.0000000000000002],
[2.2204460492503131e-16, 2.7755575615628914e-16,
2.7755575615628914e-16]]], dtype=object), (1, 0): array([[[0.0, 0.0, 0.0],
[0.99999999999999989, 0.99999999999999978, 0.99999999999999978]],
[[0.0, 0.0, 0.0],
[-1.0, -1.0, -1.0]],
[[0.0, 0.0, 0.0],
[1.0, 1.0, 1.0]]], dtype=object), (0, 0): array([[[-0.16666666666666663, -0.66666666666666652, -0.1666666666666666],
[0.16666666666666649, 0.1666666666666666, 0.66666666666666641]],
[[0.16666666666666663, 0.66666666666666652, 0.1666666666666666],
[0.83333333333333326, 0.83333333333333304, 0.3333333333333332]],
[[0.83333333333333348, 0.33333333333333326, 0.83333333333333326],
[0.16666666666666652, 0.16666666666666657, 0.66666666666666641]]], dtype=object)}}}}}
DEBUG:FFC:
QG-utils, psi_tables, flat_tables:
{'FE0_C1_D01': array([[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
-1.00000000e+00, 0.00000000e+00, 1.00000000e+00],
[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
-1.00000000e+00, 1.11022302e-16, 1.00000000e+00],
[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
-1.00000000e+00, 1.11022302e-16, 1.00000000e+00]]), 'FE1_C0': array([[-0.16666666666666663, 0.16666666666666663, 0.83333333333333348],
[-0.66666666666666652, 0.66666666666666652, 0.33333333333333326],
[-0.1666666666666666, 0.1666666666666666, 0.83333333333333326]], dtype=object), 'FE1_C1': array([[0.16666666666666649, 0.83333333333333326, 0.16666666666666652],
[0.1666666666666666, 0.83333333333333304, 0.16666666666666657],
[0.66666666666666641, 0.3333333333333332, 0.66666666666666641]], dtype=object), 'FE0_C1_D10': array([[ 0., 0., 0., -1., 1., 0.],
[ 0., 0., 0., -1., 1., 0.],
[ 0., 0., 0., -1., 1., 0.]]), 'FE1_C1_D10': array([[0.99999999999999989, -1.0, 1.0],
[0.99999999999999978, -1.0, 1.0],
[0.99999999999999978, -1.0, 1.0]], dtype=object), 'FE0_C0_D10': array([[-1., 1., 0., 0., 0., 0.],
[-1., 1., 0., 0., 0., 0.],
[-1., 1., 0., 0., 0., 0.]]), 'FE0_C0_D01': array([[ -1.00000000e+00, 0.00000000e+00, 1.00000000e+00,
0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
[ -1.00000000e+00, 1.11022302e-16, 1.00000000e+00,
0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
[ -1.00000000e+00, 1.11022302e-16, 1.00000000e+00,
0.00000000e+00, 0.00000000e+00, 0.00000000e+00]]), 'FE1_C1_D01': array([[2.2204460492503131e-16, -2.7755575615628914e-16,
2.2204460492503131e-16],
[2.2204460492503131e-16, -3.3306690738754696e-16,
2.7755575615628914e-16],
[2.2204460492503131e-16, -3.3306690738754696e-16,
2.7755575615628914e-16]], dtype=object), 'FE1_C0_D01': array([[-1.0, 1.0, -1.0000000000000002],
[-1.0, 1.0, -1.0000000000000002],
[-1.0, 1.0, -1.0000000000000002]], dtype=object), 'FE1_C0_D10': array([[0.0, 0.0, 0.0],
[0.0, 0.0, 0.0],
[0.0, 0.0, 0.0]], dtype=object), 'FE0_C1': array([[ 0. , 0. , 0. , 0.66666667, 0.16666667,
0.16666667],
[ 0. , 0. , 0. , 0.16666667, 0.16666667,
0.66666667],
[ 0. , 0. , 0. , 0.16666667, 0.66666667,
0.16666667]]), 'FE0_C0': array([[ 0.66666667, 0.16666667, 0.16666667, 0. , 0. ,
0. ],
[ 0.16666667, 0.16666667, 0.66666667, 0. , 0. ,
0. ],
[ 0.16666667, 0.66666667, 0.16666667, 0. , 0. ,
0. ]])}
DEBUG:FFC:
tables: {'FE0_C1_D01': array([[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
-1.00000000e+00, 0.00000000e+00, 1.00000000e+00],
[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
-1.00000000e+00, 1.11022302e-16, 1.00000000e+00],
[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
-1.00000000e+00, 1.11022302e-16, 1.00000000e+00]]), 'FE1_C0': array([[-0.16666666666666663, 0.16666666666666663, 0.83333333333333348],
[-0.66666666666666652, 0.66666666666666652, 0.33333333333333326],
[-0.1666666666666666, 0.1666666666666666, 0.83333333333333326]], dtype=object), 'FE1_C1': array([[0.16666666666666649, 0.83333333333333326, 0.16666666666666652],
[0.1666666666666666, 0.83333333333333304, 0.16666666666666657],
[0.66666666666666641, 0.3333333333333332, 0.66666666666666641]], dtype=object), 'FE0_C1_D10': array([[ 0., 0., 0., -1., 1., 0.],
[ 0., 0., 0., -1., 1., 0.],
[ 0., 0., 0., -1., 1., 0.]]), 'FE1_C1_D10': array([[0.99999999999999989, -1.0, 1.0],
[0.99999999999999978, -1.0, 1.0],
[0.99999999999999978, -1.0, 1.0]], dtype=object), 'FE0_C0_D10': array([[-1., 1., 0., 0., 0., 0.],
[-1., 1., 0., 0., 0., 0.],
[-1., 1., 0., 0., 0., 0.]]), 'FE0_C0_D01': array([[ -1.00000000e+00, 0.00000000e+00, 1.00000000e+00,
0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
[ -1.00000000e+00, 1.11022302e-16, 1.00000000e+00,
0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
[ -1.00000000e+00, 1.11022302e-16, 1.00000000e+00,
0.00000000e+00, 0.00000000e+00, 0.00000000e+00]]), 'FE1_C0_D01': array([[-1.0, 1.0, -1.0000000000000002],
[-1.0, 1.0, -1.0000000000000002],
[-1.0, 1.0, -1.0000000000000002]], dtype=object), 'FE1_C0_D10': array([[0.0, 0.0, 0.0],
[0.0, 0.0, 0.0],
[0.0, 0.0, 0.0]], dtype=object), 'FE0_C1': array([[ 0. , 0. , 0. , 0.66666667, 0.16666667,
0.16666667],
[ 0. , 0. , 0. , 0.16666667, 0.16666667,
0.66666667],
[ 0. , 0. , 0. , 0.16666667, 0.66666667,
0.16666667]]), 'FE0_C0': array([[ 0.66666667, 0.16666667, 0.16666667, 0. , 0. ,
0. ],
[ 0.16666667, 0.16666667, 0.66666667, 0. , 0. ,
0. ],
[ 0.16666667, 0.66666667, 0.16666667, 0. , 0. ,
0. ]])}
DEBUG:FFC:
name_map: {'FE1_C0_D10': ['FE1_C1_D01']}
DEBUG:FFC:
inv_name_map: {'FE0_C1_D01': 'FE0_C1_D01', 'FE1_C0': 'FE1_C0', 'FE1_C1_D01': 'FE1_C0_D10', 'FE0_C1_D10': 'FE0_C1_D10', 'FE1_C1_D10': 'FE1_C1_D10', 'FE0_C0_D10': 'FE0_C0_D10', 'FE0_C0_D01': 'FE0_C0_D01', 'FE1_C1': 'FE1_C1', 'FE1_C0_D01': 'FE1_C0_D01', 'FE1_C0_D10': 'FE1_C0_D10', 'FE0_C1': 'FE0_C1', 'FE0_C0': 'FE0_C0'}
DEBUG:FFC:
QG-utils, psi_tables, unique_tables:
{'FE0_C1_D01': array([[ 0., 0., 0., -1., 0., 1.],
[ 0., 0., 0., -1., 0., 1.],
[ 0., 0., 0., -1., 0., 1.]]), 'FE1_C0': array([[-0.16666666666666663, 0.16666666666666663, 0.83333333333333348],
[-0.66666666666666652, 0.66666666666666652, 0.33333333333333326],
[-0.1666666666666666, 0.1666666666666666, 0.83333333333333326]], dtype=object), 'FE1_C1': array([[0.16666666666666649, 0.83333333333333326, 0.16666666666666652],
[0.1666666666666666, 0.83333333333333304, 0.16666666666666657],
[0.66666666666666641, 0.3333333333333332, 0.66666666666666641]], dtype=object), 'FE0_C1_D10': array([[ 0., 0., 0., -1., 1., 0.],
[ 0., 0., 0., -1., 1., 0.],
[ 0., 0., 0., -1., 1., 0.]]), 'FE1_C1_D10': array([[0.99999999999999989, -1.0, 1.0],
[0.99999999999999978, -1.0, 1.0],
[0.99999999999999978, -1.0, 1.0]], dtype=object), 'FE0_C0_D10': array([[-1., 1., 0., 0., 0., 0.],
[-1., 1., 0., 0., 0., 0.],
[-1., 1., 0., 0., 0., 0.]]), 'FE0_C0_D01': array([[-1., 0., 1., 0., 0., 0.],
[-1., 0., 1., 0., 0., 0.],
[-1., 0., 1., 0., 0., 0.]]), 'FE1_C0_D01': array([[-1.0, 1.0, -1.0000000000000002],
[-1.0, 1.0, -1.0000000000000002],
[-1.0, 1.0, -1.0000000000000002]], dtype=object), 'FE1_C0_D10': array([[0, 0, 0],
[0, 0, 0],
[0, 0, 0]], dtype=object), 'FE0_C1': array([[ 0. , 0. , 0. , 0.66666667, 0.16666667,
0.16666667],
[ 0. , 0. , 0. , 0.16666667, 0.16666667,
0.66666667],
[ 0. , 0. , 0. , 0.16666667, 0.66666667,
0.16666667]]), 'FE0_C0': array([[ 0.66666667, 0.16666667, 0.16666667, 0. , 0. ,
0. ],
[ 0.16666667, 0.16666667, 0.66666667, 0. , 0. ,
0. ],
[ 0.16666667, 0.66666667, 0.16666667, 0. , 0. ,
0. ]])}
DEBUG:FFC:
QG-utils, psi_tables, name_map:
{'FE0_C1_D01': ('FE0_C1_D01', (), False, False), 'FE1_C0': ('FE1_C0', (), False, False), 'FE1_C1_D01': ('FE1_C0_D10', (), True, False), 'FE0_C1_D10': ('FE0_C1_D10', (), False, False), 'FE1_C1_D10': ('FE1_C1_D10', (), False, False), 'FE0_C0_D10': ('FE0_C0_D10', (), False, False), 'FE0_C0_D01': ('FE0_C0_D01', (), False, False), 'FE1_C1': ('FE1_C1', (), False, False), 'FE1_C0_D01': ('FE1_C0_D01', (), False, False), 'FE1_C0_D10': ('FE1_C0_D10', (), True, False), 'FE0_C1': ('FE0_C1', (), False, False), 'FE0_C0': ('FE0_C0', (), False, False)}
INFO:FFC: Transforming cell integral
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
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
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.10867 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.00134706 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
INFO:FFC: Generating code for forms
INFO:FFC:
INFO:FFC:Compiler stage 4 finished in 0.085501 seconds.
INFO:FFC:Compiler stage 4.1 finished in 1.00136e-05 seconds.
INFO:FFC:Compiler stage 5: Formatting code
INFO:FFC:---------------------------------
INFO:FFC: Output written to ./ffc_form_34cfbe43aa7a7b19c52f0cee2d6fbcfb0c338975.h.
INFO:FFC:
INFO:FFC:Compiler stage 5 finished in 0.010807 seconds.
INFO:FFC:FFC finished in 0.244049 seconds.
DEBUG:FFC:Compiling and linking Python extension module, this may take some time.
INFO:UFL:Adjusting missing element domain to <Domain built from <triangle cell in 2D> with label dolfin_mesh_with_id_0>.
INFO:UFL:Adjusting missing element degree to 1
INFO:UFL:Adjusting missing element domain to <Domain built from <triangle cell in 2D> with label dolfin_mesh_with_id_0>.
INFO:UFL:Adjusting missing element degree to 1
INFO:UFL:Adjusting missing element domain to <Domain built from <triangle cell in 2D> with label dolfin_mesh_with_id_0>.
INFO:UFL:Adjusting missing element degree to 1
INFO:UFL:Adjusting missing element domain to <Domain built from <triangle cell in 2D> with label dolfin_mesh_with_id_0>.
INFO:UFL:Adjusting missing element degree to 1
INFO:UFL:Adjusting missing element domain to <Domain built from <triangle cell in 2D> with label dolfin_mesh_with_id_0>.
INFO:UFL:Adjusting missing element degree to 1
INFO:UFL:Adjusting missing element domain to <Domain built from <triangle cell in 2D> with label dolfin_mesh_with_id_0>.
INFO:UFL:Adjusting missing element degree to 1
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_0836b317ed031ff3a0d0ba8dc7e4852c20ecdd96
INFO:FFC:Compiler stage 1: Analyzing form(s)
INFO:FFC:-----------------------------------
INFO:FFC:
INFO:FFC: Name: ''
Geometric dimension: 2
Rank: 1
Arguments: '[v_0]'
Argument names: '[v0]'
Number of coefficients: 2
Coefficients: '[f_6, f_7]'
Coefficient names: '[w0, w1]'
Unique elements: 'N1curl1(?), Vector<2 x CG1(?)>'
Unique sub elements: 'N1curl1(?), Vector<2 x CG1(?)>, CG1(?)'
INFO:FFC: Extracting monomial form representation from UFL form
INFO:FFC: Transforming monomial form to reference element
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
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: Estimated cost of tensor representation: 2
INFO:FFC: representation: auto --> tensor
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.0134139 seconds.
INFO:FFC:Compiler stage 2: Computing intermediate representation
INFO:FFC:-------------------------------------------------------
INFO:FFC: Computing representation of 3 elements
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 3 dofmaps
DEBUG:FFC: Reusing element from cache
DEBUG:FFC: Reusing element from cache
DEBUG:FFC: Reusing element from cache
INFO:FFC: Computing representation of integrals
INFO:FFC: Computing tensor representation
INFO:FFC: Extracting monomial form representation from UFL form
INFO:FFC: Transforming monomial form to reference element
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
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: Precomputing integrals on reference element
DEBUG:FFC: Reusing element from cache
DEBUG:FFC: Reusing element from cache
DEBUG:FFC: 72 entries computed in 0.00266 seconds
DEBUG:FFC: Shape of reference tensor: (3, 2, 6, 2)
DEBUG:FFC: Primary multi index: rank = 1 dims = [3] indices = [[0], [1], [2]]
DEBUG:FFC: Secondary multi index: rank = 3 dims = [2, 6, 2] indices = [[0, 0, 0], [0, 0, 1], [0, 1, 0], [0, 1, 1], [0, 2, 0], [0, 2, 1], [0, 3, 0], [0, 3, 1], [0, 4, 0], [0, 4, 1], [0, 5, 0], [0, 5, 1], [1, 0, 0], [1, 0, 1], [1, 1, 0], [1, 1, 1], [1, 2, 0], [1, 2, 1], [1, 3, 0], [1, 3, 1], [1, 4, 0], [1, 4, 1], [1, 5, 0], [1, 5, 1]]
DEBUG:FFC: Internal multi index: rank = 0 dims = [] indices = [[]]
DEBUG:FFC: Secondary multi index: rank = 3 dims = [2, 6, 2] indices = [[0, 0, 0], [0, 0, 1], [0, 1, 0], [0, 1, 1], [0, 2, 0], [0, 2, 1], [0, 3, 0], [0, 3, 1], [0, 4, 0], [0, 4, 1], [0, 5, 0], [0, 5, 1], [1, 0, 0], [1, 0, 1], [1, 1, 0], [1, 1, 1], [1, 2, 0], [1, 2, 1], [1, 3, 0], [1, 3, 1], [1, 4, 0], [1, 4, 1], [1, 5, 0], [1, 5, 1]]
DEBUG:FFC: External multi index: rank = 0 dims = [] indices = [[]]
INFO:FFC: Precomputing integrals on reference element
DEBUG:FFC: Reusing element from cache
DEBUG:FFC: Reusing element from cache
DEBUG:FFC: 72 entries computed in 0.00458 seconds
DEBUG:FFC: Shape of reference tensor: (3, 2, 6, 2)
DEBUG:FFC: Primary multi index: rank = 1 dims = [3] indices = [[0], [1], [2]]
DEBUG:FFC: Secondary multi index: rank = 3 dims = [2, 6, 2] indices = [[0, 0, 0], [0, 0, 1], [0, 1, 0], [0, 1, 1], [0, 2, 0], [0, 2, 1], [0, 3, 0], [0, 3, 1], [0, 4, 0], [0, 4, 1], [0, 5, 0], [0, 5, 1], [1, 0, 0], [1, 0, 1], [1, 1, 0], [1, 1, 1], [1, 2, 0], [1, 2, 1], [1, 3, 0], [1, 3, 1], [1, 4, 0], [1, 4, 1], [1, 5, 0], [1, 5, 1]]
DEBUG:FFC: Internal multi index: rank = 0 dims = [] indices = [[]]
DEBUG:FFC: Secondary multi index: rank = 3 dims = [2, 6, 2] indices = [[0, 0, 0], [0, 0, 1], [0, 1, 0], [0, 1, 1], [0, 2, 0], [0, 2, 1], [0, 3, 0], [0, 3, 1], [0, 4, 0], [0, 4, 1], [0, 5, 0], [0, 5, 1], [1, 0, 0], [1, 0, 1], [1, 1, 0], [1, 1, 1], [1, 2, 0], [1, 2, 1], [1, 3, 0], [1, 3, 1], [1, 4, 0], [1, 4, 1], [1, 5, 0], [1, 5, 1]]
DEBUG:FFC: External multi index: rank = 0 dims = [] indices = [[]]
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.0409482 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.00194693 seconds.
INFO:FFC:Compiler stage 4: Generating code
INFO:FFC:---------------------------------
INFO:FFC: Generating code for 3 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
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
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
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 3 dofmap(s)
INFO:FFC: Generating code for integrals
INFO:FFC: Generating code for forms
INFO:FFC:
INFO:FFC:Compiler stage 4 finished in 0.213374 seconds.
INFO:FFC:Compiler stage 4.1 finished in 2.14577e-06 seconds.
INFO:FFC:Compiler stage 5: Formatting code
INFO:FFC:---------------------------------
INFO:FFC: Output written to ./ffc_form_0836b317ed031ff3a0d0ba8dc7e4852c20ecdd96.h.
INFO:FFC:
INFO:FFC:Compiler stage 5 finished in 0.009902 seconds.
INFO:FFC:FFC finished in 0.28181 seconds.
DEBUG:FFC:Compiling and linking Python extension module, this may take some time.
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_d11293b096b99347df9139f98096c84c5488d444
INFO:FFC:Compiler stage 1: Analyzing form(s)
INFO:FFC:-----------------------------------
INFO:FFC:
INFO:FFC: Name: ''
Geometric dimension: 2
Rank: 2
Arguments: '[v_0, v_1]'
Argument names: '[v0, v1]'
Number of coefficients: 0
Coefficients: '[]'
Coefficient names: '[]'
Unique elements: 'CG1(?)'
Unique sub elements: 'CG1(?)'
INFO:FFC: Extracting monomial form representation from UFL form
INFO:FFC: Transforming monomial form to reference element
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: Estimated cost of tensor representation: 2
INFO:FFC: representation: auto --> tensor
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.00766587 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 tensor representation
INFO:FFC: Extracting monomial form representation from UFL form
INFO:FFC: Transforming monomial form to reference element
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: Precomputing integrals on reference element
DEBUG:FFC: Reusing element from cache
DEBUG:FFC: 36 entries computed in 0.0018 seconds
DEBUG:FFC: Shape of reference tensor: (3, 3, 2, 2)
DEBUG:FFC: Primary multi index: rank = 2 dims = [3, 3] indices = [[0, 0], [0, 1], [0, 2], [1, 0], [1, 1], [1, 2], [2, 0], [2, 1], [2, 2]]
DEBUG:FFC: Secondary multi index: rank = 2 dims = [2, 2] indices = [[0, 0], [0, 1], [1, 0], [1, 1]]
DEBUG:FFC: Internal multi index: rank = 0 dims = [] indices = [[]]
DEBUG:FFC: Secondary multi index: rank = 2 dims = [2, 2] indices = [[0, 0], [0, 1], [1, 0], [1, 1]]
DEBUG:FFC: External multi index: rank = 1 dims = [2] indices = [[0], [1]]
INFO:FFC: Precomputing integrals on reference element
DEBUG:FFC: Reusing element from cache
DEBUG:FFC: 9 entries computed in 0.00135 seconds
DEBUG:FFC: Shape of reference tensor: (3, 3)
DEBUG:FFC: Primary multi index: rank = 2 dims = [3, 3] indices = [[0, 0], [0, 1], [0, 2], [1, 0], [1, 1], [1, 2], [2, 0], [2, 1], [2, 2]]
DEBUG:FFC: Secondary multi index: rank = 0 dims = [] indices = [[]]
DEBUG:FFC: Internal multi index: rank = 0 dims = [] indices = [[]]
DEBUG:FFC: Secondary multi index: rank = 0 dims = [] indices = [[]]
DEBUG:FFC: External multi index: rank = 0 dims = [] indices = [[]]
DEBUG:FFC: Reusing element from cache
INFO:FFC: Computing representation of forms
INFO:FFC:
INFO:FFC:Compiler stage 2 finished in 0.025619 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.00155997 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
INFO:FFC: Generating code for forms
INFO:FFC:
INFO:FFC:Compiler stage 4 finished in 0.0645351 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_d11293b096b99347df9139f98096c84c5488d444.h.
INFO:FFC:
INFO:FFC:Compiler stage 5 finished in 0.010174 seconds.
INFO:FFC:FFC finished in 0.112493 seconds.
DEBUG:FFC:Compiling and linking Python extension module, this may take some time.
In [5]:
A = Acurl.sparray()
Mmap = Magnetic.dofmap()
Lmap = Lagrange.dofmap()
In [6]:
print Mmap.cell_dofs(0)
print Lmap.cell_dofs(0)
[0 1 2]
[0 1 5]
In [7]:
V = FunctionSpace(mesh, "N1curl", order)
Q = FunctionSpace(mesh, "CG", order)
W = MixedFunctionSpace([V,Q])
(uMix,pMix) = TrialFunctions(W)
(vMix,qMix) = TestFunctions(W)
a = inner(curl(v),curl(u))*dx
m = inner(u,v)*dx
b = inner(vMix,grad(pMix))*dx
# <codecell>
A = assemble(a)
M = assemble(m)
Ms = M.sparray()
A = A.sparray()
# <codecell>
B = assemble(b)
B = B.sparray()[W.dim()-V.dim():,W.dim()-Q.dim():]
ksp = PETSc.KSP().create()
parameters['linear_algebra_backend'] = 'PETSc'
M = assemble(m)
M = CP.Assemble(M)
ksp.setOperators(M)
x = M.getVecLeft()
ksp.setFromOptions()
ksp.setType(ksp.Type.CG)
ksp.setTolerances(1e-2)
ksp.pc.setType(ksp.pc.Type.BJACOBI)
# <codecell>
OptDB = PETSc.Options()
# OptDB["pc_factor_mat_ordering_type"] = "rcm"
# OptDB["pc_factor_mat_solver_package"] = "cholmod"
ksp.setFromOptions()
C = sparse.csr_matrix((V.dim(),Q.dim()))
IO.matToSparse
# <codecell>
C = sparse.csr_matrix((V.dim(),Q.dim()))
(v) = TrialFunction(V)
(u) = TestFunction(V)
tic()
for i in range(0,Q.dim()):
uOut = Function(V)
uu = Function(Q)
x = M.getVecRight()
zero = np.zeros((Q.dim(),1))[:,0]
zero[i] = 1
uu.vector()[:] = zero
L = assemble(inner(u, grad(uu))*dx)
rhs = IO.arrayToVec(L.array())
ksp.solve(rhs,x)
# x = project(grad(uu),V)
P = x.array
uOut.vector()[:] = P
low_values_indices = np.abs(P) < 1e-3
P[low_values_indices] = 0
P=np.around(P)
pn = P.nonzero()[0]
for j in range(0,len(pn)):
C[pn[j],i] = P[pn[j]]
del uu
print toc()
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.
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_97664075f2e584e22493133c65e6ba79d3894f9b
INFO:FFC:Compiler stage 1: Analyzing form(s)
INFO:FFC:-----------------------------------
INFO:FFC:
INFO:FFC: Name: ''
Geometric dimension: 2
Rank: 1
Arguments: '[v_0]'
Argument names: '[v0]'
Number of coefficients: 0
Coefficients: '[]'
Coefficient names: '[]'
Unique elements: 'Mixed<N1curl1(?), CG1(?)>'
Unique sub elements: 'Mixed<N1curl1(?), CG1(?)>, N1curl1(?), CG1(?)'
INFO:FFC: Extracting monomial form representation from UFL form
INFO:FFC: Transforming monomial form to reference element
DEBUG:FFC: Reusing element from cache
DEBUG:FFC: Reusing element from cache
DEBUG:FFC: Reusing element from cache
DEBUG:FFC: Estimated cost of tensor representation: 1
INFO:FFC: representation: auto --> tensor
DEBUG:FFC: Selecting quadrature degree based on total polynomial degree of integrand: 1
INFO:FFC: quadrature_degree: auto --> 1
INFO:FFC: quadrature_rule: auto --> default
INFO:FFC:
INFO:FFC:Compiler stage 1 finished in 0.010752 seconds.
INFO:FFC:Compiler stage 2: Computing intermediate representation
INFO:FFC:-------------------------------------------------------
INFO:FFC: Computing representation of 3 elements
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 3 dofmaps
DEBUG:FFC: Reusing element from cache
DEBUG:FFC: Reusing element from cache
DEBUG:FFC: Reusing element from cache
INFO:FFC: Computing representation of integrals
INFO:FFC: Computing tensor representation
INFO:FFC: Extracting monomial form representation from UFL form
INFO:FFC: Transforming monomial form to reference element
DEBUG:FFC: Reusing element from cache
DEBUG:FFC: Reusing element from cache
INFO:FFC: Precomputing integrals on reference element
DEBUG:FFC: Reusing element from cache
DEBUG:FFC: 12 entries computed in 0.00175 seconds
DEBUG:FFC: Shape of reference tensor: (6, 2)
DEBUG:FFC: Primary multi index: rank = 1 dims = [6] indices = [[0], [1], [2], [3], [4], [5]]
DEBUG:FFC: Secondary multi index: rank = 1 dims = [2] indices = [[0], [1]]
DEBUG:FFC: Internal multi index: rank = 0 dims = [] indices = [[]]
DEBUG:FFC: Secondary multi index: rank = 1 dims = [2] indices = [[0], [1]]
DEBUG:FFC: External multi index: rank = 0 dims = [] indices = [[]]
DEBUG:FFC: Reusing element from cache
INFO:FFC: Computing representation of forms
INFO:FFC:
INFO:FFC:Compiler stage 2 finished in 0.0299258 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.00570202 seconds.
INFO:FFC:Compiler stage 4: Generating code
INFO:FFC:---------------------------------
INFO:FFC: Generating code for 3 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
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
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
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 3 dofmap(s)
INFO:FFC: Generating code for integrals
INFO:FFC: Generating code for forms
INFO:FFC:
INFO:FFC:Compiler stage 4 finished in 0.252603 seconds.
INFO:FFC:Compiler stage 4.1 finished in 2.14577e-06 seconds.
INFO:FFC:Compiler stage 5: Formatting code
INFO:FFC:---------------------------------
INFO:FFC: Output written to ./ffc_form_97664075f2e584e22493133c65e6ba79d3894f9b.h.
INFO:FFC:
INFO:FFC:Compiler stage 5 finished in 0.010478 seconds.
INFO:FFC:FFC finished in 0.313971 seconds.
DEBUG:FFC:Compiling and linking Python extension module, this may take some time.
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_4cf6f5caaedc5aa0e18f0f323971e27ea054d3a3
INFO:FFC:Compiler stage 1: Analyzing form(s)
INFO:FFC:-----------------------------------
INFO:FFC:
INFO:FFC: Name: ''
Geometric dimension: 2
Rank: 2
Arguments: '[v_0, v_1]'
Argument names: '[v0, v1]'
Number of coefficients: 0
Coefficients: '[]'
Coefficient names: '[]'
Unique elements: 'N1curl1(?)'
Unique sub elements: 'N1curl1(?)'
INFO:FFC: Extracting monomial form representation from UFL form
INFO:FFC: Transforming monomial form to reference element
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
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
DEBUG:FFC: Estimated cost of tensor representation: 4
INFO:FFC: representation: auto --> quadrature
DEBUG:FFC: Selecting quadrature degree based on total polynomial degree of integrand: 0
INFO:FFC: quadrature_degree: auto --> 0
INFO:FFC: quadrature_rule: auto --> default
INFO:FFC:
INFO:FFC:Compiler stage 1 finished in 0.0229819 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: Reusing element from cache
DEBUG:FFC:
QG-utils, psi_tables:
{1: {VectorElement('Lagrange', Domain(Cell('triangle', 2), label='dolfin_mesh_with_id_0', data='<data with id 0>'), 1, dim=2, quad_scheme=None): {None: {None: {(0, 1): array([[[-1.],
[ 0.]],
[[ 0.],
[ 0.]],
[[ 1.],
[ 0.]],
[[ 0.],
[-1.]],
[[ 0.],
[ 0.]],
[[ 0.],
[ 1.]]]), (1, 0): array([[[-1.],
[ 0.]],
[[ 1.],
[ 0.]],
[[ 0.],
[ 0.]],
[[ 0.],
[-1.]],
[[ 0.],
[ 1.]],
[[ 0.],
[ 0.]]]), (0, 0): array([[[ 0.33333333],
[ 0. ]],
[[ 0.33333333],
[ 0. ]],
[[ 0.33333333],
[ 0. ]],
[[ 0. ],
[ 0.33333333]],
[[ 0. ],
[ 0.33333333]],
[[ 0. ],
[ 0.33333333]]])}}}, FiniteElement('Nedelec 1st kind H(curl)', Domain(Cell('triangle', 2), label='dolfin_mesh_with_id_0', data='<data with id 0>'), 1, quad_scheme=None): {None: {None: {(0, 1): array([[[-1.0],
[2.2204460492503131e-16]],
[[1.0],
[-2.7755575615628914e-16]],
[[-1.0000000000000002],
[2.2204460492503131e-16]]], dtype=object), (1, 0): array([[[0.0],
[0.99999999999999989]],
[[0.0],
[-1.0]],
[[0.0],
[1.0]]], dtype=object), (0, 0): array([[[-0.33333333333333331],
[0.33333333333333326]],
[[0.33333333333333331],
[0.66666666666666652]],
[[0.66666666666666674],
[0.33333333333333326]]], dtype=object)}}}}}
DEBUG:FFC:
QG-utils, psi_tables, flat_tables:
{'FE0_C1_D01': array([[ 0., 0., 0., -1., 0., 1.]]), 'FE1_C0': array([[-0.33333333333333331, 0.33333333333333331, 0.66666666666666674]], dtype=object), 'FE1_C1': array([[0.33333333333333326, 0.66666666666666652, 0.33333333333333326]], dtype=object), 'FE0_C1_D10': array([[ 0., 0., 0., -1., 1., 0.]]), 'FE1_C1_D10': array([[0.99999999999999989, -1.0, 1.0]], dtype=object), 'FE0_C0_D10': array([[-1., 1., 0., 0., 0., 0.]]), 'FE0_C0_D01': array([[-1., 0., 1., 0., 0., 0.]]), 'FE1_C1_D01': array([[2.2204460492503131e-16, -2.7755575615628914e-16,
2.2204460492503131e-16]], dtype=object), 'FE1_C0_D01': array([[-1.0, 1.0, -1.0000000000000002]], dtype=object), 'FE1_C0_D10': array([[0.0, 0.0, 0.0]], dtype=object), 'FE0_C1': array([[ 0. , 0. , 0. , 0.33333333, 0.33333333,
0.33333333]]), 'FE0_C0': array([[ 0.33333333, 0.33333333, 0.33333333, 0. , 0. ,
0. ]])}
DEBUG:FFC:
tables: {'FE0_C1_D01': array([[ 0., 0., 0., -1., 0., 1.]]), 'FE1_C0': array([[-0.33333333333333331, 0.33333333333333331, 0.66666666666666674]], dtype=object), 'FE1_C1': array([[0.33333333333333326, 0.66666666666666652, 0.33333333333333326]], dtype=object), 'FE0_C1_D10': array([[ 0., 0., 0., -1., 1., 0.]]), 'FE1_C1_D10': array([[0.99999999999999989, -1.0, 1.0]], dtype=object), 'FE0_C0_D10': array([[-1., 1., 0., 0., 0., 0.]]), 'FE0_C0_D01': array([[-1., 0., 1., 0., 0., 0.]]), 'FE1_C0_D01': array([[-1.0, 1.0, -1.0000000000000002]], dtype=object), 'FE1_C0_D10': array([[0.0, 0.0, 0.0]], dtype=object), 'FE0_C1': array([[ 0. , 0. , 0. , 0.33333333, 0.33333333,
0.33333333]]), 'FE0_C0': array([[ 0.33333333, 0.33333333, 0.33333333, 0. , 0. ,
0. ]])}
DEBUG:FFC:
name_map: {'FE1_C0_D10': ['FE1_C1_D01']}
DEBUG:FFC:
inv_name_map: {'FE0_C1_D01': 'FE0_C1_D01', 'FE1_C0': 'FE1_C0', 'FE1_C1_D01': 'FE1_C0_D10', 'FE0_C1_D10': 'FE0_C1_D10', 'FE1_C1_D10': 'FE1_C1_D10', 'FE0_C0_D10': 'FE0_C0_D10', 'FE0_C0_D01': 'FE0_C0_D01', 'FE1_C1': 'FE1_C1', 'FE1_C0_D01': 'FE1_C0_D01', 'FE1_C0_D10': 'FE1_C0_D10', 'FE0_C1': 'FE0_C1', 'FE0_C0': 'FE0_C0'}
DEBUG:FFC:
QG-utils, psi_tables, unique_tables:
{'FE0_C1_D01': array([[ 0., 0., 0., -1., 0., 1.]]), 'FE1_C0': array([[-0.33333333333333331, 0.33333333333333331, 0.66666666666666674]], dtype=object), 'FE1_C1': array([[0.33333333333333326, 0.66666666666666652, 0.33333333333333326]], dtype=object), 'FE0_C1_D10': array([[ 0., 0., 0., -1., 1., 0.]]), 'FE1_C1_D10': array([[0.99999999999999989, -1.0, 1.0]], dtype=object), 'FE0_C0_D10': array([[-1., 1., 0., 0., 0., 0.]]), 'FE0_C0_D01': array([[-1., 0., 1., 0., 0., 0.]]), 'FE1_C0_D01': array([[-1.0, 1.0, -1.0000000000000002]], dtype=object), 'FE1_C0_D10': array([[0, 0, 0]], dtype=object), 'FE0_C1': array([[ 0. , 0. , 0. , 0.33333333, 0.33333333,
0.33333333]]), 'FE0_C0': array([[ 0.33333333, 0.33333333, 0.33333333, 0. , 0. ,
0. ]])}
DEBUG:FFC:
QG-utils, psi_tables, name_map:
{'FE0_C1_D01': ('FE0_C1_D01', (), False, False), 'FE1_C0': ('FE1_C0', (), False, False), 'FE1_C1_D01': ('FE1_C0_D10', (), True, False), 'FE0_C1_D10': ('FE0_C1_D10', (), False, False), 'FE1_C1_D10': ('FE1_C1_D10', (), False, False), 'FE0_C0_D10': ('FE0_C0_D10', (), False, False), 'FE0_C0_D01': ('FE0_C0_D01', (), False, False), 'FE1_C1': ('FE1_C1', (), False, False), 'FE1_C0_D01': ('FE1_C0_D01', (), False, False), 'FE1_C0_D10': ('FE1_C0_D10', (), True, False), 'FE0_C1': ('FE0_C1', (), False, False), 'FE0_C0': ('FE0_C0', (), False, False)}
INFO:FFC: Transforming cell integral
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
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.114939 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.00181603 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
INFO:FFC: Generating code for forms
INFO:FFC:
INFO:FFC:Compiler stage 4 finished in 0.0751748 seconds.
INFO:FFC:Compiler stage 4.1 finished in 4.05312e-06 seconds.
INFO:FFC:Compiler stage 5: Formatting code
INFO:FFC:---------------------------------
INFO:FFC: Output written to ./ffc_form_4cf6f5caaedc5aa0e18f0f323971e27ea054d3a3.h.
INFO:FFC:
INFO:FFC:Compiler stage 5 finished in 0.00251603 seconds.
INFO:FFC:FFC finished in 0.221024 seconds.
DEBUG:FFC:Compiling and linking Python extension module, this may take some time.
DEBUG:UFL:No integrals left after transformation, returning empty form.
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: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_90680427f125ed0d5326740b03feb8fb8467730c
INFO:FFC:Compiler stage 1: Analyzing form(s)
INFO:FFC:-----------------------------------
INFO:FFC:
INFO:FFC: Name: ''
Geometric dimension: 2
Rank: 2
Arguments: '[v_0, v_1]'
Argument names: '[v0, v1]'
Number of coefficients: 0
Coefficients: '[]'
Coefficient names: '[]'
Unique elements: 'Mixed<N1curl1(?), CG1(?)>'
Unique sub elements: 'Mixed<N1curl1(?), CG1(?)>, N1curl1(?), CG1(?)'
INFO:FFC: Extracting monomial form representation from UFL form
INFO:FFC: Transforming monomial form to reference element
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
DEBUG:FFC: Estimated cost of tensor representation: 2
INFO:FFC: representation: auto --> tensor
DEBUG:FFC: Selecting quadrature degree based on total polynomial degree of integrand: 1
INFO:FFC: quadrature_degree: auto --> 1
INFO:FFC: quadrature_rule: auto --> default
INFO:FFC:
INFO:FFC:Compiler stage 1 finished in 0.0350862 seconds.
INFO:FFC:Compiler stage 2: Computing intermediate representation
INFO:FFC:-------------------------------------------------------
INFO:FFC: Computing representation of 3 elements
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 3 dofmaps
DEBUG:FFC: Reusing element from cache
DEBUG:FFC: Reusing element from cache
DEBUG:FFC: Reusing element from cache
INFO:FFC: Computing representation of integrals
INFO:FFC: Computing tensor representation
INFO:FFC: Extracting monomial form representation from UFL form
INFO:FFC: Transforming monomial form to reference element
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: Precomputing integrals on reference element
DEBUG:FFC: Reusing element from cache
DEBUG:FFC: 144 entries computed in 0.00179 seconds
DEBUG:FFC: Shape of reference tensor: (6, 6, 2, 2)
DEBUG:FFC: Primary multi index: rank = 2 dims = [6, 6] indices = [[0, 0], [0, 1], [0, 2], [0, 3], [0, 4], [0, 5], [1, 0], [1, 1], [1, 2], [1, 3], [1, 4], [1, 5], [2, 0], [2, 1], [2, 2], [2, 3], [2, 4], [2, 5], [3, 0], [3, 1], [3, 2], [3, 3], [3, 4], [3, 5], [4, 0], [4, 1], [4, 2], [4, 3], [4, 4], [4, 5], [5, 0], [5, 1], [5, 2], [5, 3], [5, 4], [5, 5]]
DEBUG:FFC: Secondary multi index: rank = 2 dims = [2, 2] indices = [[0, 0], [0, 1], [1, 0], [1, 1]]
DEBUG:FFC: Internal multi index: rank = 0 dims = [] indices = [[]]
DEBUG:FFC: Secondary multi index: rank = 2 dims = [2, 2] indices = [[0, 0], [0, 1], [1, 0], [1, 1]]
DEBUG:FFC: External multi index: rank = 0 dims = [] indices = [[]]
INFO:FFC: Precomputing integrals on reference element
DEBUG:FFC: Reusing element from cache
DEBUG:FFC: 144 entries computed in 0.00248 seconds
DEBUG:FFC: Shape of reference tensor: (6, 6, 2, 2)
DEBUG:FFC: Primary multi index: rank = 2 dims = [6, 6] indices = [[0, 0], [0, 1], [0, 2], [0, 3], [0, 4], [0, 5], [1, 0], [1, 1], [1, 2], [1, 3], [1, 4], [1, 5], [2, 0], [2, 1], [2, 2], [2, 3], [2, 4], [2, 5], [3, 0], [3, 1], [3, 2], [3, 3], [3, 4], [3, 5], [4, 0], [4, 1], [4, 2], [4, 3], [4, 4], [4, 5], [5, 0], [5, 1], [5, 2], [5, 3], [5, 4], [5, 5]]
DEBUG:FFC: Secondary multi index: rank = 2 dims = [2, 2] indices = [[0, 0], [0, 1], [1, 0], [1, 1]]
DEBUG:FFC: Internal multi index: rank = 0 dims = [] indices = [[]]
DEBUG:FFC: Secondary multi index: rank = 2 dims = [2, 2] indices = [[0, 0], [0, 1], [1, 0], [1, 1]]
DEBUG:FFC: External multi index: rank = 0 dims = [] indices = [[]]
DEBUG:FFC: Reusing element from cache
INFO:FFC: Computing representation of forms
INFO:FFC:
INFO:FFC:Compiler stage 2 finished in 0.0688839 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.00462508 seconds.
INFO:FFC:Compiler stage 4: Generating code
INFO:FFC:---------------------------------
INFO:FFC: Generating code for 3 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
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
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
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 3 dofmap(s)
INFO:FFC: Generating code for integrals
INFO:FFC: Generating code for forms
INFO:FFC:
INFO:FFC:Compiler stage 4 finished in 0.234904 seconds.
INFO:FFC:Compiler stage 4.1 finished in 2.86102e-06 seconds.
INFO:FFC:Compiler stage 5: Formatting code
INFO:FFC:---------------------------------
INFO:FFC: Output written to ./ffc_form_90680427f125ed0d5326740b03feb8fb8467730c.h.
INFO:FFC:
INFO:FFC:Compiler stage 5 finished in 0.010843 seconds.
INFO:FFC:FFC finished in 0.357804 seconds.
DEBUG:FFC:Compiling and linking Python extension module, this may take some time.
---------------------------------------------------------------------------
RuntimeError Traceback (most recent call last)
<ipython-input-7-36d3d73b3ac4> in <module>()
21 B = B.sparray()[W.dim()-V.dim():,W.dim()-Q.dim():]
22 ksp = PETSc.KSP().create()
---> 23 parameters['linear_algebra_backend'] = 'PETSc'
24 M = assemble(m)
25 M = CP.Assemble(M)
/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/dolfin/cpp/common.py in __setitem__(self, key, value)
2099 par._assign_bool(value)
2100 else:
-> 2101 par._assign(value)
2102
2103 def update(self, other):
RuntimeError:
*** -------------------------------------------------------------------------
*** DOLFIN encountered an error. If you are not able to resolve this issue
*** using the information listed below, you can ask for help at
***
*** fenics@fenicsproject.org
***
*** Remember to include the error message listed below and, if possible,
*** include a *minimal* running example to reproduce the error.
***
*** -------------------------------------------------------------------------
*** Error: Unable to assign parameter value.
*** Reason: Illegal value for parameter "linear_algebra_backend". Allowed values are: [STL, uBLAS].
*** Where: This error was encountered inside Parameter.cpp.
*** Process: unknown
***
*** DOLFIN version: 1.4.0
*** Git changeset:
*** -------------------------------------------------------------------------
In [ ]:
print Lmap.vertex_to_dof_map(mesh)
print Lmap.dof_to_vertex_map(mesh)
print Mmap.extract_sub_dofmap()
In [11]:
# vertex = vertices(mesh)
In [8]:
for vert in vertices(mesh):
print "\nvert", vert.index()
for edge in edges(vert):
print " edge", edge.index()
# vert.
vert 0
edge 1
edge 2
vert 1
edge 0
edge 2
edge 4
edge 6
vert 2
edge 5
edge 6
edge 8
edge 10
vert 3
edge 9
edge 10
edge 12
edge 14
vert 4
edge 13
edge 14
edge 16
vert 5
edge 0
edge 1
edge 3
edge 18
vert 6
edge 3
edge 4
edge 5
edge 7
edge 17
edge 20
vert 7
edge 7
edge 8
edge 9
edge 11
edge 21
edge 23
vert 8
edge 11
edge 12
edge 13
edge 15
edge 24
edge 26
vert 9
edge 15
edge 16
edge 27
edge 29
vert 10
edge 17
edge 18
edge 19
edge 31
vert 11
edge 19
edge 20
edge 21
edge 22
edge 30
edge 33
vert 12
edge 22
edge 23
edge 24
edge 25
edge 34
edge 36
vert 13
edge 25
edge 26
edge 27
edge 28
edge 37
edge 39
vert 14
edge 28
edge 29
edge 40
edge 42
vert 15
edge 30
edge 31
edge 32
edge 44
vert 16
edge 32
edge 33
edge 34
edge 35
edge 43
edge 46
vert 17
edge 35
edge 36
edge 37
edge 38
edge 47
edge 49
vert 18
edge 38
edge 39
edge 40
edge 41
edge 50
edge 52
vert 19
edge 41
edge 42
edge 53
edge 55
vert 20
edge 43
edge 44
edge 45
vert 21
edge 45
edge 46
edge 47
edge 48
vert 22
edge 48
edge 49
edge 50
edge 51
vert 23
edge 51
edge 52
edge 53
edge 54
vert 24
edge 54
edge 55
In [12]:
mesh = UnitCubeMesh(2,2,2)
for vert in edges(mesh):
print "\nedge", vert.index()
for edge in vertices(vert):
print " vertex", edge.index()
edge 0
vertex 4
vertex 13
edge 1
vertex 1
vertex 13
edge 2
vertex 1
vertex 4
edge 3
vertex 0
vertex 13
edge 4
vertex 0
vertex 4
edge 5
vertex 0
vertex 1
edge 6
vertex 10
vertex 13
edge 7
vertex 1
vertex 10
edge 8
vertex 0
vertex 10
edge 9
vertex 9
vertex 13
edge 10
vertex 9
vertex 10
edge 11
vertex 0
vertex 9
edge 12
vertex 3
vertex 13
edge 13
vertex 3
vertex 4
edge 14
vertex 0
vertex 3
edge 15
vertex 12
vertex 13
edge 16
vertex 9
vertex 12
edge 17
vertex 0
vertex 12
edge 18
vertex 3
vertex 12
edge 19
vertex 5
vertex 14
edge 20
vertex 2
vertex 14
edge 21
vertex 2
vertex 5
edge 22
vertex 1
vertex 14
edge 23
vertex 1
vertex 5
edge 24
vertex 1
vertex 2
edge 25
vertex 11
vertex 14
edge 26
vertex 2
vertex 11
edge 27
vertex 1
vertex 11
edge 28
vertex 10
vertex 14
edge 29
vertex 10
vertex 11
edge 30
vertex 4
vertex 14
edge 31
vertex 4
vertex 5
edge 32
vertex 13
vertex 14
edge 33
vertex 7
vertex 16
edge 34
vertex 4
vertex 16
edge 35
vertex 4
vertex 7
edge 36
vertex 3
vertex 16
edge 37
vertex 3
vertex 7
edge 38
vertex 13
vertex 16
edge 39
vertex 12
vertex 16
edge 40
vertex 6
vertex 16
edge 41
vertex 6
vertex 7
edge 42
vertex 3
vertex 6
edge 43
vertex 15
vertex 16
edge 44
vertex 12
vertex 15
edge 45
vertex 3
vertex 15
edge 46
vertex 6
vertex 15
edge 47
vertex 8
vertex 17
edge 48
vertex 5
vertex 17
edge 49
vertex 5
vertex 8
edge 50
vertex 4
vertex 17
edge 51
vertex 4
vertex 8
edge 52
vertex 14
vertex 17
edge 53
vertex 13
vertex 17
edge 54
vertex 7
vertex 17
edge 55
vertex 7
vertex 8
edge 56
vertex 16
vertex 17
edge 57
vertex 13
vertex 22
edge 58
vertex 10
vertex 22
edge 59
vertex 9
vertex 22
edge 60
vertex 19
vertex 22
edge 61
vertex 10
vertex 19
edge 62
vertex 9
vertex 19
edge 63
vertex 18
vertex 22
edge 64
vertex 18
vertex 19
edge 65
vertex 9
vertex 18
edge 66
vertex 12
vertex 22
edge 67
vertex 21
vertex 22
edge 68
vertex 18
vertex 21
edge 69
vertex 9
vertex 21
edge 70
vertex 12
vertex 21
edge 71
vertex 14
vertex 23
edge 72
vertex 11
vertex 23
edge 73
vertex 10
vertex 23
edge 74
vertex 20
vertex 23
edge 75
vertex 11
vertex 20
edge 76
vertex 10
vertex 20
edge 77
vertex 19
vertex 23
edge 78
vertex 19
vertex 20
edge 79
vertex 13
vertex 23
edge 80
vertex 22
vertex 23
edge 81
vertex 16
vertex 25
edge 82
vertex 13
vertex 25
edge 83
vertex 12
vertex 25
edge 84
vertex 22
vertex 25
edge 85
vertex 21
vertex 25
edge 86
vertex 15
vertex 25
edge 87
vertex 24
vertex 25
edge 88
vertex 21
vertex 24
edge 89
vertex 12
vertex 24
edge 90
vertex 15
vertex 24
edge 91
vertex 17
vertex 26
edge 92
vertex 14
vertex 26
edge 93
vertex 13
vertex 26
edge 94
vertex 23
vertex 26
edge 95
vertex 22
vertex 26
edge 96
vertex 16
vertex 26
edge 97
vertex 25
vertex 26
In [14]:
for vert in faces(mesh):
print "\nedge", vert.index()
for edge in vertices(vert):
print " vertex", edge.index()
edge 0
vertex 1
vertex 4
vertex 13
edge 1
vertex 0
vertex 4
vertex 13
edge 2
vertex 0
vertex 1
vertex 13
edge 3
vertex 0
vertex 1
vertex 4
edge 4
vertex 1
vertex 10
vertex 13
edge 5
vertex 0
vertex 10
vertex 13
edge 6
vertex 0
vertex 1
vertex 10
edge 7
vertex 9
vertex 10
vertex 13
edge 8
vertex 0
vertex 9
vertex 13
edge 9
vertex 0
vertex 9
vertex 10
edge 10
vertex 3
vertex 4
vertex 13
edge 11
vertex 0
vertex 3
vertex 13
edge 12
vertex 0
vertex 3
vertex 4
edge 13
vertex 9
vertex 12
vertex 13
edge 14
vertex 0
vertex 12
vertex 13
edge 15
vertex 0
vertex 9
vertex 12
edge 16
vertex 3
vertex 12
vertex 13
edge 17
vertex 0
vertex 3
vertex 12
edge 18
vertex 2
vertex 5
vertex 14
edge 19
vertex 1
vertex 5
vertex 14
edge 20
vertex 1
vertex 2
vertex 14
edge 21
vertex 1
vertex 2
vertex 5
edge 22
vertex 2
vertex 11
vertex 14
edge 23
vertex 1
vertex 11
vertex 14
edge 24
vertex 1
vertex 2
vertex 11
edge 25
vertex 10
vertex 11
vertex 14
edge 26
vertex 1
vertex 10
vertex 14
edge 27
vertex 1
vertex 10
vertex 11
edge 28
vertex 4
vertex 5
vertex 14
edge 29
vertex 1
vertex 4
vertex 14
edge 30
vertex 1
vertex 4
vertex 5
edge 31
vertex 10
vertex 13
vertex 14
edge 32
vertex 1
vertex 13
vertex 14
edge 33
vertex 4
vertex 13
vertex 14
edge 34
vertex 4
vertex 7
vertex 16
edge 35
vertex 3
vertex 7
vertex 16
edge 36
vertex 3
vertex 4
vertex 16
edge 37
vertex 3
vertex 4
vertex 7
edge 38
vertex 4
vertex 13
vertex 16
edge 39
vertex 3
vertex 13
vertex 16
edge 40
vertex 12
vertex 13
vertex 16
edge 41
vertex 3
vertex 12
vertex 16
edge 42
vertex 6
vertex 7
vertex 16
edge 43
vertex 3
vertex 6
vertex 16
edge 44
vertex 3
vertex 6
vertex 7
edge 45
vertex 12
vertex 15
vertex 16
edge 46
vertex 3
vertex 15
vertex 16
edge 47
vertex 3
vertex 12
vertex 15
edge 48
vertex 6
vertex 15
vertex 16
edge 49
vertex 3
vertex 6
vertex 15
edge 50
vertex 5
vertex 8
vertex 17
edge 51
vertex 4
vertex 8
vertex 17
edge 52
vertex 4
vertex 5
vertex 17
edge 53
vertex 4
vertex 5
vertex 8
edge 54
vertex 5
vertex 14
vertex 17
edge 55
vertex 4
vertex 14
vertex 17
edge 56
vertex 13
vertex 14
vertex 17
edge 57
vertex 4
vertex 13
vertex 17
edge 58
vertex 7
vertex 8
vertex 17
edge 59
vertex 4
vertex 7
vertex 17
edge 60
vertex 4
vertex 7
vertex 8
edge 61
vertex 13
vertex 16
vertex 17
edge 62
vertex 4
vertex 16
vertex 17
edge 63
vertex 7
vertex 16
vertex 17
edge 64
vertex 10
vertex 13
vertex 22
edge 65
vertex 9
vertex 13
vertex 22
edge 66
vertex 9
vertex 10
vertex 22
edge 67
vertex 10
vertex 19
vertex 22
edge 68
vertex 9
vertex 19
vertex 22
edge 69
vertex 9
vertex 10
vertex 19
edge 70
vertex 18
vertex 19
vertex 22
edge 71
vertex 9
vertex 18
vertex 22
edge 72
vertex 9
vertex 18
vertex 19
edge 73
vertex 12
vertex 13
vertex 22
edge 74
vertex 9
vertex 12
vertex 22
edge 75
vertex 18
vertex 21
vertex 22
edge 76
vertex 9
vertex 21
vertex 22
edge 77
vertex 9
vertex 18
vertex 21
edge 78
vertex 12
vertex 21
vertex 22
edge 79
vertex 9
vertex 12
vertex 21
edge 80
vertex 11
vertex 14
vertex 23
edge 81
vertex 10
vertex 14
vertex 23
edge 82
vertex 10
vertex 11
vertex 23
edge 83
vertex 11
vertex 20
vertex 23
edge 84
vertex 10
vertex 20
vertex 23
edge 85
vertex 10
vertex 11
vertex 20
edge 86
vertex 19
vertex 20
vertex 23
edge 87
vertex 10
vertex 19
vertex 23
edge 88
vertex 10
vertex 19
vertex 20
edge 89
vertex 13
vertex 14
vertex 23
edge 90
vertex 10
vertex 13
vertex 23
edge 91
vertex 19
vertex 22
vertex 23
edge 92
vertex 10
vertex 22
vertex 23
edge 93
vertex 13
vertex 22
vertex 23
edge 94
vertex 13
vertex 16
vertex 25
edge 95
vertex 12
vertex 16
vertex 25
edge 96
vertex 12
vertex 13
vertex 25
edge 97
vertex 13
vertex 22
vertex 25
edge 98
vertex 12
vertex 22
vertex 25
edge 99
vertex 21
vertex 22
vertex 25
edge 100
vertex 12
vertex 21
vertex 25
edge 101
vertex 15
vertex 16
vertex 25
edge 102
vertex 12
vertex 15
vertex 25
edge 103
vertex 21
vertex 24
vertex 25
edge 104
vertex 12
vertex 24
vertex 25
edge 105
vertex 12
vertex 21
vertex 24
edge 106
vertex 15
vertex 24
vertex 25
edge 107
vertex 12
vertex 15
vertex 24
edge 108
vertex 14
vertex 17
vertex 26
edge 109
vertex 13
vertex 17
vertex 26
edge 110
vertex 13
vertex 14
vertex 26
edge 111
vertex 14
vertex 23
vertex 26
edge 112
vertex 13
vertex 23
vertex 26
edge 113
vertex 22
vertex 23
vertex 26
edge 114
vertex 13
vertex 22
vertex 26
edge 115
vertex 16
vertex 17
vertex 26
edge 116
vertex 13
vertex 16
vertex 26
edge 117
vertex 22
vertex 25
vertex 26
edge 118
vertex 13
vertex 25
vertex 26
edge 119
vertex 16
vertex 25
vertex 26
In [17]:
mesh.num_edges()
Out[17]:
98
In [ ]:
In [ ]:
In [ ]:
In [ ]:
In [12]:
print Mmap.neighbours
<bound method GenericDofMap.GenericDofMap_neighbours of <dolfin.cpp.fem.GenericDofMap; proxy of <Swig Object of type 'boost::shared_ptr< dolfin::GenericDofMap > *' at 0x4798540> >>
In [13]:
from FIAT import *
def build_edge2dof_map(V):
"""
This function takes a N1Curl(1) space and return an integer valued array edge2dof.
This array has the number of edges as its length. In particular
edge2dof[i] = j
means that dof #i, that is u.vector()[i], is associated to edge #j.
"""
# Extract the cell to edge map (given an cell index, it returns the indices of its edges)
cell2edges = V.mesh().topology()(3, 1)
# Extract the cell dofmap (given a cell index, it returns the dof numbers)
cell2dofs = V.dofmap().cell_dofs
# Array to save the result
edge2dof = numpy.zeros(mesh.num_edges(), dtype="int")
# Iterate over cells, associating the edges to the dofs for that cell
for c in range(mesh.num_cells()):
# get the global edge numbers for this cell
c_edges = cell2edges(c)
# get the global dof numbers for this cell
c_dofs = cell2dofs(c)
# associate the edge numbers to the corresponding dof numbers
edge2dof[c_dofs] = c_edges
# This algorithm might not look fast as it does quite some redundant work. In actual
# runs, for most meshes, this is not the most time consuming step and does not take
# more than a milisecond.
return edge2dof
In [ ]:
build_edge2dof_map(Magnetic)
In [ ]:
Content source: wathen/PhD
Similar notebooks: