Commits

Anders Logg  committed 02b4f8b

Add missing file which mysteriously disappeared in a merge

  • Participants
  • Parent commits e965b73

Comments (0)

Files changed (1)

File demo/documented/mesh-generation/python/demo_mesh_generation.py

+# Copyright (C) 2012 Garth N. Wells
+#
+# This file is part of DOLFIN.
+#
+# DOLFIN is free software: you can redistribute it and/or modify
+# it under the terms of the GNU Lesser General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# DOLFIN is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU Lesser General Public License for more details.
+#
+# You should have received a copy of the GNU Lesser General Public License
+# along with DOLFIN. If not, see <http://www.gnu.org/licenses/>.
+#
+# First added:  2012-02-02
+# Last changed:
+#
+# This program generates a mesh for a polygonal domain that is
+# represented by a list of its vertices.
+# Modified 02-08-2013 Solveig Masvie
+# Begin demo
+
+
+from dolfin import *
+
+if not has_cgal():
+    print "DOLFIN must be compiled with CGAL to run this demo."
+    exit(0)
+
+# Create empty Mesh
+mesh = Mesh()
+
+# Create list of polygonal domain vertices
+domain_vertices = [Point(0.0, 0.0),
+                   Point(10.0, 0.0),
+                   Point(10.0, 2.0),
+                   Point(8.0, 2.0),
+                   Point(7.5, 1.0),
+                   Point(2.5, 1.0),
+                   Point(2.0, 4.0),
+                   Point(0.0, 4.0),
+                   Point(0.0, 0.0)]
+
+# Generate mesh and plot
+PolygonalMeshGenerator.generate(mesh, domain_vertices, 0.25);
+plot(mesh, interactive=True)
+
+# Generate 3D mesh from OFF file input (tetrahedron)
+PolyhedralMeshGenerator.generate(mesh, "../tetrahedron.off", 0.05)
+plot(mesh, interactive=True)
+
+# Generate 3D mesh from OFF file input (cube)
+PolyhedralMeshGenerator.generate(mesh, "../cube.off", 0.05)
+plot(mesh, interactive=True)