6 Replies Latest reply on May 28, 2008 7:28 PM by Bill McEachern

    How can I determine if my analysis will ever finish?

    Adam Sandler
      I'm running (at least trying to run) a static analysis on a rather large assembly. I coarsened the elements and applied enough mesh controls that I finally got it meshed. I had something like 1.3 million elements and a ridiculous number of DOFs. Not surprisingly, when I left it to run overnight, I maxed out my ram (4GB in 32 bit system).

      I just coarsened the mesh even further and got it down to 300K elements, 430K nodes, 1.2 million DOFs. It's been running for 1.5hrs and the PF usage seems to have leveled off at just over 2GB. Does this mean the analysis will actually finish this time? And if it does finish how much more can I refine the mesh to see if the results converge?

      I guess what I'm asking is how do I determine how big a problem I can run on this system?

      And what is the best solver for this size problem? I thought the FFEplus was more RAM efficient for large problems, but when I maxed out the ram the message said to run again with direct sparse??? And then to make the choice of solver harder the KB says that with upward of 1million DOF a dual core processor should run much faster with the direct sparse than with the FFEplus, but it also says that direct sparse will consume ~10x more ram for the same number of DOF. And I've been told that with many contact sets the FFEplus losses accuracy. This makes the choice of solver non-trivial.

      Any help / suggestions would be greatly appreciated,
        • How can I determine if my analysis will ever finish?
          Michael Atlas
          First you said Static, then you mentioned Contact sets.
          Exactly what is in your model?
          Is it static with Contact, static Non-linear, Static Non-linear with contact?, etc.

          Each makes the solution more complex and less likely to succeed. A pure linear static without contact would probably do well with 300K elements.

          A non-linear with contact uses almost 4G of RAM when run on my X64 machine and will basically not run at all on an XP 32 machine, and that is with only a bit over 100,000 elements.

          Good Luck.

          • How can I determine if my analysis will ever finish?
            One thing you can do is turn on "Use soft springs to stabilize the model". This will prevent the different error messages that are attributed to rigid body motion in an assembly where you do not have contacts where you think you do. You would have to look at a displacement plot after the run to verify you do not have a part flying off in space.
            • How can I determine if my analysis will ever finish?
              Fernando Cuenca
              For big studies like this one the best solver is Direct Sparse. It is more efficient and you will get your results faster.

              I've never seen an study run out of memory during the solution. I even thought that the solver was loading pieces of the problem at a time and solving them, so I thought there was no limit as to how many dof's you had in the study, it would just take longer the more DOFs you had.

              A complex assembly will take time, 5 hours is not long really. Unless you get an error, the solver is working on it.
                • How can I determine if my analysis will ever finish?
                  Adam Sandler
                  Thanks Fernando, I'll try the direct sparse solver next time. I new it was better for all the contact in this assembly and to take advantage of dual processors but I thought it ate up more ram.

                  Unfortunately this analysis did not finish. I let it run for 23 hours. All day yesterday it said ~65minutes remaining while it was solving the contact conditions, but when I came in this morning it said 155hours remaining. I killed it there. I don't think this assembly can be analyzed in one go. To get it down to 1.3 million DOF I had to use an unreasonably coarse mesh. I think I will have to break it up and use reaction forces from one step as loads in the next.

                • How can I determine if my analysis will ever finish?
                  Bill McEachern
                  Hi Adam,

                  I would run with the FFE solver. If there are not large differences in stifness of the various components it will produce decent results though if the mesh is pretty course at the contacts then the contacts stresses will not be wel resolved.

                  I would just coarsen up the mesh to get an answer and then refine once that happens. I would also run the problem first with the draft elements as a first pass test to ensure that the contacts are working and stable - it runs very much faster than using the tet10's (high quality element) and I would run it with as low a density mesh as you can arrange. Once you get this working switch to the tet10's.

                  Large contact problems that do not run in core can take a mind numbing amount of time to solve if there are unrestrained degrees of freedom - ie somehting is moving. If the graphs from the FFE solver are not running more or less down hill it is indicative that something might be moving. You have a couple of options - you can put on soft spring and just wait and see what you get - you might find out what is moving once you get an answer. Or, you can remove the contacts and leave them as free and add a restraints to once side of the contact to simulate the presence of the contact (say on the bearing disc - no displacements normal to face) and see if it solves (ie you don't get a matrix singular error - or insufficient restraints error).

                  If that works out and you are sure nothing has the ability to move without some stiffness attached to it (using light springs to ground can be usefull) it should run relatively quickly (say over night) provided it is running in core but hey that is just a SWAG (Scientific Wild Ass Guess). You will know you are running the whole problem in core if the solver window says there is only one stiffness block. Sometimes it will just say out-of-core-solution and then you can expect it to take a very very long time.

                  I ran a 1.7MDOF problem on my 8GB quad core in about 6 minutes (though it didn't have any contacts defined) using the sparse solver. I think it used like 5GB of RAM peak. I have done 3 MDOF problem a while ago on a single processor 32 bit machine usinghte FFE solver. It ran really fast - like 5 minutes but again no contact. Contact iterations can take a very long time and if not enough elelemts are used they can be unstable - tets are not the best choice for contact convergence stability but the static analysis solver is pretty robust on this front I have found.

                  Hope that helps

                  I believe the 3 GB switch is supported in 2008 as well - talk to the support guys before you try that one though.