Вы находитесь на странице: 1из 9

Solver Selection

SolidWorks Simulation 2012 SP4


November 1, 2012
Revision 3.0



















3
D
S
.
C
O
M


D
a
s
s
a
u
l
t

S
y
s
t

m
e
s


|


C
o
n
f
i
d
e
n
t
i
a
l

I
n
f
o
r
m
a
t
i
o
n


|


0
1
/
0
2
/
2
0
1
2


r
e
f
.
:

D
o
c
u
m
e
n
t
_
R
e
f
e
r
e
n
c
e

|


2
Table of Contents


1. Solver Options in SolidWorks Simulation.............................................................................................. 4
2. Tips and Facts to Consider for making the best choice ........................................................................ 4
3. Appendix: Usage of multiple CPUs and cores, and influence on solution time .................................... 6
a) Static Study performance comparison when using 1 through 12 cores ........................................... 6
b) Quad core versus single core comparison for Static, Frequency, Buckling, Thermal, and Nonlinear
Studies ....................................................................................................................................................... 7
c) Drop Test Studies .............................................................................................................................. 7
d) Fatigue Studies .................................................................................................................................. 8
e) Optimization Studies ......................................................................................................................... 8
f) Linear Dynamic Studies ..................................................................................................................... 8
g) Pressure Vessel Design Studies ......................................................................................................... 8
h) Notes ................................................................................................................................................. 8



3
Revision History
Rev # Date Description
1.0 June 2010 Document created.
2.0 Aug 2011 Document modified.
2.1 June 2012 Document modified with new template.
3.0 November 2012 Document updated for SolidWorks 2012, including benchmarks in appendix.
















Note
All SolidPractices are written as guidelines. You are recommended to use these documents only
after properly understanding customer situation. Distribution of this document is limited to DS
SolidWorks employees and VARs.

4
1. Solver Options in SolidWorks Simulation
In general, there are three Solver options in SolidWorks Simulation which are listed below in
bullet points. The selection for a particular study can be changed by accessing the study
properties (Right Click on the study name in the Study Tree and select Properties).
Automatic: The most general option and lets the program automatically select the most
appropriate of the two solvers (Direct Sparse or FFEPlus).
Direct Sparse: Versatile, robust, and stable in handling a variety of analysis features by
directly solving the matrices (using matrix inversion) used for the numerical FEA
1

solution.
FFEPlus: Uses an iterative method of solving which does not require matrix inversion
and therefore allows larger models to be solved faster and with more efficient memory
management than Direct Sparse. However, the FFEPlus solver can be more susceptible to
difficulty in solver convergence and stability.
Please note that the program may not actually launch the user-selected solver if that solver
doesn't support one or more of the analysis options and/or features of the analysis. Typically this
is seen when FFEPlus has been selected, but Direct Sparse is launched instead since FFEPlus
does not support certain combinations of study features. Some examples where this may occur
are: using local bonded contact
2
in a mixed mesh
3
frequency analysis, having selected base
excitation
4
defined in a linear dynamic study, and in a frequency analysis where loading (such as
gravity or external forces) is applied.
2. Tips and Facts to Consider for making the best choice
The most general recommendation is to use Direct Sparse if the system has multiple
CPUs and enough RAM to solve the analysis (in linear static studies, about 1 GB of
RAM is required by the solver for an analysis with 200,000 DOF
5
)
Direct Sparse and FFEPlus are both equally efficient and fast for smaller problems
(25,000 DOF or less)

