SolidPractices: Solver Selection

Revision History

Rev #DateDescription
1.0Sep 2020Updated and revised for use by customers. Changed document version to 1.0. Added new section ‘What Does “Solver Selection” Refer To’ for disambiguation. Updated performance benchmarks to include SOLIDWORKS 2020 and expanded existing sections.
1.1Sep 2022Document and performance benchmark data updated to reflect the current software release.

Note

All SolidPractices are written as guidelines. It is a strong recommendation to use these documents only after properly evaluating your requirements. Distribution of this document is limited to Dassault Systèmes SolidWorks employees, VARs, and customers that are on active subscription. You may not post this document on blogs or any internal or external forums without prior written authorization from Dassault Systèmes SolidWorks Corporation.

This document was updated using version SOLIDWORKS 2022 SP04. If you have questions or need assistance in understanding the content, please get in touch with your designated reseller.

Preface

Thanks to the implementation of new technologies, the performance and stability of the solvers available in the SOLIDWORKS Simulation Add-in have evolved rapidly. These technologies allow the software to make better use of the system resources available in contemporary computer hardware. Because key performance indicators (KPIs) such as the solve time depend on many factors in your study setup, there is not necessarily a single solver that is the “fastest” in all situations. Although a long-term goal is for the Automatic solver selection option to always pick the “best” solver for you, the ability to manually select a certain solver is likely useful for many years to come. This is especially true when you have an understanding of the strengths of each solver.

This document provides information and guidance for the solvers available in the SOLIDWORKS Simulation 2022 release. This information comes from countless interactions with customers and the SOLIDWORKS Simulation R&D team.

Your Feedback Requested

We would like to hear your feedback and suggestions for new topics. After reviewing this document, please take a few minutes to fill out a brief survey. Your feedback will help us create the content that directly addresses your challenges.

What Does “Solver Selection” Mean?

The terms “solver selection,” “choice of solver,” “solver option,” and “solver setting” can mean different things to different people. The meaning often depends on the context. This document refers specifically to the available equation solvers, for example the Intel Direct Sparse (IDS) solver and the FFEPlus Iterative solver. These two equation solvers differ in how they process the stiffness matrix for a Finite Element Analysis (FEA) problem. Equation solving is only one of the tasks that occurs (sometimes more than once) when you run a study. It is not the only task that occurs during solving. For example, “forming surface-to-surface bonding” is a separate task that can occur when you run a study. Although SOLIDWORKS Simulation solvers manage this task, the task itself is not a part of equation solving.

For reference, other possible meanings of terms like “solver option” that are not applicable to this document can include:

  • Study type, sometimes referred to as “analysis type.” For example, linear Static or Nonlinear.
  • Solution type. For example, Large Displacement.
  • Advanced settings for certain analysis types. For example, Control Method for nonlinear analysis.
  • Integration methods. For example, implicit or explicit.

Equation Solver Selection in SOLIDWORKS Simulation

The SOLIDWORKS Simulation Add-in offers several possible choices of equation solvers. To access all of the available choices for each study:

  1. Click a study tab to activate the study.
  2. Right-click the study name at the top of the SOLIDWORKS Simulation study tree.
  3. Click Properties to access the study properties.
  4. Select the Manual option in the Solver 🡪 Selection section of the Options tab, use the drop-down menu to specify a solver, then click OK. Hover over More solvers to see additional choices.
, in which case a decision message with a Yes or No button may appear.
  • Silent, in which case you may notice (after clicking the More button in the solver progress dialog) that the software shows a different solver than the one you selected.

For example, if you specify the FFEPlus solver in the following situations, the software may override your selection and use the Intel Direct Sparse (IDS) option instead. This is not a comprehensive list.

  • Bonding in a mixed mesh frequency analysis. A mixed mesh analysis means that the solver processed more than one of the four types of elements available in SOLIDWORKS Simulation (solid, shell, beam, truss). For example, a study with both solids and shells is a mixed mesh analysis.
  • Selected base excitation defined in a linear dynamic study.
  • Frequency analysis where loading (such as gravity or external forces) is applied.

The following table provides comparative information based on tests and observations by the SOLIDWORKS Simulation Technical Support team. The order of the solver choices in the table does not necessarily correspond to the order that the options appear in the user interface (UI).

Solver ChoiceStrengthsLimitationsComments
AutomaticEasyMight not always choose the fastest or most stable solver for the studyImproved in version 2021 and 2022 to consider available memory and other factors (for certain study types).

This is the default solver choice for new studies (if you do not customize user settings).
FFEPlus

Very efficient, and requires fewer system resources compared to Direct Sparse (DS) or Intel Direct Sparse (IDS)

Unmatched speed in particular for less complex studies without contact

More often than not, the best choice for studies with more than 1,000,000 degrees of freedom (DOF)

Does not support certain combinations of analysis features, and may switch to a different solver either interactively or silently

More susceptible to solver convergence difficulties compared to IDS

Less tolerant of poor mesh quality than IDS

Not the best choice when multiple materials with drastically different properties are present

Uses an iterative method of solving which does not require matrix inversion and therefore solves larger models faster and with more efficient memory management than IDS.

Does not typically stress system resources (like CPU cores and RAM) as much as IDS.

Solver ChoiceStrengthsLimitationsComments
Intel Direct Sparse (IDS)

Much faster and better at memory management than DS

May be the fastest solver for small studies with less than 500,000 DOF, especially on high-performance systems

Includes the most recent technologies that can be implemented in SOLIDWORKS Simulation

Not always as fast as FFEPlus for studies with more than 500,000 DOF, even on high-performance systems

Can fail on systems with limited memory, especially when solving studies with more than 5,000,000 DOF

Makes the most of available CPU resources and is therefore often preferable by those with high-performance systems. Capable of solving studies with more than 5,000,000 DOF, but this may require more than 32 GB available RAM.
Direct sparse solver (DS)Prior to the introduction of IDS, DS was preferred by long-time users for its reliability

Not compatible with all of the latest available performance improvement technologies

Slows down dramatically with increasing study size, and is therefore not the best choice for solving larger studies with more than 1,000,000 DOF

Very memory-intensive

Generally used only as a backup choice if IDS fails. This legacy option is versatile, robust, and stable in handling a variety of analysis features by directly solving the matrices (using matrix inversion) used for the numerical FEA solution.

Can be susceptible to memory allocation size limits – likely to fail when solving larger studies. Try IDS instead of DS for larger studies if FFEPlus is not a feasible choice.

Large Problem Direct Sparse (LPDS)May overcome DOF limitations of DS and IDS in situations where you cannot use FFEPlus (e.g. because FFEPlus does not support a certain combination of analysis features)Almost always the slowest of all solvers

Can require a significant amount of free disk space
Introduced in SOLIDWORKS Simulation 2014. An alternative to the IDS and DS solvers, best used in studies with more than 1,000,000 DOF. Uses disk space as a supplement to RAM. For many, this solver choice is a last resort.

This table provides general information that complements (not replaces) the documentation in the SOLIDWORKS Simulation Help topic Simulation Studies > Analysis Solvers. This information should not be the only factor you consider in deciding which solver is best for any given application.

The Importance of Performing Your Own Tests

Based on the tests and observations of the SOLIDWORKS Simulation Technical Support team, it is not always easy to predict the fastest solver for any given study. Many factors play a role. For example, the speed and number of available CPU cores, the amount of memory (RAM), the DOF count of the mesh, the type of study, the types of elements in the mesh, the type of bonding, and all other properties and features (connectors, contact sets, etc.).

In the simplest case of static study with a single body, solid mesh, no connector, and no contact, the FFEPlus solver is generally fastest. However, for smaller studies, IDS may be even faster. When models and studies are more complex, it becomes more difficult to predict the fastest solver. Consequently, although it is possible that for static studies, the FFEPlus solver is generally the fastest, be aware that this is not always the case.

The following test results for the Basketball_Hoop.SLDASM SOLIDWORKS Simulation tutorial model serve as an example of the performance observed for one specific static study. It is a good illustration of the benefits of careful solver selection.

contacts. It was solved using the different solvers with various levels of mesh refinement. The studies ran on an enterprise-level, high-performance workstation from a popular brand name vendor. The system features 512 GB of RAM and two eight-core Intel Xeon Gold 6244 CPUs (16 total physical CPU cores) with a base clock speed of 3.6 GHz and a maximum “turbo” clock speed of 4.4 GHz.

This system was used for these performance tests to eliminate as many potential hardware limitations or “bottlenecks” as possible, such as insufficient RAM, slow CPU clock speed, and slow disk read speed or write speed. The solve times from this system are therefore more closely representative of the software capabilities when not restricted by hardware.

The specifications of this system greatly exceed the system requirements for SOLIDWORKS. The specifications are also generally excessive compared to what is common among casual, or even “power users” of the SOLIDWORKS Simulation application. To learn how both hardware and software influence SOLIDWORKS Simulation performance, how you can make your study solve faster regardless of your current system environment, and what you can do to help shape future improvements to the product, visit MySolidWorks and browse to 3DEXPERIENCE WORLD 2020 Technical Session "Tuning Your SOLIDWORKS Simulation Study & Hardware to Maximize Performance."

Test NumberNumber of DOFDirect Sparse (DS)FFEPlusLarge Problem Direct Sparse (LPDS)Intel Direct Sparse (IDS)Automatic
1360,8970:04:480:02:530:08:550:02:020:02:53
2603,9510:10:470:05:120:18:510:05:320:05:09
3800,6190:16:360:07:230:27:470:08:300:07:36
41,291,0050:34:310:11:420:55:250:17:320:11:38
51,914,4261:04:050:18:181:38:020:32:420:18:19
62,975,970[Failed to solve]0:31:133:10:281:06:410:31:29

