top of page

This is the web version of a  simple demo program I use to explain the basic core Nucleus solver I wrote in the warm fall of 2005 in Toronto. Back in 2003 my employer (Alias) asked me to create a new cloth solver in MAYA. We had to replace a third party's solver that customers weren't happy with. I wrote many research prototypes. I decided to start simple and understand the challenges. I wrote this little demo to understand integration schemes. Maya had a softbody explicit solver that blew up and the aforementioned implicit solver that was too damped in non natural directions of the cloth, like the cloth is immersed in a dense liquid. A natural solution is to combine these two techniques somehow to strike a balance between unstability and excessive damping. Welcome to symplecitic solvers. The idea is to go implicit on velocity and explicit on positions. This is the type of integration that is used in Nucleus. You can see these integration techniques in the demo program. The symplectic is not unconditionally stable. Try typing in a time step bigger than 2 and you can see what I mean.

The symplectic solver is also full of surprises. Try typing in a time step of 1.0. What you get is a tilted hexagon. With a time step of sqrt(2.0) one gets a quadrilateral. Of course I wanted to know if one could compute  the time step that computes an arbitrary n-gon. Turns out it is doeable by computing eigenvalues and eigenvectors. The derivation is in my Nucleus paper below.

I gave an invited talk about Nucleus in Costa Mesa California at an IEEE applied science conference in 2006 and showed this demo. Gilbert Strang was in the audience and liked the demo. So much so that it is on the cover of one of his books called "Computational Science and Engineering". He sent me a free copy. In the lobby of the hotel, Cleve Moler the founder of matlab showed me that he had done exactly the same math to compute the time step for an arbitrary n-gon in the sixties.

On my publication page you can find more details in a paper on the Nucleus solver.

©2018-2026 by Jos Stam.

bottom of page