SOLIDWORKS Simulation: Which Solver should I use?


SOLIDWORKS Simulation provides users with several options when selecting a solver, they include: Direct Sparse, Intel Direct Sparse, Large Problem Direct Sparse, Intel Network Sparse, and FFEPlus. With all these options how does a user know which one is correct for their simulation study? Fortunately, SOLIDWORKS has a procedure to automatically select solvers.

Automatic Solver Selection

SOLIDWORKS uses the FFEPlus iterative solver by default unless certain conditions are present. Under these “certain conditions” the Direct Sparse solver will be chosen automatically. The solver may also change during the solve depending on the conditions encountered.

Listed below are a few determining factors when selecting the automatic solver option:

  • Amount of memory (RAM) available before launching the solver
  • Large displacement option
  • Presence of remote loads
  • Presence of connectors (especially bolt connectors)
  • Percentage of elements that are shells and bonded contact between shells, solids, and beams
  • Insufficient Memory (RAM) usage during the solve
  • Convergence during solving of no penetration contacts
  • Circular symmetry

A novice user should make use of the automatic solver option. As users become more experienced and as the complexity of their studies increase it is often appropriate to select which solver to use manually. Keep in mind that if the selected solver does not support the loads or fixtures in the study, then SOLIDWORKS will not use the selected solver or it will provide an error message.
The Direct Sparse/Intel Direct Sparse will automatically switch to Large Problem Direct Sparse if the solver reaches an integer limit. This includes, but is not limited to, the number of degrees of freedom (AKA number of equations) in the model where switching to Large Problem Direct Sparse typically occurs at more than 2 million degrees of freedom. SOLIDWORKS will switch from Large Problem Direct Sparse to Direct Sparse if the study contains a moderate amount of no penetration contacts. Let’s look at the different solvers!

Direct Sparse Solver

The Direct Sparse solver comes in a few different varieties, so I will explain each type separately. These types include: Direct Sparse, Intel Direct Sparse, Large Problem Direct sparse, and Intel Network Sparse.
The Intel Network Sparse solver is used to offload a single simulation study on to a networked computer. All Direct Sparse solvers use an exact numerical technique.

The Direct Spare solvers are less efficient in RAM than the iterative solver (FFEPlus), but must be used if certain fixtures and loads are used. Direct Sparse solvers need 1 GB of RAM for every 200,000 degrees of freedom in the model.

Use the Direct Sparse solver if:

    • Your computer has a sufficient amount of RAM; I would suggest 32 GB or more.
    • The study has no-penetration contacts, or if the study has a wide variance in material types.
    • The bolt-connector has no penetration contacts built into the connector and should be evaluated with a Direct Sparse solver.
    • You are using a load in a frequency study. Direct Sparse Required
    • You are using circular symmetry. Direct Sparse Required
        The final two circumstances


      • Direct Sparse.

Large problem and Intel Direct Sparse solvers improve solution time by taking advantage of enhanced memory-allocation algorithms and multi-core processing. To use the Intel Direct Sparse solver, the user must manually select the solver in the study properties. Direct Sparse solvers are recommended for Topology studies in particular. As for the Large Problem Direct Sparse, the user does not need to select this solver as SOLIDWORKS will automatically switch to it if the selected Direct Sparse solver encounters an integer limit. When models exceed 5.6 million degrees of freedom the Intel Direct Spare and Direct Sparse solvers may fail due to lack of RAM. This can occur even if some RAM is available because portions of the Direct Sparse Solver are in 32-bit code and therefore there are limitations on the amount of RAM that can be used. In these cases, the Large Problem Direct Sparse or FFEPlus solvers should be used.

Iterative Solver – FFEPlus

The FFEPlus solver is preferred for all study types except for Non-linear and Topology. This is due to the efficiency of the study. The FFEPlus uses advanced matrix reordering techniques. These techniques are approximate, in each iteration a solution is assumed, and iterations continue until error becomes acceptable. SOLIDWORKS uses either a maximum number of iterations or a stopping threshold to determine convergence between consecutive iterations (See Figure 1). The user may also view a convergence graph. Please note that the values P1-P5 do NOT represent principal stresses; rather, the error in the solution instead (See Figure 2).

SOlIDWORKS Simulation FFEPlus Solver Iteration Settings
Figure 1: Stopping Threshold or Max Iteration Settings
SOLIDWORKS Simulation FFEPlus PCG Convergence Graph
Figure 2: A convergence graph

For every 2,000,000 degrees of freedom, the FFEPlus solver requires 1 GB of RAM which is 10 times more efficient than the Direct Sparse solver. However, it is conceivable with modern computers that the FFEPlus solver could become less efficient if there are a significant number of processors available. The Direct Sparse solvers take advantage of all processors during decomposition, but the FFEPlus only uses multiple cores during the pre-conditioning phase. In general, use the FFEPlus solver if there aren’t any or very few “no-penetration” contacts and if the study has a minimal variance in material type.

Matthew Fetke, CSWE
Computer Aided Technology, Inc