Start chapter 9 on constrained PDEs with c9obstacle.c, which is a copy-and-edit from src/snes/examples/tutorials/ex9.c ... by me.