Simple surface contact between different volumes

Contact is not a simple problem if you want it to work with MPI.
Some references can be found at: How can I correct collisions and preserve mesh during dynamic simulation? - #8 by dokken