1
FEA refers to Finite Element Analysis the numerical method Simulation uses for solving real world problems.
2
Local bonded contact refers to a bonded contact set defined between explicit entities, for instance having a
contact set defined between two faces to keep them connected. This is different than having a global component
bonded contact where a component contact has been applied to the entire assembly.
3
Mixed mesh implies that of the four types of elements available in SolidWorks Simulation (solid, shell, beam,
truss), there are two or more types present in a given study. For instance, a study with both solids and shells would
be considered mixed mesh.
4
Selected base excitation is a type of external load in linear dynamic analysis.
5
DOF means Degree of Freedom. In Simulation, this concept is used in terms of number of DOF based on the
analysis type, number of nodes from the created mesh, and how the nodes are restrained. For a structural analysis
(such as a static study), solid and truss elements have three DOF per node (translation in three orthogonal
directions), while shells and beams have six (three translation plus three rotational directions). Thermal studies are
unique in that each node will have just one DOF regardless of element type (scalar value of temperature). In the
context of what appears in the solver status details, DOF is the number of unknowns (variables) being solved.

5
For medium sized problems (between 100,000 and 300,000 DOF), the amount of RAM
Direct Sparse requires to solve begins to grow rapidly and significantly with an
increasing number of DOF
Consider FFEPlus for large problems (more than 300,000 DOF), especially if using a 32
bit machine in order to prevent the solver from having to use the systems Page File
6

The FFEPlus solver will need only about 1 GB of RAM to solve a linear static study with
2,000,000 DOF
If Direct Sparse doesnt have enough RAM available during the solving process, it may
show an Out of core message and the solver progress will slow down significantly due
to use of the Page File
Direct Sparse can be faster and more accurate for problems involving one or more of the
following: incompatible bonded contact, connectors, no penetration contact, contact with
friction, models with multiple materials with dissimilar stiffness
In general, Direct Sparse is more efficient than FFEPlus at taking advantage of multiple
processors/cores (see Appendix for details)
Consider FFEPlus for a frequency study where the model is not adequately restrained
(has rigid body modes
7
)
Direct Sparse must be used in frequency studies if any kind of loading is included
Direct Sparse is generally preferred for nonlinear studies, though it may be necessary to
use FFEPlus if the model is too large for the computer to handle Direct Sparse
It is possible to change which solver is selected by default for a new study by changing
the Default solver selection under Simulation Options Default Options






6
The Page File is an area of the computers hard drive reserved for writing and reading temporary data which cannot
be stored in the RAM virtual space, usually due to a lack of available RAM.
7
Rigid body Mode refers to a type of motion in a Simulation study where a component is free to translate or rotate
in a given direction without any deformation because no restraints or bonding have been defined that would stabilize
or prevent that specific motion. This is a source of instability and can cause solver failure.

6
3. Appendix: Usage of multiple CPUs and cores, and influence on
solution time
a) Static Study performance comparison when using 1 through 12 cores

Tests were performed using SolidWorks Simulation 2012 SP4.0 on several 64 bit machines with
dual hex (six) core processors resulting in a range of 1 to 12 physical cores available to the solver
(with hyper-threading disabled). These results are presented in the graph below as normalized
factors, where a normalized performance factor of 1.0 corresponds to the base benchmark
single core solve time for each solver. The tests were composed of static studies in several
different models, so the result value for each number of cores data point below is the mean of
the normalized factor results for various models, across several machines. The data is presented
in a single concise and simplified graph, showing results for both the Direct Sparse and FFEPlus
Iterative solvers. Please note that this data is not a comparison of absolute solve times between
Direct Sparse and FFEPlus, but rather to highlight the effect of multiple cores on the relative
benchmark single core solve time of the respective solver.

The results of these tests suggest that running Static studies using the Direct Sparse solver gives
a significant improvement in performance with an increasing number of CPU cores for
instance, the time to solve with 6 cores was less than 1/3 the time to solve with 1 core. Beyond 6
cores, however, the performance improvement with each additional core becomes rather
diminishing. It should be noted, however, that the time to solve with 12 cores was about half of
the solve time with 6 cores so no persistent performance bottleneck was observed. The
FFEPlus Iterative Solver on the other hand does not show a consistent improvement in Static
0.00
0.10
0.20
0.30
0.40
0.50
0.60
0.70
0.80
0.90
1.00
1 2 3 4 5 6 7 8 9 10 11 12
N
o
r
m
a
l
i
z
e
d

S
o
l
v
e

T
i
m
e

