import numpy as np
import dolfin as fe
mesh = fe.UnitSquareMesh(1, 1)
V0 = fe.FunctionSpace(mesh, "DP", 0)
f0 = fe.Function(V0)
f0.interpolate(fe.Expression("x[0]", degree=1))
V1 = fe.FunctionSpace(mesh, "DP", 1)
f1 = fe.Function(V1)
f1.interpolate(fe.Expression("x[0]", degree=1))
V2 = fe.FunctionSpace(mesh, "P", 1)
f2 = fe.Function(V2)
f2.interpolate(fe.Expression("x[0]", degree=1))
cf = fe.CellFunctionSizet(mesh)
cf.set_all(1)
ff = fe.FacetFunctionSizet(mesh)
ff.set_all(1)
INSTANT_CACHE_DIR is no longer used by dijitso. To set the cache directory for dijitso, set DIJITSO_CACHE_DIR. --- Instant: compiling ---
ff.array()[0] = 2
ff.array()[2] = 3
ff.array()
array([2, 1, 3, 1, 1], dtype=uint64)
%matplotlib inline
import dolfin
import matplotlib.pyplot as plt
def facet_plot2d(facet_func, mesh_edges=True):
ax = plt.gca()
x_list = []
y_list = []
for facet in dolfin.facets(mesh):
mp = facet.midpoint()
x_list.append(mp.x())
y_list.append(mp.y())
if mesh_edges:
dolfin.plot(facet_func.mesh())
plt.scatter(x_list, y_list, s=400, c=facet_func.array(),
edgecolor='b', linewidths=1)
plt.colorbar()
facet_plot2d(ff)
facet_plot2d(ff, mesh_edges=False)