I downloaded docker and set it up using their script.

fenicsproject notebook testbook

creates a notebook


fenicsproject start testbook.

Starts a jupyter server.

You need to use python 2. Fenics is not installed for python 3 as far as I can tell.

I took the first example out of the tutorial book

You need

%matplotlib inline

in order to see the plots.

I installed solidpython which is a pythony version of openscad.


So you can output a scad file, but then you need to run openscad to convert it further.

brew install Caskroom/cask/openscad

puts it into an app folder and not in the path of the terminal

import os

os.system('/Applications/OpenSCAD.app/Contents/MacOS/OpenSCAD -o test.stl test.scad')

pip install numpy-stl



%matplotlib notebook

makes an interactive plot. nice.

gmsh is necessary. Perhaps a better tool chain would just use gmsh and ignore the scad stuff.



you can take a mesh from gmsh


first click add points. add them in in by pressing e.

thenadd line

the add plane surface.

add physical group to start labelling boundaries.

click 2d under mesh.

refine it a couple times maybe then save the .msh

dolfin-convert untitled.msh test.xml

This is an answer as to how to grab these xml files


So here’s a start


This is not the cleanest workflow.