Versions: All versions

Problem Description

I have a large, complicated, model that is not solving, or taking a long time to solve. What should I do?

Solution

There are a number of reasons why a model may not be solving, or solving very slowly. This article describes the different possible resolutions.

There are three classes of solvers: Stationary, Time-Dependent, and Eigenvalue. All study types are calling some form of these solvers. Stationary solvers can address problem types that are either Linear or Nonlinear. This information is shown in the Log.

If the problem is using the Stationary Linear , or the Eigenvalue, solver see Knowledgebase 1260, the recommendations therein also apply to Eigenvalue problems. If the issue is related to memory, as described in Knowledgebase 1030 then you will want to perform a scaling study to determine how much memory your model will need. Solve similar but smaller models, with fewer degrees of freedom (see: Knowledgebase 875 ) and monitor the degrees of freedom and memory used. This can be used to predict memory requirements for larger, similar, models.

If the problem is using the Stationary Nonlinear solver, then see: Knowledgebase 103 and work through all of the resolutions listed therein. For a very geometrically complicated nonlinear model it is especially useful as a first step to reduce the geometric complexity as a first step, as this usually will reduce the memory requirements and solution time.

If the problem is using the Time-Dependent Solver, then work through Knowledgebase 1262. Note that time-dependent models will have slightly higher memory requirements than a stationary problem with the same setup and number of degrees of freedom.

Keep in mind that, regardless of study type, you will also always need to perform a mesh refinement study: Knowledgebase 1261 which will increase memory needed.

For guidance on upgrading hardware, should you determine that you need it, see: Knowledgebase 866.