#!/usr/bin/env python # coding: utf-8 # In[1]: import numpy as np import dolfin as fe # In[2]: 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) # In[3]: ff.array()[0] = 2 ff.array()[2] = 3 # In[4]: ff.array() # In[6]: get_ipython().run_line_magic('matplotlib', 'inline') # In[7]: 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) # In[8]: facet_plot2d(ff, mesh_edges=False)