I've been working on a nonlinear analysis that's proven to be more frustrating that I anticipated. I had a linear static analysis of the same model completing within about 3 minutes for some deflection information. I wanted to run a nonlinear analysis with a displacement input, but it was taking hours and hours to work thought 1 or 2 time steps. Something didn't seem right, and I suspect my contacts or displacement input was a culprit.

So, I set up my nonlinear analysis to be an exact copy of the linear analysis (except that it was nonlinear, of course). Same material definitions, same loads, restraints, mesh, etc. And, still it churns for an obnoxious amount of time before I cancel it. It seems to be spending all the time on contact interations.

I theorized that the only difference could be the time-stepping and load stepping, so I played with these parameters a few times to see if I could get a different response. After that failed to make a difference, I tried making other changes to the analysis set-up to see what might work. Eventually, I switched to the FFE solver, and it worked. The entire analysis ran to completion within a few minutes.

Now I'm quite confused. I thought the direct sparse was supposed to be more stable, especially with non-penetration contacts. Also, the linear static analysis ran equally quickly with the direct sparse solver, so I wouldn't think that the nonlinear analysis would run several orders of magnitude slower with the same solver.

Solidworks recommends the iterative FFEPlus solver for nonlinear studies if the problem isn't small. The direct sparse is more stable for smaller problems but quickly gets very time consuming when the problem grows in my experience, especially in nonlinear studies with many nonlinear contacts.

How many DOF does your problem have?