In [11]:
from dolfin import *
import numpy
nn = 1
mesh = UnitCubeMesh(int(nn),int(nn),int(nn))
order = 1
parameters['reorder_dofs_serial'] = False
Magnetic = FunctionSpace(mesh, "N1curl", order)
Lagrange = FunctionSpace(mesh, "CG", order)
print Magnetic.dim()
def boundary(x, on_boundary):
return on_boundary
In [6]:
B = BoundaryMesh(Magnetic.mesh(),"exterior",False)
numpy.sort(B.entity_map(1).array().astype("float_","C"))
Out[6]:
In [13]:
E = EdgeFunctionBool(mesh)
print E.array()
VertexBoundary = numpy.zeros(mesh.num_edges())
VertexBoundary[E.array()] = 1
print VertexBoundary
In [14]:
B = BoundaryMesh(Magnetic.mesh(),"exterior",False)
print numpy.sort(B.entity_map(0).array().astype("float_","C"))
bb = numpy.sort(B.entity_map(0).array().astype("float_","C"))
print numpy.sort(B.entity_map(1).array().astype("float_","C"))
In [16]:
B = BoundaryMesh(Magnetic.mesh(),"exterior")
B.entity_map(0).array()
Out[16]:
In [13]:
Out[13]:
In [33]:
b = SparsityPatternBuilder()
In [2]:
B = EdgeFunctionBool(mesh)
In [12]:
B = BoundaryMesh(mesh,"exterior")
In [15]:
bb = B.entity_map(2).array()
print bb
In [24]:
k = 0
VertexBoundary = numpy.zeros(3*bb.size)
for face in faces(mesh):
if face.index() == bb[k]:
k = k+1
print "\nface", face.index()
for edge in edges(face):
print " edge", edge.index()
VertexBoundary[kk] = edge.index()
kk = kk+1
VertexBoundary
Out[24]: