SolidPractice Information
Domain and Role/Product
SOLIDWORKS Simulation
What's Covered? - Jump to each section using the Contents List in the top right!
- What Does “Solver Selection” Mean?
- Equation Solver Selection in SOLIDWORKS Simulation
- The Importance of Performing Your Own Tests
- Additional Tips for Making the Best Choice
Revision History
Rev # | Date | Description |
---|---|---|
1.0 | Sep 2020 | Updated 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.1 | Sep 2022 | Document and performance benchmark data updated to reflect the current software release. |
2.0 | Sep 2024 | Document and performance benchmark data updated to reflect the current software release (2024 SP4). Benchmarks expanded to show effect of license. |
3.0 | May 2025 | Document formatted for 3DSwym |
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.
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.
1) 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.
2) 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.
3) 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:
- Click a study tab to activate the study.
- Right-click the study name at the top of the SOLIDWORKS Simulation study tree.
- Click Properties to access the study properties.
- 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.
Not all solvers are available for all study types, and in some cases the software may switch to another solver if certain features or options are active in a study. This switch can be:
- Interactive, 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).
NOTE: SOLIDWORKS Simulation 2023 SP5 was the last release to support selection of the Direct Sparse (DS) solver. This legacy solver predated the Intel Direct Sparse (IDS) solver, which uses newer technology than Direct Sparse (DS) did.
Solver Choice | Strengths | Limitations | Comments |
---|---|---|---|
Automatic | Easy (lets the software make the decision for you) | Might not always choose the fastest or most stable solver for the study | Improved 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 | 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. |
Intel Direct Sparse (IDS) | Includes the most recent technologies that can be implemented in SOLIDWORKS Simulation May be the fastest solver for small studies with less than 1,000,000 DOF, especially on high-performance systems Generally more numerically stable than FFEPlus
| Not always as fast as FFEPlus for studies with more than 1,000,000 DOF, even on high-performance systems Can fail on systems with limited memory, especially when solving studies with more than 2,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. |
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 (only used when neither FFEPlus nor IDS can solve a study). |
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.
4) 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.
The table and corresponding chart below show the solution time (h:mm:ss) to run a static study of this model in the SOLIDWORKS Simulation 2024 SP4.0 software. The study has a solid mesh, bolt connectors, and node to surface contacts. It was solved using the different solvers with various levels of mesh refinement.
The license level of SOLIDWORKS Simulation affects performance (see QA00000124010). For this reason, after testing with a SOLIDWORKS Premium (“SW Prem”) license, all tests were repeated with a SOLIDWORKS Simulation Premium (“SIM Prem”) license.
The color shading in the 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 solution time among all of the tests was Test Number 1 using IDS (SIM Prem), with a value of 0:01:38 (1 minutes, 38 seconds). This cell has a dark green color indicating that it is close to the smallest global value.
The longest solution time among all of the tests was Test Number 6 using LPDS (SW Prem), with a value of 3:14:08 (3 hours, 14 minutes, 8 seconds). Note that with an increasing number of DOF, the solution time increases most dramatically for LPDS. You can also see that the solution times for the Automatic solver are almost identical to the solution times for the FFEPlus solver. This suggests that the Automatic solver algorithm always chose FFEPlus for this study setup. Interestingly, IDS was actually faster than FFEPlus for tests 1-3.
Consider a scenario where you are running a study similar to Test Number 4 (1,291,341 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 16 minutes – an improvement of more than 70%. However, unless you also try the FFEPlus solver for this study, you might not realize that FFEPlus is ~25% faster than IDS. Note also the vast range of solution 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.
The solution time data shown in the aforementioned table and chart demonstrates the capabilities of 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. The hyperthreading option was intentionally disabled.
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 solution 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. See 3DEXPERIENCE World 2023 Technical Session "Maximizing SOLIDWORKS Simulation 2023 Performance: Hardware and Study Setup - IC686075" to learn:
- How both hardware and software can influence SOLIDWORKS Simulation performance.
- How you can make your study solve faster regardless of your current system environment.
- What matters most for system component specifications like CPU, storage, and RAM.
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.
5) 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 > Solver and Results.
- The best KPI for solver performance is the total solution time. Performance metrics like CPU Usage shown in system resource monitoring utilities like Task Manager do not necessarily correlate to solution 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 1,000,000 DOF, you might find that the IDS solver is even faster than FFEPlus.
- For studies in excess of 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.
- For larger problems (more than 1,000,000 DOF) consider trying FFEPlus before you try IDS. If the neither solver allows the study to succeed, 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. The IDS solver may need as much as 20 GB for the same study.
- IDS might display a message about switching to LPDS if it is 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: complex or extensive interactions, connectors, contact interactions 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 deliberately not fully restrained (has rigid body modes, for example a free-free frequency analysis).
Your Feedback Requested We would like to hear your feedback and also 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.