The color shading in this table indicates the relative value of that cell compared to the value of the cell with the largest and smallest value. For example, the shortest solve time among all of the tests was Test Number 1 using IDS, with a value of 0:02:02 (2 minutes, 2 seconds). This cell has a dark green color indicating that it is close to the smallest global value. The longest solve time among all of the tests was Test Number 6 using LPDS, with a value of 3:10:28 (3 hours, 10 minutes, 28 seconds). Note that with an increasing number of DOF, the solve time increases most dramatically for LPDS and DS. You can also see that the solve times for the Automatic solver are very similar to the solve times for the FFEPlus solver. This suggests that the Automatic solver algorithm chose FFEPlus, and in every test except Test Number 1, FFEPlus was indeed faster than the other solvers.

Consider a scenario where you are running a study similar to Test Number 4 (1,291,005 DOF) using the LPDS solver, which takes almost an hour. You then try the IDS solver to determine if it is faster, and find that the study now takes less than 18 minutes – an improvement of almost 70%. However, unless you also try the FFEPlus solver for this study, you might not realize that FFEPlus is 30% faster than IDS. Note also the vast range of solve time between the different solvers, especially for Test #4-6. Imagine how much cumulative time you can save if you select the fastest solver from the beginning.

For nonlinear studies, it is even more difficult to identify and generalize solver performance trends. One reason in particular is that depending on the solver you select, the number of steps taken by the solver (with activation of automatic time stepping) can vary significantly.

Therefore, the only way to be certain that you have selected the best solver for your particular study is to perform your own comparative tests using different solvers on your actual system. This is because although we can generalize some known facts about the solvers and observe certain trends in limited test data, there is no way to fully account for all the factors that affect solver performance. Remember that in addition to the details of the model and study setup, hardware factors such as the CPU clock speed, the number of available CPU cores, and the amount of available physical memory can affect the relative performance of the different solvers.

It is impractical to compare the performance of each solver for every study because the total time spent on testing would far exceed the amount of time it takes to solve even with the slowest choice of solver. Therefore, a reasonable approach is to run solver performance tests on several representative models and studies to get a general sense of solver performance. You can then extrapolate this information to other similar models and studies to allow for a more informed decision regarding solver selection.

Consider this: If you know that you will run the same study (or variations thereof) many times, the return on investment for identifying the fastest solver may be very favorable.

For suggestions about how you can perform your own comparative tests to identify the best solver for your study, see DS Knowledge Base QA00000119983 (legacy Knowledge Base solution ID S-069350). In addition, review DS Knowledge Base QA00000104947 (legacy Knowledge Base solution ID S-018633) for the latest information about SOLIDWORKS Simulation usage of multiple CPU cores.

Additional Tips for Making the Best Choice

  • You can change which solver is specified by default when you create a new study by changing the Default Solver selection under Simulation > Options > Default Options.
  • The best KPI for solver performance is the solve time. Performance metrics like CPU Usage shown in system resource monitoring utilities like Task Manager do not necessarily correlate to solve time. Multithreading and the use of multiple CPU cores while solving is not necessarily the most efficient way to maximize performance in all areas of the code.
  • Try the FFEPlus solver for less complex static studies. For smaller studies less than 500,000 DOF, you might find that the IDS solver is even faster than FFEPlus.
  • For medium-sized problems (between 500,000 and 1,000,000 DOF), the amount of RAM that IDS requires for solving begins to grow rapidly and significantly with an increasing number of DOF.
  • Avoid the DS solver for larger problems (more than 1,000,000 DOF). Instead, try either IDS or FFEPlus. If the study still cannot solve, try reducing the number of DOF by excluding less important components from the study, or try LPDS. You can also try a larger global element size with additional mesh controls to refine the mesh more selectively. Using draft quality elements instead of high-quality elements allows you to test whether less DOF allows a study to succeed.
  • The FFEPlus solver needs only about 1 GB of RAM to solve a linear static study with 2,000,000 DOF.
  • IDS and DS might display a message about switching to LPDS if they are at risk of exhausting the available RAM or encountering other limitations.
  • IDS might be less likely to fail than FFEPlus for studies involving one or more of the following: incompatible bonding, connectors, contact, contact with friction, and models with multiple materials with dissimilar stiffness.
  • The FFEPlus solver is the best choice for a frequency study where the model is not fully restrained (has rigid body modes, for example a free-free frequency analysis).

We hope that you find this document informational and useful and request that you leave a brief feedback about the topics that you want us to cover in the next revision of this document. Click here for a complete list of SolidPractices documents available from DS SOLIDWORKS Corp.