Number of Physical CPU Cores
Solve Time Comparison for Static Studies
FFEPlus Solver
Direct Sparse Solver

7
study performance beyond 4 cores. Furthermore, the time to solve with 4 cores was about 2/3 the
time to solve with 1 core.

b) Quad core versus single core comparison for Static, Frequency,
Buckling, Thermal, and Nonlinear Studies

The table below shows the percentage improvement in time taken to complete solving of various
static for several models when four cores were allowed compared to when just one core was
permitted for the respective solver. The data was obtained using test cases in SolidWorks
Simulation 2012 SP4.0 on a Windows 7 x64 Dell Precision T5500 with Quad Core Intel Xeon
X5550 @ 2.66 GHz, 12 GB RAM.
The following formula was used to compute percent improvement in time to solve when
comparing the use of four cores versus only one:
% Improvement = [(solve_time_1core) (solve_time_4core)] / (solve_time_1core)

Study Type % Improvement in time to solve
when using 4 cores vs. 1 core
Direct Sparse FFEPlus
Static 72% 5% 35% 10%
Frequency 6% 1% 46% 1%
Buckling 6% 1% 53% 3%
Thermal 70% 10% (none)
Nonlinear (none) 10% 10%
The results of these studies suggest that the Direct Sparse solver shows the biggest potential for
improved multicore performance when running Static and Thermal studies. The FFEPlus solver
on the other hand shows the significant benefits for multicore performance in Frequency and
Buckling studies. For Nonlinear studies, in some cases the FFEPlus solver showed slight
improvement in time to solve. However, in general, the Direct Sparse solver is preferred for
Nonlinear problems since it can handle nonlinearities better than FFEPlus and is generally less
prone to convergence difficulties.
c) Drop Test Studies
Only one solver type available, test model used only one core.

8
d) Fatigue Studies
Only one solver type available. Although the fatigue solver itself uses only one core, preparing to
run a fatigue study involves setting up and running one or more static studies. Since static studies
do benefit from multiple cores, users doing this type of analysis would see an overall
improvement in time to perform a fatigue analysis on a multi-core machine.
e) Optimization Studies
The majority of time spent solving an optimization analysis is taken up by running design
iterations of other Simulation studies based on linked variables (parameters), constraints, and
goals. Since the user can specify which solver type they wish to use for each of the studies,
performing an optimization analysis on a multi-core machine would typically show improvement
in performance over using just a single core machine.
f) Linear Dynamic Studies
The actual dynamic analysis and stress calculations use special solvers that used only one core in
testing. However, performing a linear dynamic analysis involves first finding resonant
frequencies, which did show performance improvement when implementing more than one core
if using the FFEPlus solver.
g) Pressure Vessel Design Studies
The majority of the time taken to complete a pressure vessel analysis is running the respective
static studies that you wish to combine. When performed on a single core, the actual calculations
for combination of results only make up a small percentage of the total analysis time. As a result,
a user with a multi-core machine would see an overall improvement in time to perform a
pressure vessel design analysis.
h) Notes
When looking at CPU usage in Task Manager on a system that has one CPU with four
cores for instance, 100% indicates that all four CPUs are being used at maximum
capacity. 25% indicates that one CPU is being used at full capacity.
Direct Sparse showed the greatest improvement in performance during the matrix
decomposition stage of solving, where the total CPU usage was 99% for most of the
testing.
Even for solver stages or study types which use only one core, there is still a minor
benefit to having more than one CPU since it makes it possible to allocate an entire core
to the solver while leaving background applications and system processes to use their
own separate cores.
Hyper-Threading (splitting a physical core into two virtual cores) is not recommended.
No significant performance benefit has been observed in testing, while on the other hand

9
there have been some known solver stability issues caused by hyper-threading. This
setting can typically be disabled through the system BIOS.
Some studies show usage of more than one CPU only for certain stages of the solver.
Multistep analysis such as nonlinear can have significant differences in multi-core
performance between models depending on geometry, setup, number of contacts, etc.

Вам также может понравиться