The simulation requires two primary steps.
1) Minimize the discrete Dirichlet energy of the mesh.
2) Refine the polyhedral mesh to acheive a Delaunay triangulation.
The Dirichlet energy minimizing step is achieved by moving each vertex according to  :
And the Delaunay Triangulation is achieved according to the algorithm given in 
Circles on Cube Face
A mathematical helicoid on the left (area: 7.07275905) and one generated by SoaPy on the right (area: 6.84585756): (3.3%)
A mathematical catenoid on the left (area: 23.9908918) and one generated by SoaPy on the right (area: 23.9793856): (0.05%)
Delaunay Refinement Algorithms for Triangular Mesh Generation
Jonathan Richard Shewchuk
May 21, 2001
Department of Electrical Engineering and Computer Science
University of California at Berkeley
Berkeley, CA 94720
Computational Aspects of Discrete Minimal Surfaces
Konrad Polthier. Sept. 10, 2002
 U. Pinkall and K. Polthier. Computing discrete minimal surfaces and their conjugates.
Experimental Math., 2(15), 1993.